Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Mollik2017-08-28 15:42:37 +0000
committerRalf Mollik2017-08-28 15:42:37 +0000
commit0440d0689af13fb6f5df663476c1aa2c67a4e44e (patch)
tree3181d5e85a16a186b6d69de962edcd5c0bf9f94a
downloadorg.eclipse.osbp.xtext.strategy-0440d0689af13fb6f5df663476c1aa2c67a4e44e.tar.gz
org.eclipse.osbp.xtext.strategy-0440d0689af13fb6f5df663476c1aa2c67a4e44e.tar.xz
org.eclipse.osbp.xtext.strategy-0440d0689af13fb6f5df663476c1aa2c67a4e44e.zip
parallel ip - initial checkin
Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
-rw-r--r--.project17
-rw-r--r--about.html28
-rw-r--r--jenkins.build.config.xml27
-rw-r--r--notice.html107
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/.project29
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/LICENSE.txt161
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/build.properties2
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/epl-v10.html259
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/feature.properties169
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/feature.xml52
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/license.html164
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/pom.xml92
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/src/main/javadoc/README.txt1
-rw-r--r--org.eclipse.osbp.xtext.strategy.feature/src/overview.html11
-rw-r--r--org.eclipse.osbp.xtext.strategy.sdk/.project17
-rw-r--r--org.eclipse.osbp.xtext.strategy.sdk/LICENSE.txt161
-rw-r--r--org.eclipse.osbp.xtext.strategy.sdk/build.properties1
-rw-r--r--org.eclipse.osbp.xtext.strategy.sdk/epl-v10.html259
-rw-r--r--org.eclipse.osbp.xtext.strategy.sdk/feature.xml22
-rw-r--r--org.eclipse.osbp.xtext.strategy.sdk/license.html164
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/.project46
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/LICENSE.txt161
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/META-INF/MANIFEST.MF24
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/about.html28
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/about.ini17
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/about.mappings6
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/about.properties26
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/build.properties11
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/epl-v10.html259
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/license.html164
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/org.eclipse.osbp.xtext.strategy.tests.launch15
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/pom.xml23
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLInjectorProvider.java55
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLUiInjectorProvider.java26
-rw-r--r--org.eclipse.osbp.xtext.strategy.tests/xtend-gen/README.txt1
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/.project46
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/LICENSE.txt161
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/META-INF/MANIFEST.MF34
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/about.html28
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/about.ini17
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/about.mappings6
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/about.properties26
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/build.properties17
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/epl-v10.html259
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/i18n/I18N.properties66
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/icons/dsl_import.pngbin0 -> 537 bytes
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/icons/dsl_strategy.pngbin0 -> 2877 bytes
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/icons/focus-enhance.pngbin0 -> 223 bytes
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/icons/focus.pngbin0 -> 181 bytes
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/icons/layout.pngbin0 -> 418 bytes
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/icons/model.pngbin0 -> 3139 bytes
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/icons/package.gifbin0 -> 128 bytes
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/icons/strategies.pngbin0 -> 648 bytes
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/icons/strategy-default.pngbin0 -> 757 bytes
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/license.html164
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/plugin.xml406
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/plugin.xml_gen562
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/pom.xml23
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/AbstractStrategyDSLUiModule.java374
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLExecutableExtensionFactory.java39
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/AbstractStrategyDSLProposalProvider.java129
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/PartialStrategyDSLContentAssistParser.java48
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/StrategyDSLParser.java513
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g10014
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.tokens203
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSLLexer.java4519
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSLParser.java10014
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/internal/StrategyDSLActivator.java105
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLDocumentationTranslator.java46
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHover.java33
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHoverDocumentationProvider.java50
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHoverProvider.java51
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLUiModule.java58
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/contentassist/StrategyDSLProposalProvider.xtend54
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLDescriptionLabelProvider.xtend38
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLLabelProvider.xtend73
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/outline/StrategyDSLOutlineTreeProvider.xtend27
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/quickfix/StrategyDSLQuickfixProvider.xtend40
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/StrategyDSLProposalProvider.java52
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLDescriptionLabelProvider.java26
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLLabelProvider.java160
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/outline/StrategyDSLOutlineTreeProvider.java26
-rw-r--r--org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/quickfix/StrategyDSLQuickfixProvider.java26
-rw-r--r--org.eclipse.osbp.xtext.strategy/.launch/Generate Language Infrastructure (org.eclipse.osbp.xtext.strategy).launch18
-rw-r--r--org.eclipse.osbp.xtext.strategy/.project46
-rw-r--r--org.eclipse.osbp.xtext.strategy/LICENSE.txt161
-rw-r--r--org.eclipse.osbp.xtext.strategy/META-INF/MANIFEST.MF73
-rw-r--r--org.eclipse.osbp.xtext.strategy/about.html28
-rw-r--r--org.eclipse.osbp.xtext.strategy/about.ini17
-rw-r--r--org.eclipse.osbp.xtext.strategy/about.mappings6
-rw-r--r--org.eclipse.osbp.xtext.strategy/about.properties26
-rw-r--r--org.eclipse.osbp.xtext.strategy/build.properties18
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingEnhancer.java51
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingEnum.java218
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingStrategy.java135
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/LayoutingEnum.java322
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/LayoutingStrategy.java63
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/Strategy.java88
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyBase.java60
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLFactory.java134
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLPackage.java1267
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDefault.java88
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyLazyResolver.java39
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyModel.java53
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyPackage.java61
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyTarget.java114
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/FocusingEnhancerImpl.java143
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/FocusingStrategyImpl.java325
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/LayoutingStrategyImpl.java174
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyBaseImpl.java173
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDSLFactoryImpl.java303
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDSLPackageImpl.java679
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDefaultImpl.java229
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyImpl.java254
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyLazyResolverImpl.java88
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyModelImpl.java163
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyPackageImpl.java188
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyTargetImpl.java306
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/util/StrategyDSLAdapterFactory.java332
-rw-r--r--org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/util/StrategyDSLSwitch.java352
-rw-r--r--org.eclipse.osbp.xtext.strategy/epl-v10.html259
-rw-r--r--org.eclipse.osbp.xtext.strategy/license.html164
-rw-r--r--org.eclipse.osbp.xtext.strategy/model/StrategyDSL.xcore97
-rw-r--r--org.eclipse.osbp.xtext.strategy/notice.html107
-rw-r--r--org.eclipse.osbp.xtext.strategy/plugin.properties4
-rw-r--r--org.eclipse.osbp.xtext.strategy/plugin.xml14
-rw-r--r--org.eclipse.osbp.xtext.strategy/pom.xml58
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/AbstractStrategyDSLRuntimeModule.java347
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLStandaloneSetupGenerated.java52
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/StrategyDSLAntlrTokenFileProvider.java25
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/StrategyDSLParser.java49
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g7310
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.tokens203
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSLLexer.java4518
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSLParser.java10014
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/serializer/StrategyDSLSemanticSequencer.java1517
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/serializer/StrategyDSLSyntacticSequencer.java189
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/services/StrategyDSLGrammarAccess.java1720
-rw-r--r--org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/validation/AbstractStrategyDSLValidator.java33
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/Activator.java47
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/GenerateStrategyDSL.mwe2161
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSL.xtext59
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLBundleSpaceRuntimeModule.java43
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLBundleSpaceStandaloneSetup.java41
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLRuntimeModule.java57
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLStandaloneSetup.java26
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/XcoreResourceFactory.java28
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/constants/StrategyConstants.xtend26
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/formatting/StrategyDSLFormatter.xtend45
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/generator/StrategyDSLGenerator.xtend97
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingEnhancerCreator.xtend113
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingStrategyCreator.xtend370
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLJvmModelInferrer.xtend106
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLLayoutingStrategyCreator.xtend324
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/scoping/StrategyDSLScopeProvider.xtend48
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/validation/StrategyDSLValidator.xtend38
-rw-r--r--org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/valueconverter/StrategyQualifiedNameProvider.java53
-rw-r--r--org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/constants/StrategyConstants.java45
-rw-r--r--org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/formatting/StrategyDSLFormatter.java43
-rw-r--r--org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/generator/StrategyDSLGenerator.java86
-rw-r--r--org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingEnhancerCreator.java187
-rw-r--r--org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingStrategyCreator.java849
-rw-r--r--org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLJvmModelInferrer.java154
-rw-r--r--org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLLayoutingStrategyCreator.java489
-rw-r--r--org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/scoping/StrategyDSLScopeProvider.java27
-rw-r--r--org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/validation/StrategyDSLValidator.java26
-rw-r--r--pom.xml97
167 files changed, 68298 insertions, 0 deletions
diff --git a/.project b/.project
new file mode 100644
index 0000000..d7915c3
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.osbp.xtext.strategy.aggregator</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
diff --git a/about.html b/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 1, 2016</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
new file mode 100644
index 0000000..5a13e54
--- /dev/null
+++ b/jenkins.build.config.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2016 - Loetz GmbH&Co.KG -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+<!--# Module specific parameters for the Jenkins Job -->
+<!--#======================================================================= -->
+
+<jenkins>
+ <!-- DO NOT EDIT BELOW THIS LINE -->
+ <jenkins.build.dependencies>
+ <jenkins.build.dependency>org.eclipse.osbp.dsl</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.ecview.core</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.ecview.extension</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.ecview.extension.api</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.runtime</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.utils</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.addons</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.i18n</jenkins.build.dependency>
+ </jenkins.build.dependencies>
+</jenkins>
diff --git a/notice.html b/notice.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/notice.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.xtext.strategy.feature/.project b/org.eclipse.osbp.xtext.strategy.feature/.project
new file mode 100644
index 0000000..26c0766
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.osbp.xtext.strategy.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.xtext.strategy.feature/LICENSE.txt b/org.eclipse.osbp.xtext.strategy.feature/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation. \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.feature/build.properties b/org.eclipse.osbp.xtext.strategy.feature/build.properties
new file mode 100644
index 0000000..b8920ff
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = license.html, epl-v10.html, feature.xml,\
+ feature.properties
diff --git a/org.eclipse.osbp.xtext.strategy.feature/epl-v10.html b/org.eclipse.osbp.xtext.strategy.feature/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.feature/feature.properties b/org.eclipse.osbp.xtext.strategy.feature/feature.properties
new file mode 100644
index 0000000..02645e5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/feature.properties
@@ -0,0 +1,169 @@
+###############################################################################
+# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany).
+# 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:
+# Cristiano Gavião - initial API and implementation
+###############################################################################
+# feature.properties
+# contains externalized strings for feature.xml
+# "%foo" in feature.xml corresponds to the key "foo" in this file
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file should be translated.
+
+# "featureName" property - name of the feature
+featureName =OSBP DSL: Layoutstrategy
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse OSBP
+
+# "description" property - description of the feature
+description=This feature provides the bundles for the OSBP Layout strategyDSL.
+
+# "updateSiteName" property - label for the update site
+updateSiteName=
+
+# "copyright" property - text of the "Feature Update Copyright"
+copyright=\
+Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+################ end of copyright property ####################################
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+Eclipse Foundation Software User Agreement\n\
+February 1, 2011\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+ - Content may be structured and packaged into modules to facilitate delivering,\n\
+ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+ plug-in fragments ("Fragments"), and features ("Features").\n\
+ - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+ in a directory named "plugins".\n\
+ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+ Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+ Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+ numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+ - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+ named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+ - The top-level (root) directory\n\
+ - Plug-in and Fragment directories\n\
+ - Inside Plug-ins and Fragments packaged as JARs\n\
+ - Sub-directories of the directory named "src" of certain Plug-ins\n\
+ - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+ - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+ - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+ - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+ - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+ - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+ - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+ 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+ the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+ extending or updating the functionality of an Eclipse-based product.\n\
+ 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+ Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+ 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+ govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+ Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+ with the Specification. Such Installable Software Agreement must inform the user of the\n\
+ terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+ the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+ indication of agreement by the user, the provisioning Technology will complete installation\n\
+ of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/org.eclipse.osbp.xtext.strategy.feature/feature.xml b/org.eclipse.osbp.xtext.strategy.feature/feature.xml
new file mode 100644
index 0000000..5492f38
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/feature.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<feature
+ id="org.eclipse.osbp.xtext.strategy.feature"
+ label="%featureName"
+ version="0.9.0.qualifier"
+ provider-name="%providerName">
+
+ <description>
+ %description
+ </description>
+
+ <copyright>
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <plugin
+ id="org.eclipse.osbp.xtext.strategy"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.osbp.xtext.strategy.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.osbp.xtext.strategy.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/org.eclipse.osbp.xtext.strategy.feature/license.html b/org.eclipse.osbp.xtext.strategy.feature/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code,
+documentation and other files maintained in the Eclipse Foundation
+source code
+ repository ("Repository") in software modules ("Modules") and made
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to
+facilitate delivering, extending, and upgrading the Content. Typical
+modules may include plug-ins ("Plug-ins"), plug-in fragments
+("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or
+Fragments and associated material. Each Feature may be packaged as a
+sub-directory in a directory named "features". Within a Feature, files
+named "feature.xml" may contain a list of the names and version numbers
+of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included
+Features"). Within a Feature, files named "feature.xml" may contain a
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be
+contained in files named "about.html" ("Abouts"). The terms and
+conditions governing Features and
+Included Features should be contained in files named "license.html"
+("Feature Licenses"). Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the
+Feature Update License should either provide you with the terms and
+conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be
+found in the "license" property of files named "feature.properties"
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the
+terms and conditions (or references to such terms and conditions) that
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+ SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
+CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software,
+examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of
+allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This
+capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning
+Technology
+ in accordance with the Specification. By using Provisioning
+Technology in such a manner and making it available in accordance with
+the
+ Specification, you further acknowledge your agreement to, and the
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in
+which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing,
+extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology
+may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user
+the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable
+Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable
+Software Agreement must inform the user of the terms and conditions that
+ govern
+ the Installable Software and must solicit acceptance by the end
+user in the manner prescribed in such Installable Software Agreement.
+Upon such
+ indication of agreement by the user, the provisioning Technology
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use,
+and/or re-export to
+ another country, of encryption software. BEFORE using any encryption
+software, please check the country's laws, regulations and policies
+concerning the import,
+ possession, or use, and re-export of encryption software, to see if
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.feature/pom.xml b/org.eclipse.osbp.xtext.strategy.feature/pom.xml
new file mode 100644
index 0000000..1aa45b2
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/pom.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany). -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation API and implementation -->
+<!--#======================================================================= -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.osbp.xtext.strategy</groupId>
+ <artifactId>org.eclipse.osbp.xtext.strategy.aggregator</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.osbp.xtext.strategy.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-source-feature-plugin</artifactId>
+ <version>${tychoExtrasVersion}</version>
+ <executions>
+ <execution>
+ <id>source-feature</id>
+ <phase>package</phase>
+ <goals>
+ <goal>source-feature</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <labelSuffix> (source)</labelSuffix>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- workaround while bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=398250
+ is not fixed -->
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>attached-p2-metadata</id>
+ <phase>package</phase>
+ <goals>
+ <goal>p2-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>javadoc-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.eclipse.osbp.xtext.strategy</groupId>
+ <artifactId>org.eclipse.osbp.xtext.strategy</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.osbp.xtext.strategy</groupId>
+ <artifactId>org.eclipse.osbp.xtext.strategy.tests</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.osbp.xtext.strategy</groupId>
+ <artifactId>org.eclipse.osbp.xtext.strategy.ui</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/org.eclipse.osbp.xtext.strategy.feature/src/main/javadoc/README.txt b/org.eclipse.osbp.xtext.strategy.feature/src/main/javadoc/README.txt
new file mode 100644
index 0000000..831da7e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/src/main/javadoc/README.txt
@@ -0,0 +1 @@
+Resource folder for javadoc resources. \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.feature/src/overview.html b/org.eclipse.osbp.xtext.strategy.feature/src/overview.html
new file mode 100644
index 0000000..8ba52d0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.feature/src/overview.html
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+ <title>OSBP Tools Graphical Entity</title>
+</head>
+<body>
+<p>The <strong>OSBP&nbsp;Xtext&nbsp;Strategy DSL</strong> provides a grammar to define layouting and focusing strategies in the UI.</p>
+
+<p>&nbsp;</p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.xtext.strategy.sdk/.project b/org.eclipse.osbp.xtext.strategy.sdk/.project
new file mode 100644
index 0000000..1bc1af3
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.sdk/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.osbp.xtext.strategy.sdk</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.xtext.strategy.sdk/LICENSE.txt b/org.eclipse.osbp.xtext.strategy.sdk/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.sdk/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation. \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.sdk/build.properties b/org.eclipse.osbp.xtext.strategy.sdk/build.properties
new file mode 100644
index 0000000..b697183
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.sdk/build.properties
@@ -0,0 +1 @@
+bin.includes = license.html, epl-v10.html, feature.xml
diff --git a/org.eclipse.osbp.xtext.strategy.sdk/epl-v10.html b/org.eclipse.osbp.xtext.strategy.sdk/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.sdk/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.sdk/feature.xml b/org.eclipse.osbp.xtext.strategy.sdk/feature.xml
new file mode 100644
index 0000000..bef8e10
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.sdk/feature.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<feature
+ id="org.eclipse.osbp.xtext.strategy.sdk"
+ label="StrategyDSL
+ SDK
+ Feature
+ "
+ version="0.9.0.qualifier">
+ <plugin id="org.eclipse.osbp.xtext.strategy" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
+ <plugin id="org.eclipse.osbp.xtext.strategy.ui" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
+</feature>
diff --git a/org.eclipse.osbp.xtext.strategy.sdk/license.html b/org.eclipse.osbp.xtext.strategy.sdk/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.sdk/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code,
+documentation and other files maintained in the Eclipse Foundation
+source code
+ repository ("Repository") in software modules ("Modules") and made
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to
+facilitate delivering, extending, and upgrading the Content. Typical
+modules may include plug-ins ("Plug-ins"), plug-in fragments
+("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or
+Fragments and associated material. Each Feature may be packaged as a
+sub-directory in a directory named "features". Within a Feature, files
+named "feature.xml" may contain a list of the names and version numbers
+of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included
+Features"). Within a Feature, files named "feature.xml" may contain a
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be
+contained in files named "about.html" ("Abouts"). The terms and
+conditions governing Features and
+Included Features should be contained in files named "license.html"
+("Feature Licenses"). Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the
+Feature Update License should either provide you with the terms and
+conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be
+found in the "license" property of files named "feature.properties"
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the
+terms and conditions (or references to such terms and conditions) that
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+ SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
+CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software,
+examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of
+allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This
+capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning
+Technology
+ in accordance with the Specification. By using Provisioning
+Technology in such a manner and making it available in accordance with
+the
+ Specification, you further acknowledge your agreement to, and the
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in
+which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing,
+extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology
+may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user
+the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable
+Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable
+Software Agreement must inform the user of the terms and conditions that
+ govern
+ the Installable Software and must solicit acceptance by the end
+user in the manner prescribed in such Installable Software Agreement.
+Upon such
+ indication of agreement by the user, the provisioning Technology
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use,
+and/or re-export to
+ another country, of encryption software. BEFORE using any encryption
+software, please check the country's laws, regulations and policies
+concerning the import,
+ possession, or use, and re-export of encryption software, to see if
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.tests/.project b/org.eclipse.osbp.xtext.strategy.tests/.project
new file mode 100644
index 0000000..dd232e0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.osbp.xtext.strategy.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>
+ <buildCommand>
+ <name>org.eclipse.babel.editor.rbeBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ <nature>org.eclipse.babel.editor.rbeNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.xtext.strategy.tests/LICENSE.txt b/org.eclipse.osbp.xtext.strategy.tests/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation. \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.tests/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.strategy.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..fbacddd
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.xtext.strategy.tests
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Bundle-SymbolicName: org.eclipse.osbp.xtext.strategy.tests;singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.osbp.xtext.strategy;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.strategy.ui;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.core.runtime,
+ org.eclipse.xtext.junit4;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.ui.workbench;resolution:=optional,
+ org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional,
+ com.google.inject;bundle-version="3.0.0"
+Import-Package: org.apache.log4j,
+ org.junit;version="4.5.0",
+ org.junit.runner;version="4.5.0",
+ org.junit.runner.manipulation;version="4.5.0",
+ org.junit.runner.notification;version="4.5.0",
+ org.junit.runners;version="4.5.0",
+ org.junit.runners.model;version="4.5.0",
+ org.hamcrest.core
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.xtext.strategy;version="0.9.0"
diff --git a/org.eclipse.osbp.xtext.strategy.tests/about.html b/org.eclipse.osbp.xtext.strategy.tests/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 1, 2016</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.tests/about.ini b/org.eclipse.osbp.xtext.strategy.tests/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.xtext.strategy.tests/about.mappings b/org.eclipse.osbp.xtext.strategy.tests/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/org.eclipse.osbp.xtext.strategy.tests/about.properties b/org.eclipse.osbp.xtext.strategy.tests/about.properties
new file mode 100644
index 0000000..aebd7d0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/about.properties
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# 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:
+# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.xtext.strategy.tests
+
+################ blurb property ####################################
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.xtext.strategy.tests/build.properties b/org.eclipse.osbp.xtext.strategy.tests/build.properties
new file mode 100644
index 0000000..43f46c3
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/build.properties
@@ -0,0 +1,11 @@
+source.. = src/,\
+ src-gen/
+bin.includes = about.properties, about.mappings, about.ini, about.html, META-INF/,\
+ .settings/,\
+ .,\
+ license.html,\
+ LICENSE.txt,\
+ epl-v10.html
+src.includes = about.properties, about.mappings, about.ini, about.html, license.html,\
+ LICENSE.txt,\
+ epl-v10.html
diff --git a/org.eclipse.osbp.xtext.strategy.tests/epl-v10.html b/org.eclipse.osbp.xtext.strategy.tests/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.tests/license.html b/org.eclipse.osbp.xtext.strategy.tests/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code,
+documentation and other files maintained in the Eclipse Foundation
+source code
+ repository ("Repository") in software modules ("Modules") and made
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to
+facilitate delivering, extending, and upgrading the Content. Typical
+modules may include plug-ins ("Plug-ins"), plug-in fragments
+("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or
+Fragments and associated material. Each Feature may be packaged as a
+sub-directory in a directory named "features". Within a Feature, files
+named "feature.xml" may contain a list of the names and version numbers
+of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included
+Features"). Within a Feature, files named "feature.xml" may contain a
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be
+contained in files named "about.html" ("Abouts"). The terms and
+conditions governing Features and
+Included Features should be contained in files named "license.html"
+("Feature Licenses"). Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the
+Feature Update License should either provide you with the terms and
+conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be
+found in the "license" property of files named "feature.properties"
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the
+terms and conditions (or references to such terms and conditions) that
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+ SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
+CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software,
+examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of
+allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This
+capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning
+Technology
+ in accordance with the Specification. By using Provisioning
+Technology in such a manner and making it available in accordance with
+the
+ Specification, you further acknowledge your agreement to, and the
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in
+which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing,
+extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology
+may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user
+the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable
+Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable
+Software Agreement must inform the user of the terms and conditions that
+ govern
+ the Installable Software and must solicit acceptance by the end
+user in the manner prescribed in such Installable Software Agreement.
+Upon such
+ indication of agreement by the user, the provisioning Technology
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use,
+and/or re-export to
+ another country, of encryption software. BEFORE using any encryption
+software, please check the country's laws, regulations and policies
+concerning the import,
+ possession, or use, and re-export of encryption software, to see if
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.tests/org.eclipse.osbp.xtext.strategy.tests.launch b/org.eclipse.osbp.xtext.strategy.tests/org.eclipse.osbp.xtext.strategy.tests.launch
new file mode 100644
index 0000000..9e0022c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/org.eclipse.osbp.xtext.strategy.tests.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.osbp.xtext.strategy.tests"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.eclipse.osbp.xtext.strategy.tests"/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.osbp.xtext.strategy.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+</launchConfiguration>
diff --git a/org.eclipse.osbp.xtext.strategy.tests/pom.xml b/org.eclipse.osbp.xtext.strategy.tests/pom.xml
new file mode 100644
index 0000000..e2222e5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>org.eclipse.osbp.xtext.strategy.tests</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <parent>
+ <groupId>org.eclipse.osbp.xtext.strategy</groupId>
+ <artifactId>org.eclipse.osbp.xtext.strategy.aggregator</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <relativePath>..</relativePath>
+ </parent>
+</project>
diff --git a/org.eclipse.osbp.xtext.strategy.tests/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLInjectorProvider.java b/org.eclipse.osbp.xtext.strategy.tests/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLInjectorProvider.java
new file mode 100644
index 0000000..a8b6b0e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLInjectorProvider.java
@@ -0,0 +1,55 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.xtext.junit4.GlobalRegistries;
+import org.eclipse.xtext.junit4.GlobalRegistries.GlobalStateMemento;
+import org.eclipse.xtext.junit4.IInjectorProvider;
+import org.eclipse.xtext.junit4.IRegistryConfigurator;
+
+import com.google.inject.Injector;
+
+public class StrategyDSLInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
+
+ protected GlobalStateMemento stateBeforeInjectorCreation;
+ protected GlobalStateMemento stateAfterInjectorCreation;
+ protected Injector injector;
+
+ static {
+ GlobalRegistries.initializeDefaults();
+ }
+
+ public Injector getInjector()
+ {
+ if (injector == null) {
+ stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
+ this.injector = internalCreateInjector();
+ stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
+ }
+ return injector;
+ }
+
+ protected Injector internalCreateInjector() {
+ return new StrategyDSLStandaloneSetup().createInjectorAndDoEMFRegistration();
+ }
+
+ public void restoreRegistry() {
+ stateBeforeInjectorCreation.restoreGlobalState();
+ }
+
+ public void setupRegistry() {
+ getInjector();
+ stateAfterInjectorCreation.restoreGlobalState();
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.tests/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLUiInjectorProvider.java b/org.eclipse.osbp.xtext.strategy.tests/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLUiInjectorProvider.java
new file mode 100644
index 0000000..f9aba72
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLUiInjectorProvider.java
@@ -0,0 +1,26 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.xtext.junit4.IInjectorProvider;
+
+import com.google.inject.Injector;
+
+public class StrategyDSLUiInjectorProvider implements IInjectorProvider {
+
+ public Injector getInjector() {
+ return org.eclipse.osbp.xtext.strategy.ui.internal.StrategyDSLActivator.getInstance().getInjector("org.eclipse.osbp.xtext.strategy.StrategyDSL");
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy.tests/xtend-gen/README.txt b/org.eclipse.osbp.xtext.strategy.tests/xtend-gen/README.txt
new file mode 100644
index 0000000..dcc8010
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.tests/xtend-gen/README.txt
@@ -0,0 +1 @@
+needed for the build-path to be complete - do not remove \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.ui/.project b/org.eclipse.osbp.xtext.strategy.ui/.project
new file mode 100644
index 0000000..361f84b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.osbp.xtext.strategy.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.babel.editor.rbeBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ <nature>org.eclipse.babel.editor.rbeNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.xtext.strategy.ui/LICENSE.txt b/org.eclipse.osbp.xtext.strategy.ui/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation. \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.ui/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.strategy.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..2ffa92a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.xtext.strategy.ui
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Bundle-SymbolicName: org.eclipse.osbp.xtext.strategy.ui;singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.slf4j.api;bundle-version="1.7.2",
+ javax.annotation;bundle-version="[1.1.0,1.2.0)",
+ com.google.inject;bundle-version="3.0.0",
+ org.eclipse.xtext.ui;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ org.eclipse.xtext.ui.shared;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.ui,
+ org.eclipse.xtext.builder;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.xbase.lib;bundle-version="[2.7.3,2.8.0)",
+ org.antlr.runtime,
+ org.eclipse.xtext.common.types.ui;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.ui.codetemplates.ui;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.compare,
+ org.eclipse.osbp.dsl.common.xtext;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.basic.ui;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.xtext.xbase.ui;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.jdt.debug.ui,
+ org.eclipse.osbp.xtext.strategy;bundle-version="[0.9.0,0.10.0)"
+Import-Package: org.apache.log4j,
+ org.eclipse.osbp.utils.constants;version="0.9.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.xtext.strategy.ui.quickfix;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.ui.contentassist;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.ui.internal;version="0.9.0"
+Bundle-Activator: org.eclipse.osbp.xtext.strategy.ui.internal.StrategyDSLActivator
diff --git a/org.eclipse.osbp.xtext.strategy.ui/about.html b/org.eclipse.osbp.xtext.strategy.ui/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 1, 2016</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.ui/about.ini b/org.eclipse.osbp.xtext.strategy.ui/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.xtext.strategy.ui/about.mappings b/org.eclipse.osbp.xtext.strategy.ui/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/org.eclipse.osbp.xtext.strategy.ui/about.properties b/org.eclipse.osbp.xtext.strategy.ui/about.properties
new file mode 100644
index 0000000..f110c41
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/about.properties
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# 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:
+# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.xtext.strategy.ui
+
+################ blurb property ####################################
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.xtext.strategy.ui/build.properties b/org.eclipse.osbp.xtext.strategy.ui/build.properties
new file mode 100644
index 0000000..1d49248
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/build.properties
@@ -0,0 +1,17 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = about.properties, about.mappings, about.ini, about.html, META-INF/,\
+ .,\
+ .settings/,\
+ plugin.xml,\
+ i18n/,\
+ license.html,\
+ LICENSE.txt,\
+ epl-v10.html,\
+ icons/
+src.includes = about.properties, about.mappings, about.ini, about.html, license.html,\
+ LICENSE.txt,\
+ epl-v10.html,\
+ icons/
+
diff --git a/org.eclipse.osbp.xtext.strategy.ui/epl-v10.html b/org.eclipse.osbp.xtext.strategy.ui/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.ui/i18n/I18N.properties b/org.eclipse.osbp.xtext.strategy.ui/i18n/I18N.properties
new file mode 100644
index 0000000..8ac129d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/i18n/I18N.properties
@@ -0,0 +1,66 @@
+#
+#Mon Mar 13 16:32:11 CET 2017
+org.eclipse.osbp.xtext.strategy.FocusingEnhancer=
+org.eclipse.osbp.xtext.strategy.FocusingEnhancer.focusingEnhancer=
+org.eclipse.osbp.xtext.strategy.FocusingEnum=
+org.eclipse.osbp.xtext.strategy.FocusingEnum.Backward=
+org.eclipse.osbp.xtext.strategy.FocusingEnum.Forward=
+org.eclipse.osbp.xtext.strategy.FocusingStrategy=
+org.eclipse.osbp.xtext.strategy.FocusingStrategy.ecviewFocusingId\==
+org.eclipse.osbp.xtext.strategy.FocusingStrategy.focus\==
+org.eclipse.osbp.xtext.strategy.FocusingStrategy.focusingStrategy=
+org.eclipse.osbp.xtext.strategy.FocusingStrategy.keyCode\==
+org.eclipse.osbp.xtext.strategy.FocusingStrategy.keyStrokeDefinition=
+org.eclipse.osbp.xtext.strategy.FocusingStrategy.modifierKeys=
+org.eclipse.osbp.xtext.strategy.LayoutingEnum=
+org.eclipse.osbp.xtext.strategy.LayoutingEnum.Css=
+org.eclipse.osbp.xtext.strategy.LayoutingEnum.Form2=
+org.eclipse.osbp.xtext.strategy.LayoutingEnum.Form3=
+org.eclipse.osbp.xtext.strategy.LayoutingEnum.Grid=
+org.eclipse.osbp.xtext.strategy.LayoutingEnum.Horizontal=
+org.eclipse.osbp.xtext.strategy.LayoutingEnum.Vertical=
+org.eclipse.osbp.xtext.strategy.LayoutingStrategy=
+org.eclipse.osbp.xtext.strategy.LayoutingStrategy.layout\==
+org.eclipse.osbp.xtext.strategy.LayoutingStrategy.layoutingStrategy=
+org.eclipse.osbp.xtext.strategy.OSDefault=
+org.eclipse.osbp.xtext.strategy.OSDefault.default=
+org.eclipse.osbp.xtext.strategy.OSDefault.defaultFocusing\==
+org.eclipse.osbp.xtext.strategy.OSDefault.defaultLayouting\==
+org.eclipse.osbp.xtext.strategy.OSFocusingEnhancer=
+org.eclipse.osbp.xtext.strategy.OSFocusingEnhancer.focusingEnhancer=
+org.eclipse.osbp.xtext.strategy.OSFocusingStrategy=
+org.eclipse.osbp.xtext.strategy.OSFocusingStrategy.ecviewFocusingId\==
+org.eclipse.osbp.xtext.strategy.OSFocusingStrategy.focus\==
+org.eclipse.osbp.xtext.strategy.OSFocusingStrategy.focusingStrategy=
+org.eclipse.osbp.xtext.strategy.OSFocusingStrategy.keyCode\==
+org.eclipse.osbp.xtext.strategy.OSFocusingStrategy.keyStrokeDefinition=
+org.eclipse.osbp.xtext.strategy.OSFocusingStrategy.modifierKeys=
+org.eclipse.osbp.xtext.strategy.OSLayoutingStrategy=
+org.eclipse.osbp.xtext.strategy.OSLayoutingStrategy.layout\==
+org.eclipse.osbp.xtext.strategy.OSLayoutingStrategy.layoutingStrategy=
+org.eclipse.osbp.xtext.strategy.OSStrategies=
+org.eclipse.osbp.xtext.strategy.OSStrategies.strategies=
+org.eclipse.osbp.xtext.strategy.OSStrategy=
+org.eclipse.osbp.xtext.strategy.OSStrategy.strategy=
+org.eclipse.osbp.xtext.strategy.OSStrategyImport=
+org.eclipse.osbp.xtext.strategy.OSStrategyImport.import=
+org.eclipse.osbp.xtext.strategy.OSStrategyModel=
+org.eclipse.osbp.xtext.strategy.OSStrategyPackage=
+org.eclipse.osbp.xtext.strategy.OSStrategyPackage.package=
+org.eclipse.osbp.xtext.strategy.OSStrategyQualifiedNameWithWildCard=
+org.eclipse.osbp.xtext.strategy.Strategies=
+org.eclipse.osbp.xtext.strategy.Strategies.strategies=
+org.eclipse.osbp.xtext.strategy.Strategy=
+org.eclipse.osbp.xtext.strategy.Strategy.strategy=
+org.eclipse.osbp.xtext.strategy.StrategyDefault=
+org.eclipse.osbp.xtext.strategy.StrategyDefault.default=
+org.eclipse.osbp.xtext.strategy.StrategyDefault.defaultFocusing\==
+org.eclipse.osbp.xtext.strategy.StrategyDefault.defaultLayouting\==
+org.eclipse.osbp.xtext.strategy.StrategyImport=
+org.eclipse.osbp.xtext.strategy.StrategyImport.import=
+org.eclipse.osbp.xtext.strategy.StrategyModel=
+org.eclipse.osbp.xtext.strategy.StrategyPackage=
+org.eclipse.osbp.xtext.strategy.StrategyPackage.package=
+org.eclipse.osbp.xtext.strategy.StrategyQualifiedNameWithWildCard=
+org.eclipse.osbp.xtext.strategy.StrategyTarget=
+org.eclipse.osbp.xtext.strategy.StrategyTarget.targets=
diff --git a/org.eclipse.osbp.xtext.strategy.ui/icons/dsl_import.png b/org.eclipse.osbp.xtext.strategy.ui/icons/dsl_import.png
new file mode 100644
index 0000000..f4fdcc9
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/icons/dsl_import.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.strategy.ui/icons/dsl_strategy.png b/org.eclipse.osbp.xtext.strategy.ui/icons/dsl_strategy.png
new file mode 100644
index 0000000..e51db14
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/icons/dsl_strategy.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.strategy.ui/icons/focus-enhance.png b/org.eclipse.osbp.xtext.strategy.ui/icons/focus-enhance.png
new file mode 100644
index 0000000..65cf8c0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/icons/focus-enhance.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.strategy.ui/icons/focus.png b/org.eclipse.osbp.xtext.strategy.ui/icons/focus.png
new file mode 100644
index 0000000..7f783b1
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/icons/focus.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.strategy.ui/icons/layout.png b/org.eclipse.osbp.xtext.strategy.ui/icons/layout.png
new file mode 100644
index 0000000..0fead78
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/icons/layout.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.strategy.ui/icons/model.png b/org.eclipse.osbp.xtext.strategy.ui/icons/model.png
new file mode 100644
index 0000000..cffb857
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/icons/model.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.strategy.ui/icons/package.gif b/org.eclipse.osbp.xtext.strategy.ui/icons/package.gif
new file mode 100644
index 0000000..34506fb
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/icons/package.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.strategy.ui/icons/strategies.png b/org.eclipse.osbp.xtext.strategy.ui/icons/strategies.png
new file mode 100644
index 0000000..965cb00
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/icons/strategies.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.strategy.ui/icons/strategy-default.png b/org.eclipse.osbp.xtext.strategy.ui/icons/strategy-default.png
new file mode 100644
index 0000000..38d4a25
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/icons/strategy-default.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.strategy.ui/license.html b/org.eclipse.osbp.xtext.strategy.ui/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code,
+documentation and other files maintained in the Eclipse Foundation
+source code
+ repository ("Repository") in software modules ("Modules") and made
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to
+facilitate delivering, extending, and upgrading the Content. Typical
+modules may include plug-ins ("Plug-ins"), plug-in fragments
+("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or
+Fragments and associated material. Each Feature may be packaged as a
+sub-directory in a directory named "features". Within a Feature, files
+named "feature.xml" may contain a list of the names and version numbers
+of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included
+Features"). Within a Feature, files named "feature.xml" may contain a
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be
+contained in files named "about.html" ("Abouts"). The terms and
+conditions governing Features and
+Included Features should be contained in files named "license.html"
+("Feature Licenses"). Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the
+Feature Update License should either provide you with the terms and
+conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be
+found in the "license" property of files named "feature.properties"
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the
+terms and conditions (or references to such terms and conditions) that
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+ SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
+CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software,
+examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of
+allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This
+capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning
+Technology
+ in accordance with the Specification. By using Provisioning
+Technology in such a manner and making it available in accordance with
+the
+ Specification, you further acknowledge your agreement to, and the
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in
+which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing,
+extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology
+may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user
+the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable
+Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable
+Software Agreement must inform the user of the terms and conditions that
+ govern
+ the Installable Software and must solicit acceptance by the end
+user in the manner prescribed in such Installable Software Agreement.
+Upon such
+ indication of agreement by the user, the provisioning Technology
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use,
+and/or re-export to
+ another country, of encryption software. BEFORE using any encryption
+software, please check the country's laws, regulations and policies
+concerning the import,
+ possession, or use, and re-export of encryption software, to see if
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy.ui/plugin.xml b/org.eclipse.osbp.xtext.strategy.ui/plugin.xml
new file mode 100644
index 0000000..dfe12bd
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/plugin.xml
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="strategy"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ icon="icons/dsl_strategy.png"
+ name="OSBP StrategyDSL Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.osbp.xtext.strategy.StrategyDSL.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <!-- copy qualified name -->
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+ <activeWhen>
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened" />
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+ <activeWhen>
+ <and>
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ <definition id="org.eclipse.osbp.xtext.strategy.StrategyDSL.XtextEditor.opened">
+ <and>
+ <reference definitionId="isXtextEditorActive"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ icon="icons/dsl_strategy.png"
+ name="OSBP StrategyDSL">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.coloring"
+ icon="icons/dsl_strategy.png"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.templates"
+ icon="icons/dsl_strategy.png"
+ name="Templates">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ icon="icons/dsl_strategy.png"
+ name="OSBP StrategyDSL">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"
+ label="OSBP StrategyDSL"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.validate"
+ name="Validate">
+ </command>
+ <!-- copy qualified name -->
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.osbp.xtext.strategy.StrategyDSL.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <!-- copy qualified name -->
+ <menuContribution locationURI="popup:#TextEditorContext?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="menu:edit?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <and>
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </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.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="strategy">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="strategy">
+ </resourceServiceProvider>
+ </extension>
+
+
+ <!-- marker definitions for org.eclipse.osbp.xtext.strategy.StrategyDSL -->
+ <extension
+ id="strategydsl.check.fast"
+ name="OSBP StrategyDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="strategydsl.check.normal"
+ name="OSBP StrategyDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="strategydsl.check.expensive"
+ name="OSBP StrategyDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.xtext.builder.participant">
+ <participant
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+ fileExtensions="strategy"
+ >
+ </participant>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.compiler.preferencePage"
+ icon="icons/dsl_strategy.png"
+ name="Compiler">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.compiler.propertyPage"
+ icon="icons/dsl_strategy.png"
+ name="Compiler">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.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.osbp.xtext.strategy.StrategyDSL.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator for org.eclipse.osbp.xtext.strategy.StrategyDSL -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.osbp.xtext.strategy.ui.strategydsl.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.osbp.xtext.strategy.ui.strategydsl.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.osbp.xtext.strategy.ui.strategydsl.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
+ <!-- Rename Refactoring -->
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+ commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+ style="push">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.refactoring"
+ icon="icons/dsl_strategy.png"
+ name="Refactoring">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ </extension>
+
+ <extension point="org.eclipse.compare.contentViewers">
+ <viewer id="org.eclipse.osbp.xtext.strategy.StrategyDSL.compare.contentViewers"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="strategy">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.compare.contentMergeViewers">
+ <viewer id="org.eclipse.osbp.xtext.strategy.StrategyDSL.compare.contentMergeViewers"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="strategy" label="StrategyDSL Compare">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.ui.editors.documentProviders">
+ <provider id="org.eclipse.osbp.xtext.strategy.StrategyDSL.editors.documentProviders"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+ extensions="strategy">
+ </provider>
+ </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.xtext.strategy.ui/plugin.xml_gen b/org.eclipse.osbp.xtext.strategy.ui/plugin.xml_gen
new file mode 100644
index 0000000..e76b09f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/plugin.xml_gen
@@ -0,0 +1,562 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="strategy"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ matchingStrategy="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.editor.JavaEditorInputMatcher"
+ name="StrategyDSL Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.osbp.xtext.strategy.StrategyDSL.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <!-- copy qualified name -->
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+ <activeWhen>
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened" />
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+ commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+ <activeWhen>
+ <and>
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ <definition id="org.eclipse.osbp.xtext.strategy.StrategyDSL.XtextEditor.opened">
+ <and>
+ <reference definitionId="isXtextEditorActive"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ name="StrategyDSL">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ name="StrategyDSL">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"
+ label="StrategyDSL"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.validate"
+ name="Validate">
+ </command>
+ <!-- copy qualified name -->
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ <command
+ id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ categoryId="org.eclipse.ui.category.edit"
+ description="Copy the qualified name for the selected element"
+ name="Copy Qualified Name">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.osbp.xtext.strategy.StrategyDSL.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <!-- copy qualified name -->
+ <menuContribution locationURI="popup:#TextEditorContext?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="menu:edit?after=copy">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened" />
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+ <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+ style="push" tooltip="Copy Qualified Name">
+ <visibleWhen checkEnabled="false">
+ <and>
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.XtextEditor.opened" />
+ <iterate>
+ <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+ </iterate>
+ </and>
+ </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.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="strategy">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="strategy">
+ </resourceServiceProvider>
+ </extension>
+
+
+ <!-- marker definitions for org.eclipse.osbp.xtext.strategy.StrategyDSL -->
+ <extension
+ id="strategydsl.check.fast"
+ name="StrategyDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="strategydsl.check.normal"
+ name="StrategyDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="strategydsl.check.expensive"
+ name="StrategyDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.xtext.builder.participant">
+ <participant
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+ fileExtensions="strategy"
+ >
+ </participant>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.compiler.preferencePage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.compiler.propertyPage"
+ name="Compiler">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.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.osbp.xtext.strategy.StrategyDSL.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator for org.eclipse.osbp.xtext.strategy.StrategyDSL -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.osbp.xtext.strategy.ui.strategydsl.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.osbp.xtext.strategy.ui.strategydsl.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.osbp.xtext.strategy.ui.strategydsl.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
+ <!-- Rename Refactoring -->
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+ commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+ style="push">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.refactoring"
+ name="Refactoring">
+ <keywordReference id="org.eclipse.osbp.xtext.strategy.ui.keyword_StrategyDSL"/>
+ </page>
+ </extension>
+
+<!-- Type Hierarchy -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchyHandler"
+ commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchy">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.QuickTypeHierarchyHandler"
+ commandId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchy"
+ style="push"
+ tooltip="Open Type Hierarchy">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy"
+ style="push"
+ tooltip="Quick Type Hierarchy">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- Call Hierachy -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierachyHandler"
+ commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierarchy">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierarchy"
+ style="push"
+ tooltip="Open Call Hierarchy">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension
+ point="org.eclipse.core.runtime.adapters">
+ <factory class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.builder.smap.StratumBreakpointAdapterFactory"
+ adaptableType="org.eclipse.xtext.ui.editor.XtextEditor">
+ <adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
+ </factory>
+ </extension>
+ <extension point="org.eclipse.ui.editorActions">
+ <editorContribution targetID="org.eclipse.osbp.xtext.strategy.StrategyDSL"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.rulerActions">
+ <action
+ label="Not Used"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+ style="push"
+ actionID="RulerDoubleClick"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.doubleClickBreakpointAction"/>
+ </editorContribution>
+ </extension>
+ <extension point="org.eclipse.ui.popupMenus">
+ <viewerContribution
+ targetID="org.eclipse.osbp.xtext.strategy.StrategyDSL.RulerContext"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.RulerPopupActions">
+ <action
+ label="Toggle Breakpoint"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+ menubarPath="debug"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.rulerContextMenu.toggleBreakpointAction">
+ </action>
+ <action
+ label="Not used"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
+ menubarPath="debug"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.rulerContextMenu.enableDisableBreakpointAction">
+ </action>
+ <action
+ label="Breakpoint Properties"
+ helpContextId="breakpoint_properties_action_context"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.jdt.debug.ui.actions.JavaBreakpointPropertiesRulerActionDelegate"
+ menubarPath="group.properties"
+ id="org.eclipse.osbp.xtext.strategy.StrategyDSL.rulerContextMenu.openBreapointPropertiesAction">
+ </action>
+ </viewerContribution>
+ </extension>
+ <!-- Introduce Local Variable Refactoring -->
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.refactoring.ExtractVariableHandler"
+ commandId="org.eclipse.xtext.xbase.ui.refactoring.ExtractLocalVariable">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command commandId="org.eclipse.xtext.xbase.ui.refactoring.ExtractLocalVariable"
+ style="push">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- Open implementation -->
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.navigation.OpenImplementationHandler"
+ commandId="org.eclipse.xtext.xbase.ui.OpenImplementationCommand">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="menu:navigate?after=open.ext4">
+ <command commandId="org.eclipse.xtext.xbase.ui.OpenImplementationCommand">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.osbp.xtext.strategy.StrategyDSL.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+
+ <extension point="org.eclipse.compare.contentViewers">
+ <viewer id="org.eclipse.osbp.xtext.strategy.StrategyDSL.compare.contentViewers"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="strategy">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.compare.contentMergeViewers">
+ <viewer id="org.eclipse.osbp.xtext.strategy.StrategyDSL.compare.contentMergeViewers"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ extensions="strategy" label="StrategyDSL Compare">
+ </viewer>
+ </extension>
+ <extension point="org.eclipse.ui.editors.documentProviders">
+ <provider id="org.eclipse.osbp.xtext.strategy.StrategyDSL.editors.documentProviders"
+ class="org.eclipse.osbp.xtext.strategy.ui.StrategyDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+ extensions="strategy">
+ </provider>
+ </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.xtext.strategy.ui/pom.xml b/org.eclipse.osbp.xtext.strategy.ui/pom.xml
new file mode 100644
index 0000000..ff3dc1a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>org.eclipse.osbp.xtext.strategy.ui</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <parent>
+ <groupId>org.eclipse.osbp.xtext.strategy</groupId>
+ <artifactId>org.eclipse.osbp.xtext.strategy.aggregator</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <relativePath>..</relativePath>
+ </parent>
+</project>
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/AbstractStrategyDSLUiModule.java b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/AbstractStrategyDSLUiModule.java
new file mode 100644
index 0000000..8d0120e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/AbstractStrategyDSLUiModule.java
@@ -0,0 +1,374 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.ui;
+
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {org.eclipse.osbp.xtext.strategy.ui.StrategyDSLUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractStrategyDSLUiModule extends DefaultUiModule {
+
+ public AbstractStrategyDSLUiModule(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.ui.generator.ImplicitUiFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.XtextEditor> bindXtextEditor() {
+ return org.eclipse.xtext.xbase.ui.editor.XbaseEditor.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.model.XtextDocumentProvider> bindXtextDocumentProvider() {
+ return org.eclipse.xtext.xbase.ui.editor.XbaseDocumentProvider.class;
+ }
+
+ // 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.osbp.xtext.strategy.parser.antlr.internal.InternalStrategyDSLLexer.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.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.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+ return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public Class<? extends org.eclipse.xtext.builder.IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
+ return org.eclipse.xtext.builder.BuilderParticipant.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() {
+ return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot();
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public void configureBuilderPreferenceStoreInitializer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("builderPreferenceInitializer")).to(org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess.Initializer.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+ return org.eclipse.osbp.xtext.strategy.ui.labeling.StrategyDSLLabelProvider.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.osbp.xtext.strategy.ui.labeling.StrategyDSLDescriptionLabelProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+ return org.eclipse.osbp.xtext.strategy.ui.outline.StrategyDSLOutlineTreeProvider.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.osbp.xtext.strategy.ui.outline.StrategyDSLOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+ return org.eclipse.osbp.xtext.strategy.ui.quickfix.StrategyDSLQuickfixProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.contentAssist.ContentAssistFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
+ return org.eclipse.osbp.xtext.strategy.ui.contentassist.StrategyDSLProposalProvider.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.osbp.xtext.strategy.ui.contentassist.antlr.StrategyDSLParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.internal.InternalStrategyDSLLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.internal.InternalStrategyDSLLexer.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.osbp.xtext.strategy.ui.contentassist.antlr.internal.InternalStrategyDSLLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public void configureIPreferenceStoreInitializer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("RefactoringPreferences")).to(org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences.Initializer.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameSupport.Factory> bindIRenameSupport$Factory() {
+ return org.eclipse.xtext.common.types.ui.refactoring.JdtRenameSupport.Factory.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameStrategy.Provider> bindIRenameStrategy$Provider() {
+ return org.eclipse.xtext.common.types.ui.refactoring.participant.JvmMemberRenameStrategy.Provider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+ public void configureJvmMemberRenameStrategy$Provider$Delegate(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.refactoring.IRenameStrategy.Provider.class).annotatedWith(org.eclipse.xtext.common.types.ui.refactoring.participant.JvmMemberRenameStrategy.Provider.Delegate.class).to(org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategyProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public java.lang.ClassLoader bindClassLoaderToInstance() {
+ return getClass().getClassLoader();
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+ return org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.ui.JdtBasedSimpleTypeScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider> bindITypesProposalProvider() {
+ return org.eclipse.xtext.common.types.xtext.ui.JdtTypesProposalProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.access.jdt.IJavaProjectProvider> bindIJavaProjectProvider() {
+ return org.eclipse.xtext.common.types.xtext.ui.XtextResourceSetBasedProjectProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+ return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.IValidationJobScheduler> bindIValidationJobScheduler() {
+ return org.eclipse.xtext.common.types.xtext.ui.JdtValidationJobScheduler.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.impl.RefactoringResourceSetProvider> bindRefactoringResourceSetProvider() {
+ return org.eclipse.xtext.common.types.ui.refactoring.JvmRefactoringResourceSetProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractAntlrTokenToAttributeIdMapper> bindAbstractAntlrTokenToAttributeIdMapper() {
+ return org.eclipse.xtext.xbase.ui.syntaxcoloring.XbaseTokenToAttributeIdMapper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.AbstractJavaBasedContentProposalProvider.ReferenceProposalCreator> bindAbstractJavaBasedContentProposalProvider$ReferenceProposalCreator() {
+ return org.eclipse.xtext.xbase.ui.contentassist.XbaseReferenceProposalCreator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.jface.text.contentassist.IContentAssistProcessor> bindIContentAssistProcessor() {
+ return org.eclipse.xtext.ui.editor.contentassist.RepeatedContentAssistProcessor.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.syntaxcoloring.ISemanticHighlightingCalculator> bindISemanticHighlightingCalculator() {
+ return org.eclipse.xtext.xbase.ui.highlighting.XbaseHighlightingCalculator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration> bindIHighlightingConfiguration() {
+ return org.eclipse.xtext.xbase.ui.highlighting.XbaseHighlightingConfiguration.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider> bindIEObjectHoverProvider() {
+ return org.eclipse.xtext.xbase.ui.hover.XbaseHoverProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.hover.IEObjectHover> bindIEObjectHover() {
+ return org.eclipse.xtext.xbase.ui.hover.XbaseDispatchingEObjectTextHover.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider> bindIEObjectHoverDocumentationProvider() {
+ return org.eclipse.xtext.xbase.ui.hover.XbaseHoverDocumentationProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider.CrossRefResolutionConverter> bindDefaultQuickfixProvider$CrossRefResolutionConverter() {
+ return org.eclipse.xtext.xbase.ui.quickfix.XbaseCrossRefResolutionConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.xtext.xbase.ui.validation.XbaseUIValidator> bindXbaseUIValidator() {
+ return org.eclipse.xtext.xbase.ui.validation.XbaseUIValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkHelper> bindIHyperlinkHelper() {
+ return org.eclipse.xtext.xbase.ui.navigation.TypeLiteralAwareHyperlinkHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.typesystem.internal.IFeatureScopeTracker.Provider> bindIFeatureScopeTracker$Provider() {
+ return org.eclipse.xtext.xbase.typesystem.internal.OptimizingFeatureScopeTrackerProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler> bindFindReferencesHandler() {
+ return org.eclipse.xtext.xbase.ui.jvmmodel.findrefs.JvmModelFindReferenceHandler.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.findrefs.ReferenceQueryExecutor> bindReferenceQueryExecutor() {
+ return org.eclipse.xtext.xbase.ui.jvmmodel.findrefs.JvmModelReferenceQueryExecutor.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
+ return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.JvmModelDependentElementsCalculator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
+ return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.jdt.CombinedJvmJdtRenameRefactoringProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IReferenceUpdater> bindIReferenceUpdater() {
+ return org.eclipse.xtext.xbase.ui.refactoring.XbaseReferenceUpdater.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameContextFactory> bindIRenameContextFactory() {
+ return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.jdt.CombinedJvmJdtRenameContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.ui.refactoring.participant.JdtRenameParticipant.ContextFactory> bindJdtRenameParticipant$ContextFactory() {
+ return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.JvmModelJdtRenameParticipantContext.ContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameStrategy> bindIRenameStrategy() {
+ return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.DefaultJvmModelRenameStrategy.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.OutlineNodeElementOpener> bindOutlineNodeElementOpener() {
+ return org.eclipse.xtext.xbase.ui.jvmmodel.outline.JvmOutlineNodeElementOpener.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.GlobalURIEditorOpener> bindGlobalURIEditorOpener() {
+ return org.eclipse.xtext.common.types.ui.navigation.GlobalDerivedMemberAwareURIEditorOpener.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.occurrences.IOccurrenceComputer> bindIOccurrenceComputer() {
+ return org.eclipse.xtext.xbase.ui.jvmmodel.occurrence.JvmModelOccurrenceComputer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation> bindIJavaSearchParticipation() {
+ return org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation.No.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public void configureLanguageSpecificURIEditorOpener(com.google.inject.Binder binder) {
+ if (org.eclipse.ui.PlatformUI.isWorkbenchRunning()) {
+ binder.bind(org.eclipse.xtext.ui.editor.IURIEditorOpener.class).annotatedWith(org.eclipse.xtext.ui.LanguageSpecific.class).to(org.eclipse.xtext.xbase.ui.jvmmodel.navigation.DerivedMemberAwareEditorOpener.class);
+ binder.bind(org.eclipse.xtext.common.types.ui.navigation.IDerivedMemberAwareEditorOpener.class).to(org.eclipse.xtext.xbase.ui.jvmmodel.navigation.DerivedMemberAwareEditorOpener.class);
+ };
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.jface.text.hyperlink.IHyperlinkDetector> bindIHyperlinkDetector() {
+ return org.eclipse.xtext.xbase.ui.navigation.XbaseHyperlinkDetector.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.ui.quickfix.JavaTypeQuickfixes> bindJavaTypeQuickfixes() {
+ return org.eclipse.xtext.xbase.ui.quickfix.JavaTypeQuickfixesNoImportSection.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
+ return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry> provideLanguageRegistry() {
+ return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getLanguageRegistry();
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar> bindLanguageRegistrar() {
+ return org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
+ return org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser> bindIPartialContentAssistParser() {
+ return org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.PartialStrategyDSLContentAssistParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.compare.CompareFragment
+ public Class<? extends org.eclipse.compare.IViewerCreator> bindIViewerCreator() {
+ return org.eclipse.xtext.ui.compare.DefaultViewerCreator.class;
+ }
+
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLExecutableExtensionFactory.java b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLExecutableExtensionFactory.java
new file mode 100644
index 0000000..d86339d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLExecutableExtensionFactory.java
@@ -0,0 +1,39 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+import org.eclipse.osbp.xtext.strategy.ui.internal.StrategyDSLActivator;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class StrategyDSLExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+ @Override
+ protected Bundle getBundle() {
+ return StrategyDSLActivator.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return StrategyDSLActivator.getInstance().getInjector(StrategyDSLActivator.ORG_ECLIPSE_OSBP_XTEXT_STRATEGY_STRATEGYDSL);
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/AbstractStrategyDSLProposalProvider.java b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/AbstractStrategyDSLProposalProvider.java
new file mode 100644
index 0000000..5f0ba3a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/AbstractStrategyDSLProposalProvider.java
@@ -0,0 +1,129 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+
+/**
+ * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.xbase.annotations.ui.contentassist.XbaseWithAnnotationsProposalProvider}.
+ * Methods are dynamically dispatched on the first parameter, i.e., you can override them
+ * with a more concrete subtype.
+ */
+@SuppressWarnings("all")
+public class AbstractStrategyDSLProposalProvider extends org.eclipse.xtext.xbase.annotations.ui.contentassist.XbaseWithAnnotationsProposalProvider {
+
+ public void completeStrategyModel_Packages(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategyPackage_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategyPackage_Imports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategyPackage_Strategy(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategyImport_ImportedNamespace(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategy_Targets(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategy_StrategyDefault(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategyTarget_LayoutingStrategies(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategyTarget_FocusingStrategies(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategyTarget_FocusingEnhancer(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLayoutingStrategy_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeLayoutingStrategy_Layout(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFocusingStrategy_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFocusingStrategy_EcviewFocusingId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFocusingStrategy_Focus(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFocusingStrategy_KeyCode(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFocusingStrategy_ModifierKeys(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFocusingEnhancer_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeFocusingEnhancer_FocusingStrategies(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategyDefault_DefaultLayouting(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStrategyDefault_DefaultFocusing(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+
+ public void complete_StrategyModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StrategyPackage(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StrategyImport(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StrategyQualifiedNameWithWildCard(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Strategy(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StrategyTarget(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_LayoutingStrategy(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_FocusingStrategy(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_FocusingEnhancer(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_StrategyDefault(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_LayoutingEnum(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_FocusingEnum(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/PartialStrategyDSLContentAssistParser.java b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/PartialStrategyDSLContentAssistParser.java
new file mode 100644
index 0000000..5cb9c97
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/PartialStrategyDSLContentAssistParser.java
@@ -0,0 +1,48 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.util.PolymorphicDispatcher;
+
+/**
+ * @author Sebastian Zarnekow - Initial contribution and API
+ */
+@SuppressWarnings("restriction")
+public class PartialStrategyDSLContentAssistParser extends StrategyDSLParser implements IPartialContentAssistParser {
+
+ private AbstractRule rule;
+
+ public void initializeFor(AbstractRule rule) {
+ this.rule = rule;
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ if (rule == null || rule.eIsProxy())
+ return Collections.emptyList();
+ String methodName = "entryRule" + rule.getName();
+ PolymorphicDispatcher<Collection<FollowElement>> dispatcher =
+ new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
+ dispatcher.invoke();
+ return parser.getFollowElements();
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/StrategyDSLParser.java b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/StrategyDSLParser.java
new file mode 100644
index 0000000..1a5d553
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/StrategyDSLParser.java
@@ -0,0 +1,513 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+import com.google.inject.Inject;
+
+import org.eclipse.osbp.xtext.strategy.services.StrategyDSLGrammarAccess;
+
+public class StrategyDSLParser extends AbstractContentAssistParser {
+
+ @Inject
+ private StrategyDSLGrammarAccess grammarAccess;
+
+ private Map<AbstractElement, String> nameMappings;
+
+ @Override
+ protected org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.internal.InternalStrategyDSLParser createParser() {
+ org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.internal.InternalStrategyDSLParser result = new org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.internal.InternalStrategyDSLParser(null);
+ result.setGrammarAccess(grammarAccess);
+ return result;
+ }
+
+ @Override
+ protected String getRuleName(AbstractElement element) {
+ if (nameMappings == null) {
+ nameMappings = new HashMap<AbstractElement, String>() {
+ private static final long serialVersionUID = 1L;
+ {
+ put(grammarAccess.getXAnnotationAccess().getAlternatives_3_1(), "rule__XAnnotation__Alternatives_3_1");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives(), "rule__XAnnotationElementValueOrCommaList__Alternatives");
+ put(grammarAccess.getXAnnotationElementValueAccess().getAlternatives(), "rule__XAnnotationElementValue__Alternatives");
+ put(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives(), "rule__XAnnotationOrExpression__Alternatives");
+ put(grammarAccess.getXAssignmentAccess().getAlternatives(), "rule__XAssignment__Alternatives");
+ put(grammarAccess.getOpMultiAssignAccess().getAlternatives(), "rule__OpMultiAssign__Alternatives");
+ put(grammarAccess.getOpEqualityAccess().getAlternatives(), "rule__OpEquality__Alternatives");
+ put(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1(), "rule__XRelationalExpression__Alternatives_1");
+ put(grammarAccess.getOpCompareAccess().getAlternatives(), "rule__OpCompare__Alternatives");
+ put(grammarAccess.getOpOtherAccess().getAlternatives(), "rule__OpOther__Alternatives");
+ put(grammarAccess.getOpOtherAccess().getAlternatives_5_1(), "rule__OpOther__Alternatives_5_1");
+ put(grammarAccess.getOpOtherAccess().getAlternatives_6_1(), "rule__OpOther__Alternatives_6_1");
+ put(grammarAccess.getOpAddAccess().getAlternatives(), "rule__OpAdd__Alternatives");
+ put(grammarAccess.getOpMultiAccess().getAlternatives(), "rule__OpMulti__Alternatives");
+ put(grammarAccess.getXUnaryOperationAccess().getAlternatives(), "rule__XUnaryOperation__Alternatives");
+ put(grammarAccess.getOpUnaryAccess().getAlternatives(), "rule__OpUnary__Alternatives");
+ put(grammarAccess.getOpPostfixAccess().getAlternatives(), "rule__OpPostfix__Alternatives");
+ put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1(), "rule__XMemberFeatureCall__Alternatives_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1(), "rule__XMemberFeatureCall__Alternatives_1_1_3_1");
+ put(grammarAccess.getXPrimaryExpressionAccess().getAlternatives(), "rule__XPrimaryExpression__Alternatives");
+ put(grammarAccess.getXLiteralAccess().getAlternatives(), "rule__XLiteral__Alternatives");
+ put(grammarAccess.getXCollectionLiteralAccess().getAlternatives(), "rule__XCollectionLiteral__Alternatives");
+ put(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2(), "rule__XSwitchExpression__Alternatives_2");
+ put(grammarAccess.getXCasePartAccess().getAlternatives_3(), "rule__XCasePart__Alternatives_3");
+ put(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives(), "rule__XExpressionOrVarDeclaration__Alternatives");
+ put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1(), "rule__XVariableDeclaration__Alternatives_1");
+ put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2(), "rule__XVariableDeclaration__Alternatives_2");
+ put(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1(), "rule__XFeatureCall__Alternatives_3_1");
+ put(grammarAccess.getFeatureCallIDAccess().getAlternatives(), "rule__FeatureCallID__Alternatives");
+ put(grammarAccess.getIdOrSuperAccess().getAlternatives(), "rule__IdOrSuper__Alternatives");
+ put(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1(), "rule__XConstructorCall__Alternatives_4_1");
+ put(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1(), "rule__XBooleanLiteral__Alternatives_1");
+ put(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3(), "rule__XTryCatchFinallyExpression__Alternatives_3");
+ put(grammarAccess.getNumberAccess().getAlternatives(), "rule__Number__Alternatives");
+ put(grammarAccess.getNumberAccess().getAlternatives_1_0(), "rule__Number__Alternatives_1_0");
+ put(grammarAccess.getNumberAccess().getAlternatives_1_1_1(), "rule__Number__Alternatives_1_1_1");
+ put(grammarAccess.getJvmTypeReferenceAccess().getAlternatives(), "rule__JvmTypeReference__Alternatives");
+ put(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives(), "rule__JvmArgumentTypeReference__Alternatives");
+ put(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2(), "rule__JvmWildcardTypeReference__Alternatives_2");
+ put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1(), "rule__XImportDeclaration__Alternatives_1");
+ put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3(), "rule__XImportDeclaration__Alternatives_1_0_3");
+ put(grammarAccess.getLayoutingEnumAccess().getAlternatives(), "rule__LayoutingEnum__Alternatives");
+ put(grammarAccess.getFocusingEnumAccess().getAlternatives(), "rule__FocusingEnum__Alternatives");
+ put(grammarAccess.getStrategyPackageAccess().getGroup(), "rule__StrategyPackage__Group__0");
+ put(grammarAccess.getStrategyPackageAccess().getGroup_3(), "rule__StrategyPackage__Group_3__0");
+ put(grammarAccess.getStrategyImportAccess().getGroup(), "rule__StrategyImport__Group__0");
+ put(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getGroup(), "rule__StrategyQualifiedNameWithWildCard__Group__0");
+ put(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getGroup_1(), "rule__StrategyQualifiedNameWithWildCard__Group_1__0");
+ put(grammarAccess.getStrategyAccess().getGroup(), "rule__Strategy__Group__0");
+ put(grammarAccess.getStrategyTargetAccess().getGroup(), "rule__StrategyTarget__Group__0");
+ put(grammarAccess.getStrategyTargetAccess().getGroup_2(), "rule__StrategyTarget__Group_2__0");
+ put(grammarAccess.getLayoutingStrategyAccess().getGroup(), "rule__LayoutingStrategy__Group__0");
+ put(grammarAccess.getFocusingStrategyAccess().getGroup(), "rule__FocusingStrategy__Group__0");
+ put(grammarAccess.getFocusingStrategyAccess().getGroup_7(), "rule__FocusingStrategy__Group_7__0");
+ put(grammarAccess.getFocusingStrategyAccess().getGroup_7_4(), "rule__FocusingStrategy__Group_7_4__0");
+ put(grammarAccess.getFocusingEnhancerAccess().getGroup(), "rule__FocusingEnhancer__Group__0");
+ put(grammarAccess.getStrategyDefaultAccess().getGroup(), "rule__StrategyDefault__Group__0");
+ put(grammarAccess.getXAnnotationAccess().getGroup(), "rule__XAnnotation__Group__0");
+ put(grammarAccess.getXAnnotationAccess().getGroup_3(), "rule__XAnnotation__Group_3__0");
+ put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0(), "rule__XAnnotation__Group_3_1_0__0");
+ put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1(), "rule__XAnnotation__Group_3_1_0_1__0");
+ put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup(), "rule__XAnnotationElementValuePair__Group__0");
+ put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0(), "rule__XAnnotationElementValuePair__Group_0__0");
+ put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0(), "rule__XAnnotationElementValuePair__Group_0_0__0");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0(), "rule__XAnnotationElementValueOrCommaList__Group_0__0");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0__0");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1__0");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1(), "rule__XAnnotationElementValueOrCommaList__Group_1__0");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1__0");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0");
+ put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0(), "rule__XAnnotationElementValue__Group_0__0");
+ put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0(), "rule__XAnnotationElementValue__Group_0_0__0");
+ put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0(), "rule__XAnnotationElementValue__Group_0_0_0__0");
+ put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1(), "rule__XAnnotationElementValue__Group_0_1__0");
+ put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1(), "rule__XAnnotationElementValue__Group_0_1_1__0");
+ put(grammarAccess.getXAssignmentAccess().getGroup_0(), "rule__XAssignment__Group_0__0");
+ put(grammarAccess.getXAssignmentAccess().getGroup_1(), "rule__XAssignment__Group_1__0");
+ put(grammarAccess.getXAssignmentAccess().getGroup_1_1(), "rule__XAssignment__Group_1_1__0");
+ put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0(), "rule__XAssignment__Group_1_1_0__0");
+ put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0(), "rule__XAssignment__Group_1_1_0_0__0");
+ put(grammarAccess.getOpMultiAssignAccess().getGroup_5(), "rule__OpMultiAssign__Group_5__0");
+ put(grammarAccess.getOpMultiAssignAccess().getGroup_6(), "rule__OpMultiAssign__Group_6__0");
+ put(grammarAccess.getXOrExpressionAccess().getGroup(), "rule__XOrExpression__Group__0");
+ put(grammarAccess.getXOrExpressionAccess().getGroup_1(), "rule__XOrExpression__Group_1__0");
+ put(grammarAccess.getXOrExpressionAccess().getGroup_1_0(), "rule__XOrExpression__Group_1_0__0");
+ put(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0(), "rule__XOrExpression__Group_1_0_0__0");
+ put(grammarAccess.getXAndExpressionAccess().getGroup(), "rule__XAndExpression__Group__0");
+ put(grammarAccess.getXAndExpressionAccess().getGroup_1(), "rule__XAndExpression__Group_1__0");
+ put(grammarAccess.getXAndExpressionAccess().getGroup_1_0(), "rule__XAndExpression__Group_1_0__0");
+ put(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0(), "rule__XAndExpression__Group_1_0_0__0");
+ put(grammarAccess.getXEqualityExpressionAccess().getGroup(), "rule__XEqualityExpression__Group__0");
+ put(grammarAccess.getXEqualityExpressionAccess().getGroup_1(), "rule__XEqualityExpression__Group_1__0");
+ put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0(), "rule__XEqualityExpression__Group_1_0__0");
+ put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0(), "rule__XEqualityExpression__Group_1_0_0__0");
+ put(grammarAccess.getXRelationalExpressionAccess().getGroup(), "rule__XRelationalExpression__Group__0");
+ put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0(), "rule__XRelationalExpression__Group_1_0__0");
+ put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0(), "rule__XRelationalExpression__Group_1_0_0__0");
+ put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0(), "rule__XRelationalExpression__Group_1_0_0_0__0");
+ put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1(), "rule__XRelationalExpression__Group_1_1__0");
+ put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0(), "rule__XRelationalExpression__Group_1_1_0__0");
+ put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0(), "rule__XRelationalExpression__Group_1_1_0_0__0");
+ put(grammarAccess.getOpCompareAccess().getGroup_1(), "rule__OpCompare__Group_1__0");
+ put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup(), "rule__XOtherOperatorExpression__Group__0");
+ put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1(), "rule__XOtherOperatorExpression__Group_1__0");
+ put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0(), "rule__XOtherOperatorExpression__Group_1_0__0");
+ put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0(), "rule__XOtherOperatorExpression__Group_1_0_0__0");
+ put(grammarAccess.getOpOtherAccess().getGroup_2(), "rule__OpOther__Group_2__0");
+ put(grammarAccess.getOpOtherAccess().getGroup_5(), "rule__OpOther__Group_5__0");
+ put(grammarAccess.getOpOtherAccess().getGroup_5_1_0(), "rule__OpOther__Group_5_1_0__0");
+ put(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0(), "rule__OpOther__Group_5_1_0_0__0");
+ put(grammarAccess.getOpOtherAccess().getGroup_6(), "rule__OpOther__Group_6__0");
+ put(grammarAccess.getOpOtherAccess().getGroup_6_1_0(), "rule__OpOther__Group_6_1_0__0");
+ put(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0(), "rule__OpOther__Group_6_1_0_0__0");
+ put(grammarAccess.getXAdditiveExpressionAccess().getGroup(), "rule__XAdditiveExpression__Group__0");
+ put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1(), "rule__XAdditiveExpression__Group_1__0");
+ put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0(), "rule__XAdditiveExpression__Group_1_0__0");
+ put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0(), "rule__XAdditiveExpression__Group_1_0_0__0");
+ put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup(), "rule__XMultiplicativeExpression__Group__0");
+ put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1(), "rule__XMultiplicativeExpression__Group_1__0");
+ put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0(), "rule__XMultiplicativeExpression__Group_1_0__0");
+ put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0(), "rule__XMultiplicativeExpression__Group_1_0_0__0");
+ put(grammarAccess.getXUnaryOperationAccess().getGroup_0(), "rule__XUnaryOperation__Group_0__0");
+ put(grammarAccess.getXCastedExpressionAccess().getGroup(), "rule__XCastedExpression__Group__0");
+ put(grammarAccess.getXCastedExpressionAccess().getGroup_1(), "rule__XCastedExpression__Group_1__0");
+ put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0(), "rule__XCastedExpression__Group_1_0__0");
+ put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0(), "rule__XCastedExpression__Group_1_0_0__0");
+ put(grammarAccess.getXPostfixOperationAccess().getGroup(), "rule__XPostfixOperation__Group__0");
+ put(grammarAccess.getXPostfixOperationAccess().getGroup_1(), "rule__XPostfixOperation__Group_1__0");
+ put(grammarAccess.getXPostfixOperationAccess().getGroup_1_0(), "rule__XPostfixOperation__Group_1_0__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup(), "rule__XMemberFeatureCall__Group__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0(), "rule__XMemberFeatureCall__Group_1_0__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0(), "rule__XMemberFeatureCall__Group_1_0_0__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0(), "rule__XMemberFeatureCall__Group_1_0_0_0__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1(), "rule__XMemberFeatureCall__Group_1_1__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0(), "rule__XMemberFeatureCall__Group_1_1_0__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0(), "rule__XMemberFeatureCall__Group_1_1_0_0__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_1__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2(), "rule__XMemberFeatureCall__Group_1_1_1_2__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3(), "rule__XMemberFeatureCall__Group_1_1_3__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1__0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0");
+ put(grammarAccess.getXSetLiteralAccess().getGroup(), "rule__XSetLiteral__Group__0");
+ put(grammarAccess.getXSetLiteralAccess().getGroup_3(), "rule__XSetLiteral__Group_3__0");
+ put(grammarAccess.getXSetLiteralAccess().getGroup_3_1(), "rule__XSetLiteral__Group_3_1__0");
+ put(grammarAccess.getXListLiteralAccess().getGroup(), "rule__XListLiteral__Group__0");
+ put(grammarAccess.getXListLiteralAccess().getGroup_3(), "rule__XListLiteral__Group_3__0");
+ put(grammarAccess.getXListLiteralAccess().getGroup_3_1(), "rule__XListLiteral__Group_3_1__0");
+ put(grammarAccess.getXClosureAccess().getGroup(), "rule__XClosure__Group__0");
+ put(grammarAccess.getXClosureAccess().getGroup_0(), "rule__XClosure__Group_0__0");
+ put(grammarAccess.getXClosureAccess().getGroup_0_0(), "rule__XClosure__Group_0_0__0");
+ put(grammarAccess.getXClosureAccess().getGroup_1(), "rule__XClosure__Group_1__0");
+ put(grammarAccess.getXClosureAccess().getGroup_1_0(), "rule__XClosure__Group_1_0__0");
+ put(grammarAccess.getXClosureAccess().getGroup_1_0_0(), "rule__XClosure__Group_1_0_0__0");
+ put(grammarAccess.getXClosureAccess().getGroup_1_0_0_1(), "rule__XClosure__Group_1_0_0_1__0");
+ put(grammarAccess.getXExpressionInClosureAccess().getGroup(), "rule__XExpressionInClosure__Group__0");
+ put(grammarAccess.getXExpressionInClosureAccess().getGroup_1(), "rule__XExpressionInClosure__Group_1__0");
+ put(grammarAccess.getXShortClosureAccess().getGroup(), "rule__XShortClosure__Group__0");
+ put(grammarAccess.getXShortClosureAccess().getGroup_0(), "rule__XShortClosure__Group_0__0");
+ put(grammarAccess.getXShortClosureAccess().getGroup_0_0(), "rule__XShortClosure__Group_0_0__0");
+ put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1(), "rule__XShortClosure__Group_0_0_1__0");
+ put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1(), "rule__XShortClosure__Group_0_0_1_1__0");
+ put(grammarAccess.getXParenthesizedExpressionAccess().getGroup(), "rule__XParenthesizedExpression__Group__0");
+ put(grammarAccess.getXIfExpressionAccess().getGroup(), "rule__XIfExpression__Group__0");
+ put(grammarAccess.getXIfExpressionAccess().getGroup_6(), "rule__XIfExpression__Group_6__0");
+ put(grammarAccess.getXSwitchExpressionAccess().getGroup(), "rule__XSwitchExpression__Group__0");
+ put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0(), "rule__XSwitchExpression__Group_2_0__0");
+ put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0(), "rule__XSwitchExpression__Group_2_0_0__0");
+ put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0(), "rule__XSwitchExpression__Group_2_0_0_0__0");
+ put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1(), "rule__XSwitchExpression__Group_2_1__0");
+ put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0(), "rule__XSwitchExpression__Group_2_1_0__0");
+ put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0(), "rule__XSwitchExpression__Group_2_1_0_0__0");
+ put(grammarAccess.getXSwitchExpressionAccess().getGroup_5(), "rule__XSwitchExpression__Group_5__0");
+ put(grammarAccess.getXCasePartAccess().getGroup(), "rule__XCasePart__Group__0");
+ put(grammarAccess.getXCasePartAccess().getGroup_2(), "rule__XCasePart__Group_2__0");
+ put(grammarAccess.getXCasePartAccess().getGroup_3_0(), "rule__XCasePart__Group_3_0__0");
+ put(grammarAccess.getXForLoopExpressionAccess().getGroup(), "rule__XForLoopExpression__Group__0");
+ put(grammarAccess.getXForLoopExpressionAccess().getGroup_0(), "rule__XForLoopExpression__Group_0__0");
+ put(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0(), "rule__XForLoopExpression__Group_0_0__0");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup(), "rule__XBasicForLoopExpression__Group__0");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3(), "rule__XBasicForLoopExpression__Group_3__0");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1(), "rule__XBasicForLoopExpression__Group_3_1__0");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7(), "rule__XBasicForLoopExpression__Group_7__0");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1(), "rule__XBasicForLoopExpression__Group_7_1__0");
+ put(grammarAccess.getXWhileExpressionAccess().getGroup(), "rule__XWhileExpression__Group__0");
+ put(grammarAccess.getXDoWhileExpressionAccess().getGroup(), "rule__XDoWhileExpression__Group__0");
+ put(grammarAccess.getXBlockExpressionAccess().getGroup(), "rule__XBlockExpression__Group__0");
+ put(grammarAccess.getXBlockExpressionAccess().getGroup_2(), "rule__XBlockExpression__Group_2__0");
+ put(grammarAccess.getXVariableDeclarationAccess().getGroup(), "rule__XVariableDeclaration__Group__0");
+ put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0(), "rule__XVariableDeclaration__Group_2_0__0");
+ put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0(), "rule__XVariableDeclaration__Group_2_0_0__0");
+ put(grammarAccess.getXVariableDeclarationAccess().getGroup_3(), "rule__XVariableDeclaration__Group_3__0");
+ put(grammarAccess.getJvmFormalParameterAccess().getGroup(), "rule__JvmFormalParameter__Group__0");
+ put(grammarAccess.getFullJvmFormalParameterAccess().getGroup(), "rule__FullJvmFormalParameter__Group__0");
+ put(grammarAccess.getXFeatureCallAccess().getGroup(), "rule__XFeatureCall__Group__0");
+ put(grammarAccess.getXFeatureCallAccess().getGroup_1(), "rule__XFeatureCall__Group_1__0");
+ put(grammarAccess.getXFeatureCallAccess().getGroup_1_2(), "rule__XFeatureCall__Group_1_2__0");
+ put(grammarAccess.getXFeatureCallAccess().getGroup_3(), "rule__XFeatureCall__Group_3__0");
+ put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1(), "rule__XFeatureCall__Group_3_1_1__0");
+ put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1(), "rule__XFeatureCall__Group_3_1_1_1__0");
+ put(grammarAccess.getXConstructorCallAccess().getGroup(), "rule__XConstructorCall__Group__0");
+ put(grammarAccess.getXConstructorCallAccess().getGroup_3(), "rule__XConstructorCall__Group_3__0");
+ put(grammarAccess.getXConstructorCallAccess().getGroup_3_2(), "rule__XConstructorCall__Group_3_2__0");
+ put(grammarAccess.getXConstructorCallAccess().getGroup_4(), "rule__XConstructorCall__Group_4__0");
+ put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1(), "rule__XConstructorCall__Group_4_1_1__0");
+ put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1(), "rule__XConstructorCall__Group_4_1_1_1__0");
+ put(grammarAccess.getXBooleanLiteralAccess().getGroup(), "rule__XBooleanLiteral__Group__0");
+ put(grammarAccess.getXNullLiteralAccess().getGroup(), "rule__XNullLiteral__Group__0");
+ put(grammarAccess.getXNumberLiteralAccess().getGroup(), "rule__XNumberLiteral__Group__0");
+ put(grammarAccess.getXStringLiteralAccess().getGroup(), "rule__XStringLiteral__Group__0");
+ put(grammarAccess.getXTypeLiteralAccess().getGroup(), "rule__XTypeLiteral__Group__0");
+ put(grammarAccess.getXThrowExpressionAccess().getGroup(), "rule__XThrowExpression__Group__0");
+ put(grammarAccess.getXReturnExpressionAccess().getGroup(), "rule__XReturnExpression__Group__0");
+ put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup(), "rule__XTryCatchFinallyExpression__Group__0");
+ put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0(), "rule__XTryCatchFinallyExpression__Group_3_0__0");
+ put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1(), "rule__XTryCatchFinallyExpression__Group_3_0_1__0");
+ put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1(), "rule__XTryCatchFinallyExpression__Group_3_1__0");
+ put(grammarAccess.getXSynchronizedExpressionAccess().getGroup(), "rule__XSynchronizedExpression__Group__0");
+ put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0(), "rule__XSynchronizedExpression__Group_0__0");
+ put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0(), "rule__XSynchronizedExpression__Group_0_0__0");
+ put(grammarAccess.getXCatchClauseAccess().getGroup(), "rule__XCatchClause__Group__0");
+ put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
+ put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
+ put(grammarAccess.getNumberAccess().getGroup_1(), "rule__Number__Group_1__0");
+ put(grammarAccess.getNumberAccess().getGroup_1_1(), "rule__Number__Group_1_1__0");
+ put(grammarAccess.getStaticQualifierAccess().getGroup(), "rule__StaticQualifier__Group__0");
+ put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0(), "rule__JvmTypeReference__Group_0__0");
+ put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1(), "rule__JvmTypeReference__Group_0_1__0");
+ put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0(), "rule__JvmTypeReference__Group_0_1_0__0");
+ put(grammarAccess.getArrayBracketsAccess().getGroup(), "rule__ArrayBrackets__Group__0");
+ put(grammarAccess.getXFunctionTypeRefAccess().getGroup(), "rule__XFunctionTypeRef__Group__0");
+ put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0(), "rule__XFunctionTypeRef__Group_0__0");
+ put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1(), "rule__XFunctionTypeRef__Group_0_1__0");
+ put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1(), "rule__XFunctionTypeRef__Group_0_1_1__0");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup(), "rule__JvmParameterizedTypeReference__Group__0");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1(), "rule__JvmParameterizedTypeReference__Group_1__0");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2(), "rule__JvmParameterizedTypeReference__Group_1_2__0");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4(), "rule__JvmParameterizedTypeReference__Group_1_4__0");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0__0");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2__0");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0");
+ put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup(), "rule__JvmWildcardTypeReference__Group__0");
+ put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0(), "rule__JvmWildcardTypeReference__Group_2_0__0");
+ put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1(), "rule__JvmWildcardTypeReference__Group_2_1__0");
+ put(grammarAccess.getJvmUpperBoundAccess().getGroup(), "rule__JvmUpperBound__Group__0");
+ put(grammarAccess.getJvmUpperBoundAndedAccess().getGroup(), "rule__JvmUpperBoundAnded__Group__0");
+ put(grammarAccess.getJvmLowerBoundAccess().getGroup(), "rule__JvmLowerBound__Group__0");
+ put(grammarAccess.getJvmLowerBoundAndedAccess().getGroup(), "rule__JvmLowerBoundAnded__Group__0");
+ put(grammarAccess.getJvmTypeParameterAccess().getGroup(), "rule__JvmTypeParameter__Group__0");
+ put(grammarAccess.getJvmTypeParameterAccess().getGroup_1(), "rule__JvmTypeParameter__Group_1__0");
+ put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup(), "rule__QualifiedNameWithWildcard__Group__0");
+ put(grammarAccess.getXImportDeclarationAccess().getGroup(), "rule__XImportDeclaration__Group__0");
+ put(grammarAccess.getXImportDeclarationAccess().getGroup_1_0(), "rule__XImportDeclaration__Group_1_0__0");
+ put(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup(), "rule__QualifiedNameInStaticImport__Group__0");
+ put(grammarAccess.getStrategyModelAccess().getPackagesAssignment(), "rule__StrategyModel__PackagesAssignment");
+ put(grammarAccess.getStrategyPackageAccess().getNameAssignment_2(), "rule__StrategyPackage__NameAssignment_2");
+ put(grammarAccess.getStrategyPackageAccess().getImportsAssignment_3_1(), "rule__StrategyPackage__ImportsAssignment_3_1");
+ put(grammarAccess.getStrategyPackageAccess().getStrategyAssignment_3_2(), "rule__StrategyPackage__StrategyAssignment_3_2");
+ put(grammarAccess.getStrategyImportAccess().getImportedNamespaceAssignment_1(), "rule__StrategyImport__ImportedNamespaceAssignment_1");
+ put(grammarAccess.getStrategyAccess().getTargetsAssignment_3(), "rule__Strategy__TargetsAssignment_3");
+ put(grammarAccess.getStrategyAccess().getStrategyDefaultAssignment_4(), "rule__Strategy__StrategyDefaultAssignment_4");
+ put(grammarAccess.getStrategyTargetAccess().getLayoutingStrategiesAssignment_2_1(), "rule__StrategyTarget__LayoutingStrategiesAssignment_2_1");
+ put(grammarAccess.getStrategyTargetAccess().getFocusingStrategiesAssignment_2_2(), "rule__StrategyTarget__FocusingStrategiesAssignment_2_2");
+ put(grammarAccess.getStrategyTargetAccess().getFocusingEnhancerAssignment_2_3(), "rule__StrategyTarget__FocusingEnhancerAssignment_2_3");
+ put(grammarAccess.getLayoutingStrategyAccess().getNameAssignment_2(), "rule__LayoutingStrategy__NameAssignment_2");
+ put(grammarAccess.getLayoutingStrategyAccess().getLayoutAssignment_4(), "rule__LayoutingStrategy__LayoutAssignment_4");
+ put(grammarAccess.getFocusingStrategyAccess().getNameAssignment_2(), "rule__FocusingStrategy__NameAssignment_2");
+ put(grammarAccess.getFocusingStrategyAccess().getEcviewFocusingIdAssignment_4(), "rule__FocusingStrategy__EcviewFocusingIdAssignment_4");
+ put(grammarAccess.getFocusingStrategyAccess().getFocusAssignment_6(), "rule__FocusingStrategy__FocusAssignment_6");
+ put(grammarAccess.getFocusingStrategyAccess().getKeyCodeAssignment_7_3(), "rule__FocusingStrategy__KeyCodeAssignment_7_3");
+ put(grammarAccess.getFocusingStrategyAccess().getModifierKeysAssignment_7_4_2(), "rule__FocusingStrategy__ModifierKeysAssignment_7_4_2");
+ put(grammarAccess.getFocusingEnhancerAccess().getNameAssignment_2(), "rule__FocusingEnhancer__NameAssignment_2");
+ put(grammarAccess.getFocusingEnhancerAccess().getFocusingStrategiesAssignment_4(), "rule__FocusingEnhancer__FocusingStrategiesAssignment_4");
+ put(grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingAssignment_4(), "rule__StrategyDefault__DefaultLayoutingAssignment_4");
+ put(grammarAccess.getStrategyDefaultAccess().getDefaultFocusingAssignment_6(), "rule__StrategyDefault__DefaultFocusingAssignment_6");
+ put(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2(), "rule__XAnnotation__AnnotationTypeAssignment_2");
+ put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0");
+ put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1");
+ put(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1(), "rule__XAnnotation__ValueAssignment_3_1_1");
+ put(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0(), "rule__XAnnotationElementValuePair__ElementAssignment_0_0_0");
+ put(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1(), "rule__XAnnotationElementValuePair__ValueAssignment_1");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1");
+ put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1");
+ put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_0");
+ put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1");
+ put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1(), "rule__XAssignment__FeatureAssignment_0_1");
+ put(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3(), "rule__XAssignment__ValueAssignment_0_3");
+ put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XAssignment__FeatureAssignment_1_1_0_0_1");
+ put(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1(), "rule__XAssignment__RightOperandAssignment_1_1_1");
+ put(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOrExpression__FeatureAssignment_1_0_0_1");
+ put(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOrExpression__RightOperandAssignment_1_1");
+ put(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAndExpression__FeatureAssignment_1_0_0_1");
+ put(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAndExpression__RightOperandAssignment_1_1");
+ put(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XEqualityExpression__FeatureAssignment_1_0_0_1");
+ put(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1(), "rule__XEqualityExpression__RightOperandAssignment_1_1");
+ put(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1(), "rule__XRelationalExpression__TypeAssignment_1_0_1");
+ put(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1");
+ put(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1(), "rule__XRelationalExpression__RightOperandAssignment_1_1_1");
+ put(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1");
+ put(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOtherOperatorExpression__RightOperandAssignment_1_1");
+ put(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1");
+ put(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAdditiveExpression__RightOperandAssignment_1_1");
+ put(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1");
+ put(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1(), "rule__XMultiplicativeExpression__RightOperandAssignment_1_1");
+ put(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1(), "rule__XUnaryOperation__FeatureAssignment_0_1");
+ put(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2(), "rule__XUnaryOperation__OperandAssignment_0_2");
+ put(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1(), "rule__XCastedExpression__TypeAssignment_1_1");
+ put(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1(), "rule__XPostfixOperation__FeatureAssignment_1_0_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2");
+ put(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1(), "rule__XMemberFeatureCall__ValueAssignment_1_0_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1(), "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2");
+ put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_1_2");
+ put(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0(), "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0");
+ put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1");
+ put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4");
+ put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0(), "rule__XSetLiteral__ElementsAssignment_3_0");
+ put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1(), "rule__XSetLiteral__ElementsAssignment_3_1_1");
+ put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0(), "rule__XListLiteral__ElementsAssignment_3_0");
+ put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1(), "rule__XListLiteral__ElementsAssignment_3_1_1");
+ put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0");
+ put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1");
+ put(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1(), "rule__XClosure__ExplicitSyntaxAssignment_1_0_1");
+ put(grammarAccess.getXClosureAccess().getExpressionAssignment_2(), "rule__XClosure__ExpressionAssignment_2");
+ put(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0(), "rule__XExpressionInClosure__ExpressionsAssignment_1_0");
+ put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0");
+ put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1");
+ put(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2(), "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2");
+ put(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1(), "rule__XShortClosure__ExpressionAssignment_1");
+ put(grammarAccess.getXIfExpressionAccess().getIfAssignment_3(), "rule__XIfExpression__IfAssignment_3");
+ put(grammarAccess.getXIfExpressionAccess().getThenAssignment_5(), "rule__XIfExpression__ThenAssignment_5");
+ put(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1(), "rule__XIfExpression__ElseAssignment_6_1");
+ put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1(), "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1");
+ put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1(), "rule__XSwitchExpression__SwitchAssignment_2_0_1");
+ put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0(), "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0");
+ put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1(), "rule__XSwitchExpression__SwitchAssignment_2_1_1");
+ put(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4(), "rule__XSwitchExpression__CasesAssignment_4");
+ put(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2(), "rule__XSwitchExpression__DefaultAssignment_5_2");
+ put(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1(), "rule__XCasePart__TypeGuardAssignment_1");
+ put(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1(), "rule__XCasePart__CaseAssignment_2_1");
+ put(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1(), "rule__XCasePart__ThenAssignment_3_0_1");
+ put(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1(), "rule__XCasePart__FallThroughAssignment_3_1");
+ put(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3(), "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3");
+ put(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1(), "rule__XForLoopExpression__ForExpressionAssignment_1");
+ put(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3(), "rule__XForLoopExpression__EachExpressionAssignment_3");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5(), "rule__XBasicForLoopExpression__ExpressionAssignment_5");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1");
+ put(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9(), "rule__XBasicForLoopExpression__EachExpressionAssignment_9");
+ put(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3(), "rule__XWhileExpression__PredicateAssignment_3");
+ put(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5(), "rule__XWhileExpression__BodyAssignment_5");
+ put(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2(), "rule__XDoWhileExpression__BodyAssignment_2");
+ put(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5(), "rule__XDoWhileExpression__PredicateAssignment_5");
+ put(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0(), "rule__XBlockExpression__ExpressionsAssignment_2_0");
+ put(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0(), "rule__XVariableDeclaration__WriteableAssignment_1_0");
+ put(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0(), "rule__XVariableDeclaration__TypeAssignment_2_0_0_0");
+ put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1(), "rule__XVariableDeclaration__NameAssignment_2_0_0_1");
+ put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1(), "rule__XVariableDeclaration__NameAssignment_2_1");
+ put(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1(), "rule__XVariableDeclaration__RightAssignment_3_1");
+ put(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__JvmFormalParameter__ParameterTypeAssignment_0");
+ put(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1(), "rule__JvmFormalParameter__NameAssignment_1");
+ put(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__FullJvmFormalParameter__ParameterTypeAssignment_0");
+ put(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1(), "rule__FullJvmFormalParameter__NameAssignment_1");
+ put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_1");
+ put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1");
+ put(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2(), "rule__XFeatureCall__FeatureAssignment_2");
+ put(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0(), "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0");
+ put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0");
+ put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0");
+ put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1");
+ put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_4");
+ put(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2(), "rule__XConstructorCall__ConstructorAssignment_2");
+ put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_1");
+ put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1");
+ put(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0(), "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0");
+ put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_0");
+ put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0");
+ put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1");
+ put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5(), "rule__XConstructorCall__ArgumentsAssignment_5");
+ put(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1(), "rule__XBooleanLiteral__IsTrueAssignment_1_1");
+ put(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1(), "rule__XNumberLiteral__ValueAssignment_1");
+ put(grammarAccess.getXStringLiteralAccess().getValueAssignment_1(), "rule__XStringLiteral__ValueAssignment_1");
+ put(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3(), "rule__XTypeLiteral__TypeAssignment_3");
+ put(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4(), "rule__XTypeLiteral__ArrayDimensionsAssignment_4");
+ put(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2(), "rule__XThrowExpression__ExpressionAssignment_2");
+ put(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2(), "rule__XReturnExpression__ExpressionAssignment_2");
+ put(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2(), "rule__XTryCatchFinallyExpression__ExpressionAssignment_2");
+ put(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0(), "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0");
+ put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1");
+ put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1");
+ put(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1(), "rule__XSynchronizedExpression__ParamAssignment_1");
+ put(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3(), "rule__XSynchronizedExpression__ExpressionAssignment_3");
+ put(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2(), "rule__XCatchClause__DeclaredParamAssignment_2");
+ put(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4(), "rule__XCatchClause__ExpressionAssignment_4");
+ put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0");
+ put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1");
+ put(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2(), "rule__XFunctionTypeRef__ReturnTypeAssignment_2");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0(), "rule__JvmParameterizedTypeReference__TypeAssignment_0");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1(), "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1");
+ put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1");
+ put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0");
+ put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1");
+ put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0");
+ put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1");
+ put(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBound__TypeReferenceAssignment_1");
+ put(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1");
+ put(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBound__TypeReferenceAssignment_1");
+ put(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1");
+ put(grammarAccess.getJvmTypeParameterAccess().getNameAssignment_0(), "rule__JvmTypeParameter__NameAssignment_0");
+ put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0(), "rule__JvmTypeParameter__ConstraintsAssignment_1_0");
+ put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(), "rule__JvmTypeParameter__ConstraintsAssignment_1_1");
+ put(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment(), "rule__XImportSection__ImportDeclarationsAssignment");
+ put(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0(), "rule__XImportDeclaration__StaticAssignment_1_0_0");
+ put(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1(), "rule__XImportDeclaration__ExtensionAssignment_1_0_1");
+ put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2(), "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2");
+ put(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0(), "rule__XImportDeclaration__WildcardAssignment_1_0_3_0");
+ put(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1(), "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1");
+ put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1(), "rule__XImportDeclaration__ImportedTypeAssignment_1_1");
+ put(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2(), "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2");
+ }
+ };
+ }
+ return nameMappings.get(element);
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ try {
+ org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.internal.InternalStrategyDSLParser typedParser = (org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.internal.InternalStrategyDSLParser) parser;
+ typedParser.entryRuleStrategyModel();
+ return typedParser.getFollowElements();
+ } catch(RecognitionException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ @Override
+ protected String[] getInitialHiddenTokens() {
+ return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
+ }
+
+ public StrategyDSLGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(StrategyDSLGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g
new file mode 100644
index 0000000..cebae64
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g
@@ -0,0 +1,10014 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+grammar InternalStrategyDSL;
+
+options {
+ superClass=AbstractInternalContentAssistParser;
+ backtrack=true;
+
+}
+
+@lexer::header {
+package org.eclipse.osbp.xtext.strategy.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.osbp.xtext.strategy.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.osbp.xtext.strategy.services.StrategyDSLGrammarAccess;
+
+}
+
+@parser::members {
+
+ private StrategyDSLGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(StrategyDSLGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+}
+
+
+
+
+// Entry rule entryRuleStrategyModel
+entryRuleStrategyModel
+:
+{ before(grammarAccess.getStrategyModelRule()); }
+ ruleStrategyModel
+{ after(grammarAccess.getStrategyModelRule()); }
+ EOF
+;
+
+// Rule StrategyModel
+ruleStrategyModel
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStrategyModelAccess().getPackagesAssignment()); }
+(rule__StrategyModel__PackagesAssignment)*
+{ after(grammarAccess.getStrategyModelAccess().getPackagesAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStrategyPackage
+entryRuleStrategyPackage
+:
+{ before(grammarAccess.getStrategyPackageRule()); }
+ ruleStrategyPackage
+{ after(grammarAccess.getStrategyPackageRule()); }
+ EOF
+;
+
+// Rule StrategyPackage
+ruleStrategyPackage
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStrategyPackageAccess().getGroup()); }
+(rule__StrategyPackage__Group__0)
+{ after(grammarAccess.getStrategyPackageAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStrategyImport
+entryRuleStrategyImport
+:
+{ before(grammarAccess.getStrategyImportRule()); }
+ ruleStrategyImport
+{ after(grammarAccess.getStrategyImportRule()); }
+ EOF
+;
+
+// Rule StrategyImport
+ruleStrategyImport
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStrategyImportAccess().getGroup()); }
+(rule__StrategyImport__Group__0)
+{ after(grammarAccess.getStrategyImportAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStrategyQualifiedNameWithWildCard
+entryRuleStrategyQualifiedNameWithWildCard
+:
+{ before(grammarAccess.getStrategyQualifiedNameWithWildCardRule()); }
+ ruleStrategyQualifiedNameWithWildCard
+{ after(grammarAccess.getStrategyQualifiedNameWithWildCardRule()); }
+ EOF
+;
+
+// Rule StrategyQualifiedNameWithWildCard
+ruleStrategyQualifiedNameWithWildCard
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getGroup()); }
+(rule__StrategyQualifiedNameWithWildCard__Group__0)
+{ after(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStrategy
+entryRuleStrategy
+:
+{ before(grammarAccess.getStrategyRule()); }
+ ruleStrategy
+{ after(grammarAccess.getStrategyRule()); }
+ EOF
+;
+
+// Rule Strategy
+ruleStrategy
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStrategyAccess().getGroup()); }
+(rule__Strategy__Group__0)
+{ after(grammarAccess.getStrategyAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStrategyTarget
+entryRuleStrategyTarget
+:
+{ before(grammarAccess.getStrategyTargetRule()); }
+ ruleStrategyTarget
+{ after(grammarAccess.getStrategyTargetRule()); }
+ EOF
+;
+
+// Rule StrategyTarget
+ruleStrategyTarget
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStrategyTargetAccess().getGroup()); }
+(rule__StrategyTarget__Group__0)
+{ after(grammarAccess.getStrategyTargetAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLayoutingStrategy
+entryRuleLayoutingStrategy
+:
+{ before(grammarAccess.getLayoutingStrategyRule()); }
+ ruleLayoutingStrategy
+{ after(grammarAccess.getLayoutingStrategyRule()); }
+ EOF
+;
+
+// Rule LayoutingStrategy
+ruleLayoutingStrategy
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLayoutingStrategyAccess().getGroup()); }
+(rule__LayoutingStrategy__Group__0)
+{ after(grammarAccess.getLayoutingStrategyAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFocusingStrategy
+entryRuleFocusingStrategy
+:
+{ before(grammarAccess.getFocusingStrategyRule()); }
+ ruleFocusingStrategy
+{ after(grammarAccess.getFocusingStrategyRule()); }
+ EOF
+;
+
+// Rule FocusingStrategy
+ruleFocusingStrategy
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getGroup()); }
+(rule__FocusingStrategy__Group__0)
+{ after(grammarAccess.getFocusingStrategyAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFocusingEnhancer
+entryRuleFocusingEnhancer
+:
+{ before(grammarAccess.getFocusingEnhancerRule()); }
+ ruleFocusingEnhancer
+{ after(grammarAccess.getFocusingEnhancerRule()); }
+ EOF
+;
+
+// Rule FocusingEnhancer
+ruleFocusingEnhancer
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFocusingEnhancerAccess().getGroup()); }
+(rule__FocusingEnhancer__Group__0)
+{ after(grammarAccess.getFocusingEnhancerAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStrategyDefault
+entryRuleStrategyDefault
+:
+{ before(grammarAccess.getStrategyDefaultRule()); }
+ ruleStrategyDefault
+{ after(grammarAccess.getStrategyDefaultRule()); }
+ EOF
+;
+
+// Rule StrategyDefault
+ruleStrategyDefault
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStrategyDefaultAccess().getGroup()); }
+(rule__StrategyDefault__Group__0)
+{ after(grammarAccess.getStrategyDefaultAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotation
+entryRuleXAnnotation
+:
+{ before(grammarAccess.getXAnnotationRule()); }
+ ruleXAnnotation
+{ after(grammarAccess.getXAnnotationRule()); }
+ EOF
+;
+
+// Rule XAnnotation
+ruleXAnnotation
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXAnnotationAccess().getGroup()); }
+(rule__XAnnotation__Group__0)
+{ after(grammarAccess.getXAnnotationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotationElementValuePair
+entryRuleXAnnotationElementValuePair
+:
+{ before(grammarAccess.getXAnnotationElementValuePairRule()); }
+ ruleXAnnotationElementValuePair
+{ after(grammarAccess.getXAnnotationElementValuePairRule()); }
+ EOF
+;
+
+// Rule XAnnotationElementValuePair
+ruleXAnnotationElementValuePair
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup()); }
+(rule__XAnnotationElementValuePair__Group__0)
+{ after(grammarAccess.getXAnnotationElementValuePairAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotationElementValueOrCommaList
+entryRuleXAnnotationElementValueOrCommaList
+:
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListRule()); }
+ ruleXAnnotationElementValueOrCommaList
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListRule()); }
+ EOF
+;
+
+// Rule XAnnotationElementValueOrCommaList
+ruleXAnnotationElementValueOrCommaList
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives()); }
+(rule__XAnnotationElementValueOrCommaList__Alternatives)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotationElementValue
+entryRuleXAnnotationElementValue
+:
+{ before(grammarAccess.getXAnnotationElementValueRule()); }
+ ruleXAnnotationElementValue
+{ after(grammarAccess.getXAnnotationElementValueRule()); }
+ EOF
+;
+
+// Rule XAnnotationElementValue
+ruleXAnnotationElementValue
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getAlternatives()); }
+(rule__XAnnotationElementValue__Alternatives)
+{ after(grammarAccess.getXAnnotationElementValueAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotationOrExpression
+entryRuleXAnnotationOrExpression
+:
+{ before(grammarAccess.getXAnnotationOrExpressionRule()); }
+ ruleXAnnotationOrExpression
+{ after(grammarAccess.getXAnnotationOrExpressionRule()); }
+ EOF
+;
+
+// Rule XAnnotationOrExpression
+ruleXAnnotationOrExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives()); }
+(rule__XAnnotationOrExpression__Alternatives)
+{ after(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXExpression
+entryRuleXExpression
+:
+{ before(grammarAccess.getXExpressionRule()); }
+ ruleXExpression
+{ after(grammarAccess.getXExpressionRule()); }
+ EOF
+;
+
+// Rule XExpression
+ruleXExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); }
+ ruleXAssignment
+{ after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAssignment
+entryRuleXAssignment
+:
+{ before(grammarAccess.getXAssignmentRule()); }
+ ruleXAssignment
+{ after(grammarAccess.getXAssignmentRule()); }
+ EOF
+;
+
+// Rule XAssignment
+ruleXAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXAssignmentAccess().getAlternatives()); }
+(rule__XAssignment__Alternatives)
+{ after(grammarAccess.getXAssignmentAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpSingleAssign
+entryRuleOpSingleAssign
+:
+{ before(grammarAccess.getOpSingleAssignRule()); }
+ ruleOpSingleAssign
+{ after(grammarAccess.getOpSingleAssignRule()); }
+ EOF
+;
+
+// Rule OpSingleAssign
+ruleOpSingleAssign
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); }
+
+ '='
+
+{ after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpMultiAssign
+entryRuleOpMultiAssign
+:
+{ before(grammarAccess.getOpMultiAssignRule()); }
+ ruleOpMultiAssign
+{ after(grammarAccess.getOpMultiAssignRule()); }
+ EOF
+;
+
+// Rule OpMultiAssign
+ruleOpMultiAssign
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); }
+(rule__OpMultiAssign__Alternatives)
+{ after(grammarAccess.getOpMultiAssignAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXOrExpression
+entryRuleXOrExpression
+:
+{ before(grammarAccess.getXOrExpressionRule()); }
+ ruleXOrExpression
+{ after(grammarAccess.getXOrExpressionRule()); }
+ EOF
+;
+
+// Rule XOrExpression
+ruleXOrExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXOrExpressionAccess().getGroup()); }
+(rule__XOrExpression__Group__0)
+{ after(grammarAccess.getXOrExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpOr
+entryRuleOpOr
+:
+{ before(grammarAccess.getOpOrRule()); }
+ ruleOpOr
+{ after(grammarAccess.getOpOrRule()); }
+ EOF
+;
+
+// Rule OpOr
+ruleOpOr
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); }
+
+ '||'
+
+{ after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAndExpression
+entryRuleXAndExpression
+:
+{ before(grammarAccess.getXAndExpressionRule()); }
+ ruleXAndExpression
+{ after(grammarAccess.getXAndExpressionRule()); }
+ EOF
+;
+
+// Rule XAndExpression
+ruleXAndExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXAndExpressionAccess().getGroup()); }
+(rule__XAndExpression__Group__0)
+{ after(grammarAccess.getXAndExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpAnd
+entryRuleOpAnd
+:
+{ before(grammarAccess.getOpAndRule()); }
+ ruleOpAnd
+{ after(grammarAccess.getOpAndRule()); }
+ EOF
+;
+
+// Rule OpAnd
+ruleOpAnd
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); }
+
+ '&&'
+
+{ after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXEqualityExpression
+entryRuleXEqualityExpression
+:
+{ before(grammarAccess.getXEqualityExpressionRule()); }
+ ruleXEqualityExpression
+{ after(grammarAccess.getXEqualityExpressionRule()); }
+ EOF
+;
+
+// Rule XEqualityExpression
+ruleXEqualityExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXEqualityExpressionAccess().getGroup()); }
+(rule__XEqualityExpression__Group__0)
+{ after(grammarAccess.getXEqualityExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpEquality
+entryRuleOpEquality
+:
+{ before(grammarAccess.getOpEqualityRule()); }
+ ruleOpEquality
+{ after(grammarAccess.getOpEqualityRule()); }
+ EOF
+;
+
+// Rule OpEquality
+ruleOpEquality
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpEqualityAccess().getAlternatives()); }
+(rule__OpEquality__Alternatives)
+{ after(grammarAccess.getOpEqualityAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXRelationalExpression
+entryRuleXRelationalExpression
+:
+{ before(grammarAccess.getXRelationalExpressionRule()); }
+ ruleXRelationalExpression
+{ after(grammarAccess.getXRelationalExpressionRule()); }
+ EOF
+;
+
+// Rule XRelationalExpression
+ruleXRelationalExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup()); }
+(rule__XRelationalExpression__Group__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpCompare
+entryRuleOpCompare
+:
+{ before(grammarAccess.getOpCompareRule()); }
+ ruleOpCompare
+{ after(grammarAccess.getOpCompareRule()); }
+ EOF
+;
+
+// Rule OpCompare
+ruleOpCompare
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpCompareAccess().getAlternatives()); }
+(rule__OpCompare__Alternatives)
+{ after(grammarAccess.getOpCompareAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXOtherOperatorExpression
+entryRuleXOtherOperatorExpression
+:
+{ before(grammarAccess.getXOtherOperatorExpressionRule()); }
+ ruleXOtherOperatorExpression
+{ after(grammarAccess.getXOtherOperatorExpressionRule()); }
+ EOF
+;
+
+// Rule XOtherOperatorExpression
+ruleXOtherOperatorExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); }
+(rule__XOtherOperatorExpression__Group__0)
+{ after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpOther
+entryRuleOpOther
+:
+{ before(grammarAccess.getOpOtherRule()); }
+ ruleOpOther
+{ after(grammarAccess.getOpOtherRule()); }
+ EOF
+;
+
+// Rule OpOther
+ruleOpOther
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpOtherAccess().getAlternatives()); }
+(rule__OpOther__Alternatives)
+{ after(grammarAccess.getOpOtherAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAdditiveExpression
+entryRuleXAdditiveExpression
+:
+{ before(grammarAccess.getXAdditiveExpressionRule()); }
+ ruleXAdditiveExpression
+{ after(grammarAccess.getXAdditiveExpressionRule()); }
+ EOF
+;
+
+// Rule XAdditiveExpression
+ruleXAdditiveExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); }
+(rule__XAdditiveExpression__Group__0)
+{ after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpAdd
+entryRuleOpAdd
+:
+{ before(grammarAccess.getOpAddRule()); }
+ ruleOpAdd
+{ after(grammarAccess.getOpAddRule()); }
+ EOF
+;
+
+// Rule OpAdd
+ruleOpAdd
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpAddAccess().getAlternatives()); }
+(rule__OpAdd__Alternatives)
+{ after(grammarAccess.getOpAddAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXMultiplicativeExpression
+entryRuleXMultiplicativeExpression
+:
+{ before(grammarAccess.getXMultiplicativeExpressionRule()); }
+ ruleXMultiplicativeExpression
+{ after(grammarAccess.getXMultiplicativeExpressionRule()); }
+ EOF
+;
+
+// Rule XMultiplicativeExpression
+ruleXMultiplicativeExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); }
+(rule__XMultiplicativeExpression__Group__0)
+{ after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpMulti
+entryRuleOpMulti
+:
+{ before(grammarAccess.getOpMultiRule()); }
+ ruleOpMulti
+{ after(grammarAccess.getOpMultiRule()); }
+ EOF
+;
+
+// Rule OpMulti
+ruleOpMulti
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpMultiAccess().getAlternatives()); }
+(rule__OpMulti__Alternatives)
+{ after(grammarAccess.getOpMultiAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXUnaryOperation
+entryRuleXUnaryOperation
+:
+{ before(grammarAccess.getXUnaryOperationRule()); }
+ ruleXUnaryOperation
+{ after(grammarAccess.getXUnaryOperationRule()); }
+ EOF
+;
+
+// Rule XUnaryOperation
+ruleXUnaryOperation
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); }
+(rule__XUnaryOperation__Alternatives)
+{ after(grammarAccess.getXUnaryOperationAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpUnary
+entryRuleOpUnary
+:
+{ before(grammarAccess.getOpUnaryRule()); }
+ ruleOpUnary
+{ after(grammarAccess.getOpUnaryRule()); }
+ EOF
+;
+
+// Rule OpUnary
+ruleOpUnary
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpUnaryAccess().getAlternatives()); }
+(rule__OpUnary__Alternatives)
+{ after(grammarAccess.getOpUnaryAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXCastedExpression
+entryRuleXCastedExpression
+:
+{ before(grammarAccess.getXCastedExpressionRule()); }
+ ruleXCastedExpression
+{ after(grammarAccess.getXCastedExpressionRule()); }
+ EOF
+;
+
+// Rule XCastedExpression
+ruleXCastedExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXCastedExpressionAccess().getGroup()); }
+(rule__XCastedExpression__Group__0)
+{ after(grammarAccess.getXCastedExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXPostfixOperation
+entryRuleXPostfixOperation
+:
+{ before(grammarAccess.getXPostfixOperationRule()); }
+ ruleXPostfixOperation
+{ after(grammarAccess.getXPostfixOperationRule()); }
+ EOF
+;
+
+// Rule XPostfixOperation
+ruleXPostfixOperation
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXPostfixOperationAccess().getGroup()); }
+(rule__XPostfixOperation__Group__0)
+{ after(grammarAccess.getXPostfixOperationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpPostfix
+entryRuleOpPostfix
+:
+{ before(grammarAccess.getOpPostfixRule()); }
+ ruleOpPostfix
+{ after(grammarAccess.getOpPostfixRule()); }
+ EOF
+;
+
+// Rule OpPostfix
+ruleOpPostfix
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOpPostfixAccess().getAlternatives()); }
+(rule__OpPostfix__Alternatives)
+{ after(grammarAccess.getOpPostfixAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXMemberFeatureCall
+entryRuleXMemberFeatureCall
+:
+{ before(grammarAccess.getXMemberFeatureCallRule()); }
+ ruleXMemberFeatureCall
+{ after(grammarAccess.getXMemberFeatureCallRule()); }
+ EOF
+;
+
+// Rule XMemberFeatureCall
+ruleXMemberFeatureCall
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); }
+(rule__XMemberFeatureCall__Group__0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXPrimaryExpression
+entryRuleXPrimaryExpression
+:
+{ before(grammarAccess.getXPrimaryExpressionRule()); }
+ ruleXPrimaryExpression
+{ after(grammarAccess.getXPrimaryExpressionRule()); }
+ EOF
+;
+
+// Rule XPrimaryExpression
+ruleXPrimaryExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); }
+(rule__XPrimaryExpression__Alternatives)
+{ after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXLiteral
+entryRuleXLiteral
+:
+{ before(grammarAccess.getXLiteralRule()); }
+ ruleXLiteral
+{ after(grammarAccess.getXLiteralRule()); }
+ EOF
+;
+
+// Rule XLiteral
+ruleXLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXLiteralAccess().getAlternatives()); }
+(rule__XLiteral__Alternatives)
+{ after(grammarAccess.getXLiteralAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXCollectionLiteral
+entryRuleXCollectionLiteral
+:
+{ before(grammarAccess.getXCollectionLiteralRule()); }
+ ruleXCollectionLiteral
+{ after(grammarAccess.getXCollectionLiteralRule()); }
+ EOF
+;
+
+// Rule XCollectionLiteral
+ruleXCollectionLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); }
+(rule__XCollectionLiteral__Alternatives)
+{ after(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXSetLiteral
+entryRuleXSetLiteral
+:
+{ before(grammarAccess.getXSetLiteralRule()); }
+ ruleXSetLiteral
+{ after(grammarAccess.getXSetLiteralRule()); }
+ EOF
+;
+
+// Rule XSetLiteral
+ruleXSetLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXSetLiteralAccess().getGroup()); }
+(rule__XSetLiteral__Group__0)
+{ after(grammarAccess.getXSetLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXListLiteral
+entryRuleXListLiteral
+:
+{ before(grammarAccess.getXListLiteralRule()); }
+ ruleXListLiteral
+{ after(grammarAccess.getXListLiteralRule()); }
+ EOF
+;
+
+// Rule XListLiteral
+ruleXListLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXListLiteralAccess().getGroup()); }
+(rule__XListLiteral__Group__0)
+{ after(grammarAccess.getXListLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXClosure
+entryRuleXClosure
+:
+{ before(grammarAccess.getXClosureRule()); }
+ ruleXClosure
+{ after(grammarAccess.getXClosureRule()); }
+ EOF
+;
+
+// Rule XClosure
+ruleXClosure
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXClosureAccess().getGroup()); }
+(rule__XClosure__Group__0)
+{ after(grammarAccess.getXClosureAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXExpressionInClosure
+entryRuleXExpressionInClosure
+:
+{ before(grammarAccess.getXExpressionInClosureRule()); }
+ ruleXExpressionInClosure
+{ after(grammarAccess.getXExpressionInClosureRule()); }
+ EOF
+;
+
+// Rule XExpressionInClosure
+ruleXExpressionInClosure
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXExpressionInClosureAccess().getGroup()); }
+(rule__XExpressionInClosure__Group__0)
+{ after(grammarAccess.getXExpressionInClosureAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXShortClosure
+entryRuleXShortClosure
+:
+{ before(grammarAccess.getXShortClosureRule()); }
+ ruleXShortClosure
+{ after(grammarAccess.getXShortClosureRule()); }
+ EOF
+;
+
+// Rule XShortClosure
+ruleXShortClosure
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXShortClosureAccess().getGroup()); }
+(rule__XShortClosure__Group__0)
+{ after(grammarAccess.getXShortClosureAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXParenthesizedExpression
+entryRuleXParenthesizedExpression
+:
+{ before(grammarAccess.getXParenthesizedExpressionRule()); }
+ ruleXParenthesizedExpression
+{ after(grammarAccess.getXParenthesizedExpressionRule()); }
+ EOF
+;
+
+// Rule XParenthesizedExpression
+ruleXParenthesizedExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); }
+(rule__XParenthesizedExpression__Group__0)
+{ after(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXIfExpression
+entryRuleXIfExpression
+:
+{ before(grammarAccess.getXIfExpressionRule()); }
+ ruleXIfExpression
+{ after(grammarAccess.getXIfExpressionRule()); }
+ EOF
+;
+
+// Rule XIfExpression
+ruleXIfExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXIfExpressionAccess().getGroup()); }
+(rule__XIfExpression__Group__0)
+{ after(grammarAccess.getXIfExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXSwitchExpression
+entryRuleXSwitchExpression
+:
+{ before(grammarAccess.getXSwitchExpressionRule()); }
+ ruleXSwitchExpression
+{ after(grammarAccess.getXSwitchExpressionRule()); }
+ EOF
+;
+
+// Rule XSwitchExpression
+ruleXSwitchExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXSwitchExpressionAccess().getGroup()); }
+(rule__XSwitchExpression__Group__0)
+{ after(grammarAccess.getXSwitchExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXCasePart
+entryRuleXCasePart
+:
+{ before(grammarAccess.getXCasePartRule()); }
+ ruleXCasePart
+{ after(grammarAccess.getXCasePartRule()); }
+ EOF
+;
+
+// Rule XCasePart
+ruleXCasePart
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXCasePartAccess().getGroup()); }
+(rule__XCasePart__Group__0)
+{ after(grammarAccess.getXCasePartAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXForLoopExpression
+entryRuleXForLoopExpression
+:
+{ before(grammarAccess.getXForLoopExpressionRule()); }
+ ruleXForLoopExpression
+{ after(grammarAccess.getXForLoopExpressionRule()); }
+ EOF
+;
+
+// Rule XForLoopExpression
+ruleXForLoopExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXForLoopExpressionAccess().getGroup()); }
+(rule__XForLoopExpression__Group__0)
+{ after(grammarAccess.getXForLoopExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXBasicForLoopExpression
+entryRuleXBasicForLoopExpression
+:
+{ before(grammarAccess.getXBasicForLoopExpressionRule()); }
+ ruleXBasicForLoopExpression
+{ after(grammarAccess.getXBasicForLoopExpressionRule()); }
+ EOF
+;
+
+// Rule XBasicForLoopExpression
+ruleXBasicForLoopExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); }
+(rule__XBasicForLoopExpression__Group__0)
+{ after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXWhileExpression
+entryRuleXWhileExpression
+:
+{ before(grammarAccess.getXWhileExpressionRule()); }
+ ruleXWhileExpression
+{ after(grammarAccess.getXWhileExpressionRule()); }
+ EOF
+;
+
+// Rule XWhileExpression
+ruleXWhileExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXWhileExpressionAccess().getGroup()); }
+(rule__XWhileExpression__Group__0)
+{ after(grammarAccess.getXWhileExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXDoWhileExpression
+entryRuleXDoWhileExpression
+:
+{ before(grammarAccess.getXDoWhileExpressionRule()); }
+ ruleXDoWhileExpression
+{ after(grammarAccess.getXDoWhileExpressionRule()); }
+ EOF
+;
+
+// Rule XDoWhileExpression
+ruleXDoWhileExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); }
+(rule__XDoWhileExpression__Group__0)
+{ after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXBlockExpression
+entryRuleXBlockExpression
+:
+{ before(grammarAccess.getXBlockExpressionRule()); }
+ ruleXBlockExpression
+{ after(grammarAccess.getXBlockExpressionRule()); }
+ EOF
+;
+
+// Rule XBlockExpression
+ruleXBlockExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXBlockExpressionAccess().getGroup()); }
+(rule__XBlockExpression__Group__0)
+{ after(grammarAccess.getXBlockExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXExpressionOrVarDeclaration
+entryRuleXExpressionOrVarDeclaration
+:
+{ before(grammarAccess.getXExpressionOrVarDeclarationRule()); }
+ ruleXExpressionOrVarDeclaration
+{ after(grammarAccess.getXExpressionOrVarDeclarationRule()); }
+ EOF
+;
+
+// Rule XExpressionOrVarDeclaration
+ruleXExpressionOrVarDeclaration
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); }
+(rule__XExpressionOrVarDeclaration__Alternatives)
+{ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXVariableDeclaration
+entryRuleXVariableDeclaration
+:
+{ before(grammarAccess.getXVariableDeclarationRule()); }
+ ruleXVariableDeclaration
+{ after(grammarAccess.getXVariableDeclarationRule()); }
+ EOF
+;
+
+// Rule XVariableDeclaration
+ruleXVariableDeclaration
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXVariableDeclarationAccess().getGroup()); }
+(rule__XVariableDeclaration__Group__0)
+{ after(grammarAccess.getXVariableDeclarationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmFormalParameter
+entryRuleJvmFormalParameter
+:
+{ before(grammarAccess.getJvmFormalParameterRule()); }
+ ruleJvmFormalParameter
+{ after(grammarAccess.getJvmFormalParameterRule()); }
+ EOF
+;
+
+// Rule JvmFormalParameter
+ruleJvmFormalParameter
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getJvmFormalParameterAccess().getGroup()); }
+(rule__JvmFormalParameter__Group__0)
+{ after(grammarAccess.getJvmFormalParameterAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFullJvmFormalParameter
+entryRuleFullJvmFormalParameter
+:
+{ before(grammarAccess.getFullJvmFormalParameterRule()); }
+ ruleFullJvmFormalParameter
+{ after(grammarAccess.getFullJvmFormalParameterRule()); }
+ EOF
+;
+
+// Rule FullJvmFormalParameter
+ruleFullJvmFormalParameter
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); }
+(rule__FullJvmFormalParameter__Group__0)
+{ after(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXFeatureCall
+entryRuleXFeatureCall
+:
+{ before(grammarAccess.getXFeatureCallRule()); }
+ ruleXFeatureCall
+{ after(grammarAccess.getXFeatureCallRule()); }
+ EOF
+;
+
+// Rule XFeatureCall
+ruleXFeatureCall
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXFeatureCallAccess().getGroup()); }
+(rule__XFeatureCall__Group__0)
+{ after(grammarAccess.getXFeatureCallAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFeatureCallID
+entryRuleFeatureCallID
+:
+{ before(grammarAccess.getFeatureCallIDRule()); }
+ ruleFeatureCallID
+{ after(grammarAccess.getFeatureCallIDRule()); }
+ EOF
+;
+
+// Rule FeatureCallID
+ruleFeatureCallID
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); }
+(rule__FeatureCallID__Alternatives)
+{ after(grammarAccess.getFeatureCallIDAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleIdOrSuper
+entryRuleIdOrSuper
+:
+{ before(grammarAccess.getIdOrSuperRule()); }
+ ruleIdOrSuper
+{ after(grammarAccess.getIdOrSuperRule()); }
+ EOF
+;
+
+// Rule IdOrSuper
+ruleIdOrSuper
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getIdOrSuperAccess().getAlternatives()); }
+(rule__IdOrSuper__Alternatives)
+{ after(grammarAccess.getIdOrSuperAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXConstructorCall
+entryRuleXConstructorCall
+:
+{ before(grammarAccess.getXConstructorCallRule()); }
+ ruleXConstructorCall
+{ after(grammarAccess.getXConstructorCallRule()); }
+ EOF
+;
+
+// Rule XConstructorCall
+ruleXConstructorCall
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXConstructorCallAccess().getGroup()); }
+(rule__XConstructorCall__Group__0)
+{ after(grammarAccess.getXConstructorCallAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXBooleanLiteral
+entryRuleXBooleanLiteral
+:
+{ before(grammarAccess.getXBooleanLiteralRule()); }
+ ruleXBooleanLiteral
+{ after(grammarAccess.getXBooleanLiteralRule()); }
+ EOF
+;
+
+// Rule XBooleanLiteral
+ruleXBooleanLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXBooleanLiteralAccess().getGroup()); }
+(rule__XBooleanLiteral__Group__0)
+{ after(grammarAccess.getXBooleanLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXNullLiteral
+entryRuleXNullLiteral
+:
+{ before(grammarAccess.getXNullLiteralRule()); }
+ ruleXNullLiteral
+{ after(grammarAccess.getXNullLiteralRule()); }
+ EOF
+;
+
+// Rule XNullLiteral
+ruleXNullLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXNullLiteralAccess().getGroup()); }
+(rule__XNullLiteral__Group__0)
+{ after(grammarAccess.getXNullLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXNumberLiteral
+entryRuleXNumberLiteral
+:
+{ before(grammarAccess.getXNumberLiteralRule()); }
+ ruleXNumberLiteral
+{ after(grammarAccess.getXNumberLiteralRule()); }
+ EOF
+;
+
+// Rule XNumberLiteral
+ruleXNumberLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXNumberLiteralAccess().getGroup()); }
+(rule__XNumberLiteral__Group__0)
+{ after(grammarAccess.getXNumberLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXStringLiteral
+entryRuleXStringLiteral
+:
+{ before(grammarAccess.getXStringLiteralRule()); }
+ ruleXStringLiteral
+{ after(grammarAccess.getXStringLiteralRule()); }
+ EOF
+;
+
+// Rule XStringLiteral
+ruleXStringLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXStringLiteralAccess().getGroup()); }
+(rule__XStringLiteral__Group__0)
+{ after(grammarAccess.getXStringLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXTypeLiteral
+entryRuleXTypeLiteral
+:
+{ before(grammarAccess.getXTypeLiteralRule()); }
+ ruleXTypeLiteral
+{ after(grammarAccess.getXTypeLiteralRule()); }
+ EOF
+;
+
+// Rule XTypeLiteral
+ruleXTypeLiteral
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXTypeLiteralAccess().getGroup()); }
+(rule__XTypeLiteral__Group__0)
+{ after(grammarAccess.getXTypeLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXThrowExpression
+entryRuleXThrowExpression
+:
+{ before(grammarAccess.getXThrowExpressionRule()); }
+ ruleXThrowExpression
+{ after(grammarAccess.getXThrowExpressionRule()); }
+ EOF
+;
+
+// Rule XThrowExpression
+ruleXThrowExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXThrowExpressionAccess().getGroup()); }
+(rule__XThrowExpression__Group__0)
+{ after(grammarAccess.getXThrowExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXReturnExpression
+entryRuleXReturnExpression
+:
+{ before(grammarAccess.getXReturnExpressionRule()); }
+ ruleXReturnExpression
+{ after(grammarAccess.getXReturnExpressionRule()); }
+ EOF
+;
+
+// Rule XReturnExpression
+ruleXReturnExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXReturnExpressionAccess().getGroup()); }
+(rule__XReturnExpression__Group__0)
+{ after(grammarAccess.getXReturnExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXTryCatchFinallyExpression
+entryRuleXTryCatchFinallyExpression
+:
+{ before(grammarAccess.getXTryCatchFinallyExpressionRule()); }
+ ruleXTryCatchFinallyExpression
+{ after(grammarAccess.getXTryCatchFinallyExpressionRule()); }
+ EOF
+;
+
+// Rule XTryCatchFinallyExpression
+ruleXTryCatchFinallyExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); }
+(rule__XTryCatchFinallyExpression__Group__0)
+{ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXSynchronizedExpression
+entryRuleXSynchronizedExpression
+:
+{ before(grammarAccess.getXSynchronizedExpressionRule()); }
+ ruleXSynchronizedExpression
+{ after(grammarAccess.getXSynchronizedExpressionRule()); }
+ EOF
+;
+
+// Rule XSynchronizedExpression
+ruleXSynchronizedExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); }
+(rule__XSynchronizedExpression__Group__0)
+{ after(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXCatchClause
+entryRuleXCatchClause
+:
+{ before(grammarAccess.getXCatchClauseRule()); }
+ ruleXCatchClause
+{ after(grammarAccess.getXCatchClauseRule()); }
+ EOF
+;
+
+// Rule XCatchClause
+ruleXCatchClause
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXCatchClauseAccess().getGroup()); }
+(rule__XCatchClause__Group__0)
+{ after(grammarAccess.getXCatchClauseAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleQualifiedName
+entryRuleQualifiedName
+:
+{ before(grammarAccess.getQualifiedNameRule()); }
+ ruleQualifiedName
+{ after(grammarAccess.getQualifiedNameRule()); }
+ EOF
+;
+
+// Rule QualifiedName
+ruleQualifiedName
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getQualifiedNameAccess().getGroup()); }
+(rule__QualifiedName__Group__0)
+{ after(grammarAccess.getQualifiedNameAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNumber
+entryRuleNumber
+@init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+}
+:
+{ before(grammarAccess.getNumberRule()); }
+ ruleNumber
+{ after(grammarAccess.getNumberRule()); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule Number
+ruleNumber
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNumberAccess().getAlternatives()); }
+(rule__Number__Alternatives)
+{ after(grammarAccess.getNumberAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleJvmTypeReference
+entryRuleJvmTypeReference
+:
+{ before(grammarAccess.getJvmTypeReferenceRule()); }
+ ruleJvmTypeReference
+{ after(grammarAccess.getJvmTypeReferenceRule()); }
+ EOF
+;
+
+// Rule JvmTypeReference
+ruleJvmTypeReference
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); }
+(rule__JvmTypeReference__Alternatives)
+{ after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleArrayBrackets
+entryRuleArrayBrackets
+:
+{ before(grammarAccess.getArrayBracketsRule()); }
+ ruleArrayBrackets
+{ after(grammarAccess.getArrayBracketsRule()); }
+ EOF
+;
+
+// Rule ArrayBrackets
+ruleArrayBrackets
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getArrayBracketsAccess().getGroup()); }
+(rule__ArrayBrackets__Group__0)
+{ after(grammarAccess.getArrayBracketsAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXFunctionTypeRef
+entryRuleXFunctionTypeRef
+:
+{ before(grammarAccess.getXFunctionTypeRefRule()); }
+ ruleXFunctionTypeRef
+{ after(grammarAccess.getXFunctionTypeRefRule()); }
+ EOF
+;
+
+// Rule XFunctionTypeRef
+ruleXFunctionTypeRef
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); }
+(rule__XFunctionTypeRef__Group__0)
+{ after(grammarAccess.getXFunctionTypeRefAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmParameterizedTypeReference
+entryRuleJvmParameterizedTypeReference
+:
+{ before(grammarAccess.getJvmParameterizedTypeReferenceRule()); }
+ ruleJvmParameterizedTypeReference
+{ after(grammarAccess.getJvmParameterizedTypeReferenceRule()); }
+ EOF
+;
+
+// Rule JvmParameterizedTypeReference
+ruleJvmParameterizedTypeReference
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); }
+(rule__JvmParameterizedTypeReference__Group__0)
+{ after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmArgumentTypeReference
+entryRuleJvmArgumentTypeReference
+:
+{ before(grammarAccess.getJvmArgumentTypeReferenceRule()); }
+ ruleJvmArgumentTypeReference
+{ after(grammarAccess.getJvmArgumentTypeReferenceRule()); }
+ EOF
+;
+
+// Rule JvmArgumentTypeReference
+ruleJvmArgumentTypeReference
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); }
+(rule__JvmArgumentTypeReference__Alternatives)
+{ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmWildcardTypeReference
+entryRuleJvmWildcardTypeReference
+:
+{ before(grammarAccess.getJvmWildcardTypeReferenceRule()); }
+ ruleJvmWildcardTypeReference
+{ after(grammarAccess.getJvmWildcardTypeReferenceRule()); }
+ EOF
+;
+
+// Rule JvmWildcardTypeReference
+ruleJvmWildcardTypeReference
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); }
+(rule__JvmWildcardTypeReference__Group__0)
+{ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmUpperBound
+entryRuleJvmUpperBound
+:
+{ before(grammarAccess.getJvmUpperBoundRule()); }
+ ruleJvmUpperBound
+{ after(grammarAccess.getJvmUpperBoundRule()); }
+ EOF
+;
+
+// Rule JvmUpperBound
+ruleJvmUpperBound
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getJvmUpperBoundAccess().getGroup()); }
+(rule__JvmUpperBound__Group__0)
+{ after(grammarAccess.getJvmUpperBoundAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmUpperBoundAnded
+entryRuleJvmUpperBoundAnded
+:
+{ before(grammarAccess.getJvmUpperBoundAndedRule()); }
+ ruleJvmUpperBoundAnded
+{ after(grammarAccess.getJvmUpperBoundAndedRule()); }
+ EOF
+;
+
+// Rule JvmUpperBoundAnded
+ruleJvmUpperBoundAnded
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); }
+(rule__JvmUpperBoundAnded__Group__0)
+{ after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmLowerBound
+entryRuleJvmLowerBound
+:
+{ before(grammarAccess.getJvmLowerBoundRule()); }
+ ruleJvmLowerBound
+{ after(grammarAccess.getJvmLowerBoundRule()); }
+ EOF
+;
+
+// Rule JvmLowerBound
+ruleJvmLowerBound
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getJvmLowerBoundAccess().getGroup()); }
+(rule__JvmLowerBound__Group__0)
+{ after(grammarAccess.getJvmLowerBoundAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmLowerBoundAnded
+entryRuleJvmLowerBoundAnded
+:
+{ before(grammarAccess.getJvmLowerBoundAndedRule()); }
+ ruleJvmLowerBoundAnded
+{ after(grammarAccess.getJvmLowerBoundAndedRule()); }
+ EOF
+;
+
+// Rule JvmLowerBoundAnded
+ruleJvmLowerBoundAnded
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); }
+(rule__JvmLowerBoundAnded__Group__0)
+{ after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleQualifiedNameWithWildcard
+entryRuleQualifiedNameWithWildcard
+:
+{ before(grammarAccess.getQualifiedNameWithWildcardRule()); }
+ ruleQualifiedNameWithWildcard
+{ after(grammarAccess.getQualifiedNameWithWildcardRule()); }
+ EOF
+;
+
+// Rule QualifiedNameWithWildcard
+ruleQualifiedNameWithWildcard
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); }
+(rule__QualifiedNameWithWildcard__Group__0)
+{ after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleValidID
+entryRuleValidID
+:
+{ before(grammarAccess.getValidIDRule()); }
+ ruleValidID
+{ after(grammarAccess.getValidIDRule()); }
+ EOF
+;
+
+// Rule ValidID
+ruleValidID
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); }
+ RULE_ID
+{ after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleXImportDeclaration
+entryRuleXImportDeclaration
+:
+{ before(grammarAccess.getXImportDeclarationRule()); }
+ ruleXImportDeclaration
+{ after(grammarAccess.getXImportDeclarationRule()); }
+ EOF
+;
+
+// Rule XImportDeclaration
+ruleXImportDeclaration
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getXImportDeclarationAccess().getGroup()); }
+(rule__XImportDeclaration__Group__0)
+{ after(grammarAccess.getXImportDeclarationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleQualifiedNameInStaticImport
+entryRuleQualifiedNameInStaticImport
+:
+{ before(grammarAccess.getQualifiedNameInStaticImportRule()); }
+ ruleQualifiedNameInStaticImport
+{ after(grammarAccess.getQualifiedNameInStaticImportRule()); }
+ EOF
+;
+
+// Rule QualifiedNameInStaticImport
+ruleQualifiedNameInStaticImport
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+(
+{ before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
+(rule__QualifiedNameInStaticImport__Group__0)
+{ after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
+)
+(
+{ before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
+(rule__QualifiedNameInStaticImport__Group__0)*
+{ after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+// Rule LayoutingEnum
+ruleLayoutingEnum
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayoutingEnumAccess().getAlternatives()); }
+(rule__LayoutingEnum__Alternatives)
+{ after(grammarAccess.getLayoutingEnumAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Rule FocusingEnum
+ruleFocusingEnum
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingEnumAccess().getAlternatives()); }
+(rule__FocusingEnum__Alternatives)
+{ after(grammarAccess.getFocusingEnumAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__XAnnotation__Alternatives_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0()); }
+(rule__XAnnotation__Group_3_1_0__0)
+{ after(grammarAccess.getXAnnotationAccess().getGroup_3_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1()); }
+(rule__XAnnotation__ValueAssignment_3_1_1)
+{ after(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0()); }
+(rule__XAnnotationElementValueOrCommaList__Group_0__0)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1()); }
+(rule__XAnnotationElementValueOrCommaList__Group_1__0)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0()); }
+(rule__XAnnotationElementValue__Group_0__0)
+{ after(grammarAccess.getXAnnotationElementValueAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); }
+ ruleXAnnotationOrExpression
+{ after(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationOrExpression__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); }
+ ruleXAnnotation
+{ after(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); }
+ ruleXExpression
+{ after(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getGroup_0()); }
+(rule__XAssignment__Group_0__0)
+{ after(grammarAccess.getXAssignmentAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXAssignmentAccess().getGroup_1()); }
+(rule__XAssignment__Group_1__0)
+{ after(grammarAccess.getXAssignmentAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpMultiAssign__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); }
+
+ '+='
+
+{ after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); }
+
+ '-='
+
+{ after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); }
+
+ '*='
+
+{ after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); }
+)
+
+ |(
+{ before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); }
+
+ '/='
+
+{ after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); }
+)
+
+ |(
+{ before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); }
+
+ '%='
+
+{ after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); }
+)
+
+ |(
+{ before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); }
+(rule__OpMultiAssign__Group_5__0)
+{ after(grammarAccess.getOpMultiAssignAccess().getGroup_5()); }
+)
+
+ |(
+{ before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); }
+(rule__OpMultiAssign__Group_6__0)
+{ after(grammarAccess.getOpMultiAssignAccess().getGroup_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpEquality__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); }
+
+ '=='
+
+{ after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); }
+
+ '!='
+
+{ after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); }
+
+ '==='
+
+{ after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); }
+)
+
+ |(
+{ before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); }
+
+ '!=='
+
+{ after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); }
+(rule__XRelationalExpression__Group_1_0__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); }
+(rule__XRelationalExpression__Group_1_1__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpCompare__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); }
+
+ '>='
+
+{ after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpCompareAccess().getGroup_1()); }
+(rule__OpCompare__Group_1__0)
+{ after(grammarAccess.getOpCompareAccess().getGroup_1()); }
+)
+
+ |(
+{ before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); }
+
+ '>'
+
+{ after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); }
+)
+
+ |(
+{ before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); }
+
+ '<'
+
+{ after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); }
+
+ '->'
+
+{ after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); }
+
+ '..<'
+
+{ after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getGroup_2()); }
+(rule__OpOther__Group_2__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_2()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); }
+
+ '..'
+
+{ after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); }
+
+ '=>'
+
+{ after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getGroup_5()); }
+(rule__OpOther__Group_5__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_5()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getGroup_6()); }
+(rule__OpOther__Group_6__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_6()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); }
+
+ '<>'
+
+{ after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); }
+
+ '?:'
+
+{ after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Alternatives_5_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); }
+(rule__OpOther__Group_5_1_0__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); }
+
+ '>'
+
+{ after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Alternatives_6_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); }
+(rule__OpOther__Group_6_1_0__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); }
+
+ '<'
+
+{ after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); }
+)
+
+ |(
+{ before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); }
+
+ '=>'
+
+{ after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpAdd__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); }
+
+ '+'
+
+{ after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); }
+
+ '-'
+
+{ after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpMulti__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); }
+
+ '*'
+
+{ after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); }
+
+ '**'
+
+{ after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); }
+
+ '/'
+
+{ after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); }
+)
+
+ |(
+{ before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); }
+
+ '%'
+
+{ after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XUnaryOperation__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); }
+(rule__XUnaryOperation__Group_0__0)
+{ after(grammarAccess.getXUnaryOperationAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); }
+ ruleXCastedExpression
+{ after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpUnary__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); }
+
+ '!'
+
+{ after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); }
+
+ '-'
+
+{ after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); }
+
+ '+'
+
+{ after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpPostfix__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); }
+
+ '++'
+
+{ after(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); }
+
+ '--'
+
+{ after(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XMemberFeatureCall__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); }
+(rule__XMemberFeatureCall__Group_1_0__0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); }
+(rule__XMemberFeatureCall__Group_1_1__0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XMemberFeatureCall__Alternatives_1_0_0_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); }
+(rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XMemberFeatureCall__Alternatives_1_1_0_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); }
+(rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); }
+)
+
+ |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); }
+(rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XMemberFeatureCall__Alternatives_1_1_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); }
+(rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); }
+(rule__XMemberFeatureCall__Group_1_1_3_1_1__0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XPrimaryExpression__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); }
+ ruleXConstructorCall
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); }
+ ruleXBlockExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); }
+ ruleXSwitchExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); }
+( ruleXSynchronizedExpression)
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); }
+ ruleXFeatureCall
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); }
+ ruleXLiteral
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); }
+ ruleXIfExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); }
+( ruleXForLoopExpression)
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); }
+ ruleXBasicForLoopExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); }
+ ruleXWhileExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); }
+ ruleXDoWhileExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); }
+ ruleXThrowExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); }
+ ruleXReturnExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); }
+ ruleXTryCatchFinallyExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); }
+)
+
+ |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); }
+ ruleXParenthesizedExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XLiteral__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); }
+ ruleXCollectionLiteral
+{ after(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); }
+( ruleXClosure)
+{ after(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); }
+ ruleXBooleanLiteral
+{ after(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); }
+)
+
+ |(
+{ before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); }
+ ruleXNumberLiteral
+{ after(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); }
+)
+
+ |(
+{ before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); }
+ ruleXNullLiteral
+{ after(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); }
+)
+
+ |(
+{ before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); }
+ ruleXStringLiteral
+{ after(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); }
+)
+
+ |(
+{ before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); }
+ ruleXTypeLiteral
+{ after(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XCollectionLiteral__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); }
+ ruleXSetLiteral
+{ after(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); }
+ ruleXListLiteral
+{ after(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XSwitchExpression__Alternatives_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); }
+(rule__XSwitchExpression__Group_2_0__0)
+{ after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); }
+(rule__XSwitchExpression__Group_2_1__0)
+{ after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XCasePart__Alternatives_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXCasePartAccess().getGroup_3_0()); }
+(rule__XCasePart__Group_3_0__0)
+{ after(grammarAccess.getXCasePartAccess().getGroup_3_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); }
+(rule__XCasePart__FallThroughAssignment_3_1)
+{ after(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XExpressionOrVarDeclaration__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); }
+ ruleXVariableDeclaration
+{ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); }
+ ruleXExpression
+{ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XVariableDeclaration__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); }
+(rule__XVariableDeclaration__WriteableAssignment_1_0)
+{ after(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); }
+
+ 'val'
+
+{ after(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XVariableDeclaration__Alternatives_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); }
+(rule__XVariableDeclaration__Group_2_0__0)
+{ after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); }
+(rule__XVariableDeclaration__NameAssignment_2_1)
+{ after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XFeatureCall__Alternatives_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); }
+(rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0)
+{ after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); }
+(rule__XFeatureCall__Group_3_1_1__0)
+{ after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FeatureCallID__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); }
+ ruleValidID
+{ after(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); }
+
+ 'extends'
+
+{ after(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); }
+)
+
+ |(
+{ before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); }
+
+ 'static'
+
+{ after(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); }
+)
+
+ |(
+{ before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); }
+
+ 'import'
+
+{ after(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); }
+)
+
+ |(
+{ before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); }
+
+ 'extension'
+
+{ after(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__IdOrSuper__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); }
+ ruleFeatureCallID
+{ after(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); }
+
+ 'super'
+
+{ after(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XConstructorCall__Alternatives_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); }
+(rule__XConstructorCall__ArgumentsAssignment_4_1_0)
+{ after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); }
+(rule__XConstructorCall__Group_4_1_1__0)
+{ after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XBooleanLiteral__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); }
+
+ 'false'
+
+{ after(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); }
+(rule__XBooleanLiteral__IsTrueAssignment_1_1)
+{ after(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XTryCatchFinallyExpression__Alternatives_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); }
+(rule__XTryCatchFinallyExpression__Group_3_0__0)
+{ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); }
+(rule__XTryCatchFinallyExpression__Group_3_1__0)
+{ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Number__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); }
+ RULE_HEX
+{ after(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getNumberAccess().getGroup_1()); }
+(rule__Number__Group_1__0)
+{ after(grammarAccess.getNumberAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Number__Alternatives_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); }
+ RULE_INT
+{ after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); }
+ RULE_DECIMAL
+{ after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Number__Alternatives_1_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); }
+ RULE_INT
+{ after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); }
+ RULE_DECIMAL
+{ after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__JvmTypeReference__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); }
+(rule__JvmTypeReference__Group_0__0)
+{ after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); }
+ ruleXFunctionTypeRef
+{ after(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__JvmArgumentTypeReference__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); }
+ ruleJvmTypeReference
+{ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); }
+ ruleJvmWildcardTypeReference
+{ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__JvmWildcardTypeReference__Alternatives_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); }
+(rule__JvmWildcardTypeReference__Group_2_0__0)
+{ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); }
+)
+
+ |(
+{ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); }
+(rule__JvmWildcardTypeReference__Group_2_1__0)
+{ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XImportDeclaration__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); }
+(rule__XImportDeclaration__Group_1_0__0)
+{ after(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); }
+(rule__XImportDeclaration__ImportedTypeAssignment_1_1)
+{ after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); }
+)
+
+ |(
+{ before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); }
+(rule__XImportDeclaration__ImportedNamespaceAssignment_1_2)
+{ after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XImportDeclaration__Alternatives_1_0_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); }
+(rule__XImportDeclaration__WildcardAssignment_1_0_3_0)
+{ after(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); }
+)
+
+ |(
+{ before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); }
+(rule__XImportDeclaration__MemberNameAssignment_1_0_3_1)
+{ after(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayoutingEnum__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayoutingEnumAccess().getHORIZONTALEnumLiteralDeclaration_0()); }
+( 'Horizontal'
+)
+{ after(grammarAccess.getLayoutingEnumAccess().getHORIZONTALEnumLiteralDeclaration_0()); }
+)
+
+ |(
+{ before(grammarAccess.getLayoutingEnumAccess().getVERTICALEnumLiteralDeclaration_1()); }
+( 'Vertical'
+)
+{ after(grammarAccess.getLayoutingEnumAccess().getVERTICALEnumLiteralDeclaration_1()); }
+)
+
+ |(
+{ before(grammarAccess.getLayoutingEnumAccess().getGRIDEnumLiteralDeclaration_2()); }
+( 'Grid'
+)
+{ after(grammarAccess.getLayoutingEnumAccess().getGRIDEnumLiteralDeclaration_2()); }
+)
+
+ |(
+{ before(grammarAccess.getLayoutingEnumAccess().getFORM2EnumLiteralDeclaration_3()); }
+( 'Form2'
+)
+{ after(grammarAccess.getLayoutingEnumAccess().getFORM2EnumLiteralDeclaration_3()); }
+)
+
+ |(
+{ before(grammarAccess.getLayoutingEnumAccess().getFORM3EnumLiteralDeclaration_4()); }
+( 'Form3'
+)
+{ after(grammarAccess.getLayoutingEnumAccess().getFORM3EnumLiteralDeclaration_4()); }
+)
+
+ |(
+{ before(grammarAccess.getLayoutingEnumAccess().getCSSEnumLiteralDeclaration_5()); }
+( 'Css'
+)
+{ after(grammarAccess.getLayoutingEnumAccess().getCSSEnumLiteralDeclaration_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingEnum__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingEnumAccess().getFORWARDEnumLiteralDeclaration_0()); }
+( 'Forward'
+)
+{ after(grammarAccess.getFocusingEnumAccess().getFORWARDEnumLiteralDeclaration_0()); }
+)
+
+ |(
+{ before(grammarAccess.getFocusingEnumAccess().getBACKWARDEnumLiteralDeclaration_1()); }
+( 'Backward'
+)
+{ after(grammarAccess.getFocusingEnumAccess().getBACKWARDEnumLiteralDeclaration_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__StrategyPackage__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyPackage__Group__0__Impl
+ rule__StrategyPackage__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyPackage__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyPackageAccess().getStrategyPackageAction_0()); }
+(
+
+)
+{ after(grammarAccess.getStrategyPackageAccess().getStrategyPackageAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyPackage__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyPackage__Group__1__Impl
+ rule__StrategyPackage__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyPackage__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyPackageAccess().getPackageKeyword_1()); }
+
+ 'package'
+
+{ after(grammarAccess.getStrategyPackageAccess().getPackageKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyPackage__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyPackage__Group__2__Impl
+ rule__StrategyPackage__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyPackage__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyPackageAccess().getNameAssignment_2()); }
+(rule__StrategyPackage__NameAssignment_2)
+{ after(grammarAccess.getStrategyPackageAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyPackage__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyPackage__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyPackage__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyPackageAccess().getGroup_3()); }
+(rule__StrategyPackage__Group_3__0)?
+{ after(grammarAccess.getStrategyPackageAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__StrategyPackage__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyPackage__Group_3__0__Impl
+ rule__StrategyPackage__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyPackage__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyPackageAccess().getLeftCurlyBracketKeyword_3_0()); }
+
+ '{'
+
+{ after(grammarAccess.getStrategyPackageAccess().getLeftCurlyBracketKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyPackage__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyPackage__Group_3__1__Impl
+ rule__StrategyPackage__Group_3__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyPackage__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyPackageAccess().getImportsAssignment_3_1()); }
+(rule__StrategyPackage__ImportsAssignment_3_1)*
+{ after(grammarAccess.getStrategyPackageAccess().getImportsAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyPackage__Group_3__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyPackage__Group_3__2__Impl
+ rule__StrategyPackage__Group_3__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyPackage__Group_3__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyPackageAccess().getStrategyAssignment_3_2()); }
+(rule__StrategyPackage__StrategyAssignment_3_2)
+{ after(grammarAccess.getStrategyPackageAccess().getStrategyAssignment_3_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyPackage__Group_3__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyPackage__Group_3__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyPackage__Group_3__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyPackageAccess().getRightCurlyBracketKeyword_3_3()); }
+
+ '}'
+
+{ after(grammarAccess.getStrategyPackageAccess().getRightCurlyBracketKeyword_3_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__StrategyImport__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyImport__Group__0__Impl
+ rule__StrategyImport__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyImport__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyImportAccess().getImportKeyword_0()); }
+
+ 'import'
+
+{ after(grammarAccess.getStrategyImportAccess().getImportKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyImport__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyImport__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyImport__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyImportAccess().getImportedNamespaceAssignment_1()); }
+(rule__StrategyImport__ImportedNamespaceAssignment_1)
+{ after(grammarAccess.getStrategyImportAccess().getImportedNamespaceAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__StrategyQualifiedNameWithWildCard__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyQualifiedNameWithWildCard__Group__0__Impl
+ rule__StrategyQualifiedNameWithWildCard__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyQualifiedNameWithWildCard__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); }
+ ruleQualifiedName
+{ after(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyQualifiedNameWithWildCard__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyQualifiedNameWithWildCard__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyQualifiedNameWithWildCard__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getGroup_1()); }
+(rule__StrategyQualifiedNameWithWildCard__Group_1__0)?
+{ after(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__StrategyQualifiedNameWithWildCard__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyQualifiedNameWithWildCard__Group_1__0__Impl
+ rule__StrategyQualifiedNameWithWildCard__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyQualifiedNameWithWildCard__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyQualifiedNameWithWildCard__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyQualifiedNameWithWildCard__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyQualifiedNameWithWildCard__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); }
+
+ '*'
+
+{ after(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Strategy__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Strategy__Group__0__Impl
+ rule__Strategy__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getStrategyAction_0()); }
+(
+
+)
+{ after(grammarAccess.getStrategyAccess().getStrategyAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Strategy__Group__1__Impl
+ rule__Strategy__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getStrategyKeyword_1()); }
+
+ 'strategy'
+
+{ after(grammarAccess.getStrategyAccess().getStrategyKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Strategy__Group__2__Impl
+ rule__Strategy__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Strategy__Group__3__Impl
+ rule__Strategy__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getTargetsAssignment_3()); }
+(rule__Strategy__TargetsAssignment_3)
+{ after(grammarAccess.getStrategyAccess().getTargetsAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Strategy__Group__4__Impl
+ rule__Strategy__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getStrategyDefaultAssignment_4()); }
+(rule__Strategy__StrategyDefaultAssignment_4)
+{ after(grammarAccess.getStrategyAccess().getStrategyDefaultAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Strategy__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Strategy__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Strategy__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__StrategyTarget__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyTarget__Group__0__Impl
+ rule__StrategyTarget__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyTarget__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyTargetAccess().getStrategyTargetAction_0()); }
+(
+
+)
+{ after(grammarAccess.getStrategyTargetAccess().getStrategyTargetAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyTarget__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyTarget__Group__1__Impl
+ rule__StrategyTarget__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyTarget__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyTargetAccess().getTargetsKeyword_1()); }
+
+ 'targets'
+
+{ after(grammarAccess.getStrategyTargetAccess().getTargetsKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyTarget__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyTarget__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyTarget__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyTargetAccess().getGroup_2()); }
+(rule__StrategyTarget__Group_2__0)?
+{ after(grammarAccess.getStrategyTargetAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__StrategyTarget__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyTarget__Group_2__0__Impl
+ rule__StrategyTarget__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyTarget__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyTargetAccess().getLeftCurlyBracketKeyword_2_0()); }
+
+ '{'
+
+{ after(grammarAccess.getStrategyTargetAccess().getLeftCurlyBracketKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyTarget__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyTarget__Group_2__1__Impl
+ rule__StrategyTarget__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyTarget__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyTargetAccess().getLayoutingStrategiesAssignment_2_1()); }
+(rule__StrategyTarget__LayoutingStrategiesAssignment_2_1)*
+{ after(grammarAccess.getStrategyTargetAccess().getLayoutingStrategiesAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyTarget__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyTarget__Group_2__2__Impl
+ rule__StrategyTarget__Group_2__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyTarget__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyTargetAccess().getFocusingStrategiesAssignment_2_2()); }
+(rule__StrategyTarget__FocusingStrategiesAssignment_2_2)*
+{ after(grammarAccess.getStrategyTargetAccess().getFocusingStrategiesAssignment_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyTarget__Group_2__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyTarget__Group_2__3__Impl
+ rule__StrategyTarget__Group_2__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyTarget__Group_2__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyTargetAccess().getFocusingEnhancerAssignment_2_3()); }
+(rule__StrategyTarget__FocusingEnhancerAssignment_2_3)*
+{ after(grammarAccess.getStrategyTargetAccess().getFocusingEnhancerAssignment_2_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyTarget__Group_2__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyTarget__Group_2__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyTarget__Group_2__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyTargetAccess().getRightCurlyBracketKeyword_2_4()); }
+
+ '}'
+
+{ after(grammarAccess.getStrategyTargetAccess().getRightCurlyBracketKeyword_2_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__LayoutingStrategy__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayoutingStrategy__Group__0__Impl
+ rule__LayoutingStrategy__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayoutingStrategy__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayoutingStrategyAccess().getLayoutingStrategyAction_0()); }
+(
+
+)
+{ after(grammarAccess.getLayoutingStrategyAccess().getLayoutingStrategyAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayoutingStrategy__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayoutingStrategy__Group__1__Impl
+ rule__LayoutingStrategy__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayoutingStrategy__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayoutingStrategyAccess().getLayoutingStrategyKeyword_1()); }
+
+ 'layoutingStrategy'
+
+{ after(grammarAccess.getLayoutingStrategyAccess().getLayoutingStrategyKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayoutingStrategy__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayoutingStrategy__Group__2__Impl
+ rule__LayoutingStrategy__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayoutingStrategy__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayoutingStrategyAccess().getNameAssignment_2()); }
+(rule__LayoutingStrategy__NameAssignment_2)
+{ after(grammarAccess.getLayoutingStrategyAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayoutingStrategy__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayoutingStrategy__Group__3__Impl
+ rule__LayoutingStrategy__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayoutingStrategy__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayoutingStrategyAccess().getLayoutKeyword_3()); }
+
+ 'layout='
+
+{ after(grammarAccess.getLayoutingStrategyAccess().getLayoutKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayoutingStrategy__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayoutingStrategy__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayoutingStrategy__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayoutingStrategyAccess().getLayoutAssignment_4()); }
+(rule__LayoutingStrategy__LayoutAssignment_4)
+{ after(grammarAccess.getLayoutingStrategyAccess().getLayoutAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__FocusingStrategy__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group__0__Impl
+ rule__FocusingStrategy__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getFocusingStrategyAction_0()); }
+(
+
+)
+{ after(grammarAccess.getFocusingStrategyAccess().getFocusingStrategyAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group__1__Impl
+ rule__FocusingStrategy__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getFocusingStrategyKeyword_1()); }
+
+ 'focusingStrategy'
+
+{ after(grammarAccess.getFocusingStrategyAccess().getFocusingStrategyKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group__2__Impl
+ rule__FocusingStrategy__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getNameAssignment_2()); }
+(rule__FocusingStrategy__NameAssignment_2)
+{ after(grammarAccess.getFocusingStrategyAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group__3__Impl
+ rule__FocusingStrategy__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getEcviewFocusingIdKeyword_3()); }
+
+ 'ecviewFocusingId='
+
+{ after(grammarAccess.getFocusingStrategyAccess().getEcviewFocusingIdKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group__4__Impl
+ rule__FocusingStrategy__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getEcviewFocusingIdAssignment_4()); }
+(rule__FocusingStrategy__EcviewFocusingIdAssignment_4)
+{ after(grammarAccess.getFocusingStrategyAccess().getEcviewFocusingIdAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group__5__Impl
+ rule__FocusingStrategy__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getFocusKeyword_5()); }
+
+ 'focus='
+
+{ after(grammarAccess.getFocusingStrategyAccess().getFocusKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group__6__Impl
+ rule__FocusingStrategy__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getFocusAssignment_6()); }
+(rule__FocusingStrategy__FocusAssignment_6)
+{ after(grammarAccess.getFocusingStrategyAccess().getFocusAssignment_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group__7__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getGroup_7()); }
+(rule__FocusingStrategy__Group_7__0)?
+{ after(grammarAccess.getFocusingStrategyAccess().getGroup_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__FocusingStrategy__Group_7__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7__0__Impl
+ rule__FocusingStrategy__Group_7__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getKeyStrokeDefinitionKeyword_7_0()); }
+
+ 'keyStrokeDefinition'
+
+{ after(grammarAccess.getFocusingStrategyAccess().getKeyStrokeDefinitionKeyword_7_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group_7__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7__1__Impl
+ rule__FocusingStrategy__Group_7__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getLeftCurlyBracketKeyword_7_1()); }
+
+ '{'
+
+{ after(grammarAccess.getFocusingStrategyAccess().getLeftCurlyBracketKeyword_7_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group_7__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7__2__Impl
+ rule__FocusingStrategy__Group_7__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getKeyCodeKeyword_7_2()); }
+
+ 'keyCode='
+
+{ after(grammarAccess.getFocusingStrategyAccess().getKeyCodeKeyword_7_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group_7__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7__3__Impl
+ rule__FocusingStrategy__Group_7__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getKeyCodeAssignment_7_3()); }
+(rule__FocusingStrategy__KeyCodeAssignment_7_3)
+{ after(grammarAccess.getFocusingStrategyAccess().getKeyCodeAssignment_7_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group_7__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7__4__Impl
+ rule__FocusingStrategy__Group_7__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getGroup_7_4()); }
+(rule__FocusingStrategy__Group_7_4__0)?
+{ after(grammarAccess.getFocusingStrategyAccess().getGroup_7_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group_7__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getRightCurlyBracketKeyword_7_5()); }
+
+ '}'
+
+{ after(grammarAccess.getFocusingStrategyAccess().getRightCurlyBracketKeyword_7_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__FocusingStrategy__Group_7_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7_4__0__Impl
+ rule__FocusingStrategy__Group_7_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getModifierKeysKeyword_7_4_0()); }
+
+ 'modifierKeys'
+
+{ after(grammarAccess.getFocusingStrategyAccess().getModifierKeysKeyword_7_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group_7_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7_4__1__Impl
+ rule__FocusingStrategy__Group_7_4__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getLeftCurlyBracketKeyword_7_4_1()); }
+
+ '{'
+
+{ after(grammarAccess.getFocusingStrategyAccess().getLeftCurlyBracketKeyword_7_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group_7_4__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7_4__2__Impl
+ rule__FocusingStrategy__Group_7_4__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7_4__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getModifierKeysAssignment_7_4_2()); }
+(rule__FocusingStrategy__ModifierKeysAssignment_7_4_2)*
+{ after(grammarAccess.getFocusingStrategyAccess().getModifierKeysAssignment_7_4_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingStrategy__Group_7_4__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingStrategy__Group_7_4__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingStrategy__Group_7_4__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingStrategyAccess().getRightCurlyBracketKeyword_7_4_3()); }
+
+ '}'
+
+{ after(grammarAccess.getFocusingStrategyAccess().getRightCurlyBracketKeyword_7_4_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__FocusingEnhancer__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingEnhancer__Group__0__Impl
+ rule__FocusingEnhancer__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingEnhancer__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingEnhancerAccess().getFocusingEnhancerAction_0()); }
+(
+
+)
+{ after(grammarAccess.getFocusingEnhancerAccess().getFocusingEnhancerAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingEnhancer__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingEnhancer__Group__1__Impl
+ rule__FocusingEnhancer__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingEnhancer__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingEnhancerAccess().getFocusingEnhancerKeyword_1()); }
+
+ 'focusingEnhancer'
+
+{ after(grammarAccess.getFocusingEnhancerAccess().getFocusingEnhancerKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingEnhancer__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingEnhancer__Group__2__Impl
+ rule__FocusingEnhancer__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingEnhancer__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingEnhancerAccess().getNameAssignment_2()); }
+(rule__FocusingEnhancer__NameAssignment_2)
+{ after(grammarAccess.getFocusingEnhancerAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingEnhancer__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingEnhancer__Group__3__Impl
+ rule__FocusingEnhancer__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingEnhancer__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingEnhancerAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getFocusingEnhancerAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingEnhancer__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingEnhancer__Group__4__Impl
+ rule__FocusingEnhancer__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingEnhancer__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getFocusingEnhancerAccess().getFocusingStrategiesAssignment_4()); }
+(rule__FocusingEnhancer__FocusingStrategiesAssignment_4)
+{ after(grammarAccess.getFocusingEnhancerAccess().getFocusingStrategiesAssignment_4()); }
+)
+(
+{ before(grammarAccess.getFocusingEnhancerAccess().getFocusingStrategiesAssignment_4()); }
+(rule__FocusingEnhancer__FocusingStrategiesAssignment_4)*
+{ after(grammarAccess.getFocusingEnhancerAccess().getFocusingStrategiesAssignment_4()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FocusingEnhancer__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FocusingEnhancer__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FocusingEnhancer__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFocusingEnhancerAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getFocusingEnhancerAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__StrategyDefault__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyDefault__Group__0__Impl
+ rule__StrategyDefault__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyDefault__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyDefaultAccess().getStrategyDefaultAction_0()); }
+(
+
+)
+{ after(grammarAccess.getStrategyDefaultAccess().getStrategyDefaultAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyDefault__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyDefault__Group__1__Impl
+ rule__StrategyDefault__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyDefault__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyDefaultAccess().getDefaultKeyword_1()); }
+
+ 'default'
+
+{ after(grammarAccess.getStrategyDefaultAccess().getDefaultKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyDefault__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyDefault__Group__2__Impl
+ rule__StrategyDefault__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyDefault__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyDefaultAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getStrategyDefaultAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyDefault__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyDefault__Group__3__Impl
+ rule__StrategyDefault__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyDefault__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingKeyword_3()); }
+
+ 'defaultLayouting='
+
+{ after(grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyDefault__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyDefault__Group__4__Impl
+ rule__StrategyDefault__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyDefault__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingAssignment_4()); }
+(rule__StrategyDefault__DefaultLayoutingAssignment_4)
+{ after(grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyDefault__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyDefault__Group__5__Impl
+ rule__StrategyDefault__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyDefault__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyDefaultAccess().getDefaultFocusingKeyword_5()); }
+
+ 'defaultFocusing='
+
+{ after(grammarAccess.getStrategyDefaultAccess().getDefaultFocusingKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyDefault__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyDefault__Group__6__Impl
+ rule__StrategyDefault__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyDefault__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyDefaultAccess().getDefaultFocusingAssignment_6()); }
+(rule__StrategyDefault__DefaultFocusingAssignment_6)
+{ after(grammarAccess.getStrategyDefaultAccess().getDefaultFocusingAssignment_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StrategyDefault__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StrategyDefault__Group__7__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StrategyDefault__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStrategyDefaultAccess().getRightCurlyBracketKeyword_7()); }
+
+ '}'
+
+{ after(grammarAccess.getStrategyDefaultAccess().getRightCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__XAnnotation__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group__0__Impl
+ rule__XAnnotation__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getXAnnotationAction_0()); }
+(
+
+)
+{ after(grammarAccess.getXAnnotationAccess().getXAnnotationAction_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotation__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group__1__Impl
+ rule__XAnnotation__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1()); }
+
+ '@'
+
+{ after(grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotation__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group__2__Impl
+ rule__XAnnotation__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2()); }
+(rule__XAnnotation__AnnotationTypeAssignment_2)
+{ after(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotation__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getGroup_3()); }
+(rule__XAnnotation__Group_3__0)?
+{ after(grammarAccess.getXAnnotationAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__XAnnotation__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group_3__0__Impl
+ rule__XAnnotation__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()); }
+(
+ '('
+)
+{ after(grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotation__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group_3__1__Impl
+ rule__XAnnotation__Group_3__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getAlternatives_3_1()); }
+(rule__XAnnotation__Alternatives_3_1)?
+{ after(grammarAccess.getXAnnotationAccess().getAlternatives_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotation__Group_3__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group_3__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group_3__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()); }
+
+ ')'
+
+{ after(grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__XAnnotation__Group_3_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group_3_1_0__0__Impl
+ rule__XAnnotation__Group_3_1_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group_3_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0()); }
+(rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0)
+{ after(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotation__Group_3_1_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group_3_1_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group_3_1_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1()); }
+(rule__XAnnotation__Group_3_1_0_1__0)*
+{ after(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotation__Group_3_1_0_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group_3_1_0_1__0__Impl
+ rule__XAnnotation__Group_3_1_0_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group_3_1_0_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotation__Group_3_1_0_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotation__Group_3_1_0_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Group_3_1_0_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1()); }
+(rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1)
+{ after(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotationElementValuePair__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValuePair__Group__0__Impl
+ rule__XAnnotationElementValuePair__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValuePair__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0()); }
+(rule__XAnnotationElementValuePair__Group_0__0)
+{ after(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValuePair__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValuePair__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValuePair__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1()); }
+(rule__XAnnotationElementValuePair__ValueAssignment_1)
+{ after(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotationElementValuePair__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValuePair__Group_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValuePair__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0()); }
+(rule__XAnnotationElementValuePair__Group_0_0__0)
+{ after(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XAnnotationElementValuePair__Group_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValuePair__Group_0_0__0__Impl
+ rule__XAnnotationElementValuePair__Group_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValuePair__Group_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0()); }
+(rule__XAnnotationElementValuePair__ElementAssignment_0_0_0)
+{ after(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValuePair__Group_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValuePair__Group_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValuePair__Group_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1()); }
+
+ '='
+
+{ after(grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl
+ rule__XAnnotationElementValueOrCommaList__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0()); }
+(rule__XAnnotationElementValueOrCommaList__Group_0_0__0)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl
+ rule__XAnnotationElementValueOrCommaList__Group_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1()); }
+(rule__XAnnotationElementValueOrCommaList__Group_0_1__0)?
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2()); }
+
+ ']'
+
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0()); }
+(rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl
+ rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl
+ rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1()); }
+
+ '#'
+
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2()); }
+
+ '['
+
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl
+ rule__XAnnotationElementValueOrCommaList__Group_0_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0()); }
+(rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1()); }
+(rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0)*
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl
+ rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1()); }
+(rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotationElementValueOrCommaList__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl
+ rule__XAnnotationElementValueOrCommaList__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0()); }
+ ruleXAnnotationOrExpression
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValueOrCommaList__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1()); }
+(rule__XAnnotationElementValueOrCommaList__Group_1_1__0)?
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotationElementValueOrCommaList__Group_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl
+ rule__XAnnotationElementValueOrCommaList__Group_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0()); }
+(
+
+)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValueOrCommaList__Group_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); }
+(rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); }
+)
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); }
+(rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0)*
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl
+ rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1()); }
+(rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotationElementValue__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0__0__Impl
+ rule__XAnnotationElementValue__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0()); }
+(rule__XAnnotationElementValue__Group_0_0__0)
+{ after(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValue__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0__1__Impl
+ rule__XAnnotationElementValue__Group_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1()); }
+(rule__XAnnotationElementValue__Group_0_1__0)?
+{ after(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValue__Group_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2()); }
+
+ ']'
+
+{ after(grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__XAnnotationElementValue__Group_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0()); }
+(rule__XAnnotationElementValue__Group_0_0_0__0)
+{ after(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XAnnotationElementValue__Group_0_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0_0_0__0__Impl
+ rule__XAnnotationElementValue__Group_0_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValue__Group_0_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0_0_0__1__Impl
+ rule__XAnnotationElementValue__Group_0_0_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1()); }
+
+ '#'
+
+{ after(grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValue__Group_0_0_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0_0_0__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0_0_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2()); }
+
+ '['
+
+{ after(grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__XAnnotationElementValue__Group_0_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0_1__0__Impl
+ rule__XAnnotationElementValue__Group_0_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0()); }
+(rule__XAnnotationElementValue__ElementsAssignment_0_1_0)
+{ after(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValue__Group_0_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1()); }
+(rule__XAnnotationElementValue__Group_0_1_1__0)*
+{ after(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAnnotationElementValue__Group_0_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0_1_1__0__Impl
+ rule__XAnnotationElementValue__Group_0_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAnnotationElementValue__Group_0_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAnnotationElementValue__Group_0_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Group_0_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1()); }
+(rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1)
+{ after(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAssignment__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_0__0__Impl
+ rule__XAssignment__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAssignment__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_0__1__Impl
+ rule__XAssignment__Group_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); }
+(rule__XAssignment__FeatureAssignment_0_1)
+{ after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAssignment__Group_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_0__2__Impl
+ rule__XAssignment__Group_0__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); }
+ ruleOpSingleAssign
+{ after(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAssignment__Group_0__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_0__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_0__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); }
+(rule__XAssignment__ValueAssignment_0_3)
+{ after(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__XAssignment__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_1__0__Impl
+ rule__XAssignment__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); }
+ ruleXOrExpression
+{ after(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAssignment__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); }
+(rule__XAssignment__Group_1_1__0)?
+{ after(grammarAccess.getXAssignmentAccess().getGroup_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAssignment__Group_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_1_1__0__Impl
+ rule__XAssignment__Group_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); }
+(rule__XAssignment__Group_1_1_0__0)
+{ after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAssignment__Group_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); }
+(rule__XAssignment__RightOperandAssignment_1_1_1)
+{ after(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAssignment__Group_1_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_1_1_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_1_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); }
+(rule__XAssignment__Group_1_1_0_0__0)
+{ after(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XAssignment__Group_1_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_1_1_0_0__0__Impl
+ rule__XAssignment__Group_1_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_1_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAssignment__Group_1_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAssignment__Group_1_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Group_1_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); }
+(rule__XAssignment__FeatureAssignment_1_1_0_0_1)
+{ after(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__OpMultiAssign__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpMultiAssign__Group_5__0__Impl
+ rule__OpMultiAssign__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpMultiAssign__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); }
+
+ '<'
+
+{ after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpMultiAssign__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpMultiAssign__Group_5__1__Impl
+ rule__OpMultiAssign__Group_5__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpMultiAssign__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); }
+
+ '<'
+
+{ after(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpMultiAssign__Group_5__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpMultiAssign__Group_5__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpMultiAssign__Group_5__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); }
+
+ '='
+
+{ after(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__OpMultiAssign__Group_6__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpMultiAssign__Group_6__0__Impl
+ rule__OpMultiAssign__Group_6__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpMultiAssign__Group_6__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); }
+
+ '>'
+
+{ after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpMultiAssign__Group_6__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpMultiAssign__Group_6__1__Impl
+ rule__OpMultiAssign__Group_6__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpMultiAssign__Group_6__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); }
+(
+ '>'
+)?
+{ after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpMultiAssign__Group_6__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpMultiAssign__Group_6__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpMultiAssign__Group_6__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); }
+
+ '>='
+
+{ after(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__XOrExpression__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOrExpression__Group__0__Impl
+ rule__XOrExpression__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOrExpression__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); }
+ ruleXAndExpression
+{ after(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XOrExpression__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOrExpression__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOrExpression__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOrExpressionAccess().getGroup_1()); }
+(rule__XOrExpression__Group_1__0)*
+{ after(grammarAccess.getXOrExpressionAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XOrExpression__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOrExpression__Group_1__0__Impl
+ rule__XOrExpression__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOrExpression__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); }
+(rule__XOrExpression__Group_1_0__0)
+{ after(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XOrExpression__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOrExpression__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOrExpression__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); }
+(rule__XOrExpression__RightOperandAssignment_1_1)
+{ after(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XOrExpression__Group_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOrExpression__Group_1_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOrExpression__Group_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); }
+(rule__XOrExpression__Group_1_0_0__0)
+{ after(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XOrExpression__Group_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOrExpression__Group_1_0_0__0__Impl
+ rule__XOrExpression__Group_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOrExpression__Group_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XOrExpression__Group_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOrExpression__Group_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOrExpression__Group_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+(rule__XOrExpression__FeatureAssignment_1_0_0_1)
+{ after(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAndExpression__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAndExpression__Group__0__Impl
+ rule__XAndExpression__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAndExpression__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); }
+ ruleXEqualityExpression
+{ after(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAndExpression__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAndExpression__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAndExpression__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAndExpressionAccess().getGroup_1()); }
+(rule__XAndExpression__Group_1__0)*
+{ after(grammarAccess.getXAndExpressionAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAndExpression__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAndExpression__Group_1__0__Impl
+ rule__XAndExpression__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAndExpression__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); }
+(rule__XAndExpression__Group_1_0__0)
+{ after(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAndExpression__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAndExpression__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAndExpression__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); }
+(rule__XAndExpression__RightOperandAssignment_1_1)
+{ after(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAndExpression__Group_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAndExpression__Group_1_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAndExpression__Group_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); }
+(rule__XAndExpression__Group_1_0_0__0)
+{ after(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XAndExpression__Group_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAndExpression__Group_1_0_0__0__Impl
+ rule__XAndExpression__Group_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAndExpression__Group_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAndExpression__Group_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAndExpression__Group_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAndExpression__Group_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+(rule__XAndExpression__FeatureAssignment_1_0_0_1)
+{ after(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XEqualityExpression__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XEqualityExpression__Group__0__Impl
+ rule__XEqualityExpression__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XEqualityExpression__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); }
+ ruleXRelationalExpression
+{ after(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XEqualityExpression__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XEqualityExpression__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XEqualityExpression__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); }
+(rule__XEqualityExpression__Group_1__0)*
+{ after(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XEqualityExpression__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XEqualityExpression__Group_1__0__Impl
+ rule__XEqualityExpression__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XEqualityExpression__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); }
+(rule__XEqualityExpression__Group_1_0__0)
+{ after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XEqualityExpression__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XEqualityExpression__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XEqualityExpression__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); }
+(rule__XEqualityExpression__RightOperandAssignment_1_1)
+{ after(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XEqualityExpression__Group_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XEqualityExpression__Group_1_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XEqualityExpression__Group_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); }
+(rule__XEqualityExpression__Group_1_0_0__0)
+{ after(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XEqualityExpression__Group_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XEqualityExpression__Group_1_0_0__0__Impl
+ rule__XEqualityExpression__Group_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XEqualityExpression__Group_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XEqualityExpression__Group_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XEqualityExpression__Group_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XEqualityExpression__Group_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+(rule__XEqualityExpression__FeatureAssignment_1_0_0_1)
+{ after(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XRelationalExpression__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group__0__Impl
+ rule__XRelationalExpression__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); }
+ ruleXOtherOperatorExpression
+{ after(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XRelationalExpression__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); }
+(rule__XRelationalExpression__Alternatives_1)*
+{ after(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XRelationalExpression__Group_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_0__0__Impl
+ rule__XRelationalExpression__Group_1_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); }
+(rule__XRelationalExpression__Group_1_0_0__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XRelationalExpression__Group_1_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); }
+(rule__XRelationalExpression__TypeAssignment_1_0_1)
+{ after(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XRelationalExpression__Group_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_0_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); }
+(rule__XRelationalExpression__Group_1_0_0_0__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XRelationalExpression__Group_1_0_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_0_0_0__0__Impl
+ rule__XRelationalExpression__Group_1_0_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_0_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XRelationalExpression__Group_1_0_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_0_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_0_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); }
+
+ 'instanceof'
+
+{ after(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XRelationalExpression__Group_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_1__0__Impl
+ rule__XRelationalExpression__Group_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); }
+(rule__XRelationalExpression__Group_1_1_0__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XRelationalExpression__Group_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); }
+(rule__XRelationalExpression__RightOperandAssignment_1_1_1)
+{ after(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XRelationalExpression__Group_1_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_1_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); }
+(rule__XRelationalExpression__Group_1_1_0_0__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XRelationalExpression__Group_1_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_1_0_0__0__Impl
+ rule__XRelationalExpression__Group_1_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XRelationalExpression__Group_1_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XRelationalExpression__Group_1_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Group_1_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); }
+(rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1)
+{ after(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__OpCompare__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpCompare__Group_1__0__Impl
+ rule__OpCompare__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpCompare__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); }
+
+ '<'
+
+{ after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpCompare__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpCompare__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpCompare__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); }
+
+ '='
+
+{ after(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XOtherOperatorExpression__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOtherOperatorExpression__Group__0__Impl
+ rule__XOtherOperatorExpression__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOtherOperatorExpression__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); }
+ ruleXAdditiveExpression
+{ after(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XOtherOperatorExpression__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOtherOperatorExpression__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOtherOperatorExpression__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); }
+(rule__XOtherOperatorExpression__Group_1__0)*
+{ after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XOtherOperatorExpression__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOtherOperatorExpression__Group_1__0__Impl
+ rule__XOtherOperatorExpression__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOtherOperatorExpression__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); }
+(rule__XOtherOperatorExpression__Group_1_0__0)
+{ after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XOtherOperatorExpression__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOtherOperatorExpression__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOtherOperatorExpression__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); }
+(rule__XOtherOperatorExpression__RightOperandAssignment_1_1)
+{ after(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XOtherOperatorExpression__Group_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOtherOperatorExpression__Group_1_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOtherOperatorExpression__Group_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); }
+(rule__XOtherOperatorExpression__Group_1_0_0__0)
+{ after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XOtherOperatorExpression__Group_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOtherOperatorExpression__Group_1_0_0__0__Impl
+ rule__XOtherOperatorExpression__Group_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOtherOperatorExpression__Group_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XOtherOperatorExpression__Group_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XOtherOperatorExpression__Group_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XOtherOperatorExpression__Group_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+(rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1)
+{ after(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__OpOther__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_2__0__Impl
+ rule__OpOther__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); }
+
+ '>'
+
+{ after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpOther__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); }
+
+ '..'
+
+{ after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__OpOther__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_5__0__Impl
+ rule__OpOther__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); }
+
+ '>'
+
+{ after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpOther__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_5__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); }
+(rule__OpOther__Alternatives_5_1)
+{ after(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__OpOther__Group_5_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_5_1_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_5_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); }
+(rule__OpOther__Group_5_1_0_0__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__OpOther__Group_5_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_5_1_0_0__0__Impl
+ rule__OpOther__Group_5_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_5_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); }
+
+ '>'
+
+{ after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpOther__Group_5_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_5_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_5_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); }
+
+ '>'
+
+{ after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__OpOther__Group_6__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_6__0__Impl
+ rule__OpOther__Group_6__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_6__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); }
+
+ '<'
+
+{ after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpOther__Group_6__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_6__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_6__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); }
+(rule__OpOther__Alternatives_6_1)
+{ after(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__OpOther__Group_6_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_6_1_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_6_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); }
+(rule__OpOther__Group_6_1_0_0__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__OpOther__Group_6_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_6_1_0_0__0__Impl
+ rule__OpOther__Group_6_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_6_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); }
+
+ '<'
+
+{ after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__OpOther__Group_6_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__OpOther__Group_6_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__OpOther__Group_6_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); }
+
+ '<'
+
+{ after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAdditiveExpression__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAdditiveExpression__Group__0__Impl
+ rule__XAdditiveExpression__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAdditiveExpression__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); }
+ ruleXMultiplicativeExpression
+{ after(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAdditiveExpression__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAdditiveExpression__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAdditiveExpression__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); }
+(rule__XAdditiveExpression__Group_1__0)*
+{ after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAdditiveExpression__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAdditiveExpression__Group_1__0__Impl
+ rule__XAdditiveExpression__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAdditiveExpression__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); }
+(rule__XAdditiveExpression__Group_1_0__0)
+{ after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAdditiveExpression__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAdditiveExpression__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAdditiveExpression__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); }
+(rule__XAdditiveExpression__RightOperandAssignment_1_1)
+{ after(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XAdditiveExpression__Group_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAdditiveExpression__Group_1_0__0__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAdditiveExpression__Group_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); }
+(rule__XAdditiveExpression__Group_1_0_0__0)
+{ after(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__XAdditiveExpression__Group_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAdditiveExpression__Group_1_0_0__0__Impl
+ rule__XAdditiveExpression__Group_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAdditiveExpression__Group_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XAdditiveExpression__Group_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XAdditiveExpression__Group_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XAdditiveExpression__Group_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+(rule__XAdditiveExpression__FeatureAssignment_1_0_0_1)
+{ after(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XMultiplicativeExpression__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XMultiplicativeExpression__Group__0__Impl
+ rule__XMultiplicativeExpression__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XMultiplicativeExpression__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); }
+ ruleXUnaryOperation
+{ after(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XMultiplicativeExpression__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XMultiplicativeExpression__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XMultiplicativeExpression__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); }
+(rule__XMultiplicativeExpression__Group_1__0)*
+{ after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__XMultiplicativeExpression__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__XMultiplicativeExpression__Group_1__0__Impl
+ rule__XMultiplicativeExpression__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__XMultiplicativeExpression__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); }
+(rule__XMultiplicativeExpression__Group_1_0__0)
+{ after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__XMultiplicativeExpression__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.tokens b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.tokens
new file mode 100644
index 0000000..65421af
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.tokens
@@ -0,0 +1,203 @@
+'!'=40
+'!='=22
+'!=='=24
+'#'=81
+'%'=39
+'%='=20
+'&&'=15
+'&'=104
+'('=77
+')'=78
+'*'=36
+'**'=37
+'*='=18
+'+'=34
+'++'=41
+'+='=16
+','=79
+'-'=35
+'--'=42
+'-='=17
+'->'=28
+'.'=43
+'..'=30
+'..<'=29
+'/'=38
+'/='=19
+':'=89
+'::'=105
+';'=85
+'<'=27
+'<>'=32
+'='=13
+'=='=21
+'==='=23
+'=>'=31
+'>'=26
+'>='=25
+'?'=103
+'?.'=106
+'?:'=33
+'@'=76
+'Backward'=58
+'Css'=56
+'Form2'=54
+'Form3'=55
+'Forward'=57
+'Grid'=53
+'Horizontal'=51
+'Vertical'=52
+'['=82
+']'=80
+'as'=84
+'case'=90
+'catch'=102
+'default'=73
+'defaultFocusing='=75
+'defaultLayouting='=74
+'do'=93
+'ecviewFocusingId='=67
+'else'=87
+'extends'=45
+'extension'=48
+'false'=50
+'finally'=100
+'focus='=68
+'focusingEnhancer'=72
+'focusingStrategy'=66
+'for'=91
+'if'=86
+'import'=47
+'instanceof'=83
+'keyCode='=70
+'keyStrokeDefinition'=69
+'layout='=65
+'layoutingStrategy'=64
+'modifierKeys'=71
+'new'=94
+'null'=95
+'package'=59
+'return'=98
+'static'=46
+'strategy'=62
+'super'=49
+'switch'=88
+'synchronized'=101
+'targets'=63
+'throw'=97
+'true'=109
+'try'=99
+'typeof'=96
+'val'=44
+'var'=108
+'while'=92
+'{'=60
+'|'=107
+'||'=14
+'}'=61
+RULE_ANY_OTHER=12
+RULE_DECIMAL=7
+RULE_HEX=5
+RULE_ID=4
+RULE_INT=6
+RULE_ML_COMMENT=9
+RULE_SL_COMMENT=10
+RULE_STRING=8
+RULE_WS=11
+T__100=100
+T__101=101
+T__102=102
+T__103=103
+T__104=104
+T__105=105
+T__106=106
+T__107=107
+T__108=108
+T__109=109
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
+T__32=32
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+T__39=39
+T__40=40
+T__41=41
+T__42=42
+T__43=43
+T__44=44
+T__45=45
+T__46=46
+T__47=47
+T__48=48
+T__49=49
+T__50=50
+T__51=51
+T__52=52
+T__53=53
+T__54=54
+T__55=55
+T__56=56
+T__57=57
+T__58=58
+T__59=59
+T__60=60
+T__61=61
+T__62=62
+T__63=63
+T__64=64
+T__65=65
+T__66=66
+T__67=67
+T__68=68
+T__69=69
+T__70=70
+T__71=71
+T__72=72
+T__73=73
+T__74=74
+T__75=75
+T__76=76
+T__77=77
+T__78=78
+T__79=79
+T__80=80
+T__81=81
+T__82=82
+T__83=83
+T__84=84
+T__85=85
+T__86=86
+T__87=87
+T__88=88
+T__89=89
+T__90=90
+T__91=91
+T__92=92
+T__93=93
+T__94=94
+T__95=95
+T__96=96
+T__97=97
+T__98=98
+T__99=99
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSLLexer.java b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSLLexer.java
new file mode 100644
index 0000000..c80626a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSLLexer.java
@@ -0,0 +1,4519 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalStrategyDSLLexer extends Lexer {
+ public static final int RULE_HEX=5;
+ public static final int T__50=50;
+ public static final int T__59=59;
+ public static final int T__55=55;
+ public static final int T__56=56;
+ public static final int T__57=57;
+ public static final int T__58=58;
+ public static final int T__51=51;
+ public static final int T__52=52;
+ public static final int T__53=53;
+ public static final int T__54=54;
+ public static final int T__60=60;
+ public static final int T__61=61;
+ public static final int RULE_ID=4;
+ public static final int RULE_INT=6;
+ public static final int T__66=66;
+ public static final int RULE_ML_COMMENT=9;
+ public static final int T__67=67;
+ public static final int T__68=68;
+ public static final int T__69=69;
+ public static final int T__62=62;
+ public static final int T__63=63;
+ public static final int T__64=64;
+ public static final int T__65=65;
+ public static final int T__37=37;
+ public static final int T__38=38;
+ public static final int T__39=39;
+ public static final int T__33=33;
+ public static final int T__34=34;
+ public static final int T__35=35;
+ public static final int T__36=36;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
+ public static final int T__48=48;
+ public static final int T__49=49;
+ public static final int T__44=44;
+ public static final int T__45=45;
+ public static final int T__46=46;
+ public static final int T__47=47;
+ public static final int T__40=40;
+ public static final int T__41=41;
+ public static final int T__42=42;
+ public static final int T__43=43;
+ public static final int T__91=91;
+ public static final int T__100=100;
+ public static final int T__92=92;
+ public static final int T__93=93;
+ public static final int T__102=102;
+ public static final int T__94=94;
+ public static final int T__101=101;
+ public static final int T__90=90;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__99=99;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int T__95=95;
+ public static final int T__96=96;
+ public static final int T__97=97;
+ public static final int T__98=98;
+ public static final int RULE_DECIMAL=7;
+ public static final int T__26=26;
+ public static final int T__27=27;
+ public static final int T__28=28;
+ public static final int T__29=29;
+ public static final int T__22=22;
+ public static final int T__23=23;
+ public static final int T__24=24;
+ public static final int T__25=25;
+ public static final int T__20=20;
+ public static final int T__21=21;
+ public static final int T__70=70;
+ public static final int T__71=71;
+ public static final int T__72=72;
+ public static final int RULE_STRING=8;
+ public static final int RULE_SL_COMMENT=10;
+ public static final int T__77=77;
+ public static final int T__78=78;
+ public static final int T__79=79;
+ public static final int T__73=73;
+ public static final int EOF=-1;
+ public static final int T__74=74;
+ public static final int T__75=75;
+ public static final int T__76=76;
+ public static final int T__80=80;
+ public static final int T__81=81;
+ public static final int T__82=82;
+ public static final int T__83=83;
+ public static final int RULE_WS=11;
+ public static final int RULE_ANY_OTHER=12;
+ public static final int T__88=88;
+ public static final int T__108=108;
+ public static final int T__89=89;
+ public static final int T__107=107;
+ public static final int T__109=109;
+ public static final int T__84=84;
+ public static final int T__104=104;
+ public static final int T__85=85;
+ public static final int T__103=103;
+ public static final int T__86=86;
+ public static final int T__106=106;
+ public static final int T__87=87;
+ public static final int T__105=105;
+
+ // delegates
+ // delegators
+
+ public InternalStrategyDSLLexer() {;}
+ public InternalStrategyDSLLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalStrategyDSLLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g"; }
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:11:7: ( '=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:11:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:12:7: ( '||' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:12:9: '||'
+ {
+ match("||");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:13:7: ( '&&' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:13:9: '&&'
+ {
+ match("&&");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:14:7: ( '+=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:14:9: '+='
+ {
+ match("+=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:15:7: ( '-=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:15:9: '-='
+ {
+ match("-=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:16:7: ( '*=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:16:9: '*='
+ {
+ match("*=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:17:7: ( '/=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:17:9: '/='
+ {
+ match("/=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:18:7: ( '%=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:18:9: '%='
+ {
+ match("%=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:19:7: ( '==' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:19:9: '=='
+ {
+ match("==");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:20:7: ( '!=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:20:9: '!='
+ {
+ match("!=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:21:7: ( '===' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:21:9: '==='
+ {
+ match("===");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:22:7: ( '!==' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:22:9: '!=='
+ {
+ match("!==");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23:7: ( '>=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23:9: '>='
+ {
+ match(">=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:24:7: ( '>' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:24:9: '>'
+ {
+ match('>');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:25:7: ( '<' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:25:9: '<'
+ {
+ match('<');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:26:7: ( '->' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:26:9: '->'
+ {
+ match("->");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:27:7: ( '..<' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:27:9: '..<'
+ {
+ match("..<");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:28:7: ( '..' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:28:9: '..'
+ {
+ match("..");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:29:7: ( '=>' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:29:9: '=>'
+ {
+ match("=>");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "T__32"
+ public final void mT__32() throws RecognitionException {
+ try {
+ int _type = T__32;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:30:7: ( '<>' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:30:9: '<>'
+ {
+ match("<>");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__32"
+
+ // $ANTLR start "T__33"
+ public final void mT__33() throws RecognitionException {
+ try {
+ int _type = T__33;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:31:7: ( '?:' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:31:9: '?:'
+ {
+ match("?:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__33"
+
+ // $ANTLR start "T__34"
+ public final void mT__34() throws RecognitionException {
+ try {
+ int _type = T__34;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:32:7: ( '+' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:32:9: '+'
+ {
+ match('+');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__34"
+
+ // $ANTLR start "T__35"
+ public final void mT__35() throws RecognitionException {
+ try {
+ int _type = T__35;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:33:7: ( '-' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:33:9: '-'
+ {
+ match('-');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__35"
+
+ // $ANTLR start "T__36"
+ public final void mT__36() throws RecognitionException {
+ try {
+ int _type = T__36;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:34:7: ( '*' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:34:9: '*'
+ {
+ match('*');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__36"
+
+ // $ANTLR start "T__37"
+ public final void mT__37() throws RecognitionException {
+ try {
+ int _type = T__37;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:35:7: ( '**' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:35:9: '**'
+ {
+ match("**");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__37"
+
+ // $ANTLR start "T__38"
+ public final void mT__38() throws RecognitionException {
+ try {
+ int _type = T__38;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:36:7: ( '/' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:36:9: '/'
+ {
+ match('/');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__38"
+
+ // $ANTLR start "T__39"
+ public final void mT__39() throws RecognitionException {
+ try {
+ int _type = T__39;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:37:7: ( '%' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:37:9: '%'
+ {
+ match('%');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__39"
+
+ // $ANTLR start "T__40"
+ public final void mT__40() throws RecognitionException {
+ try {
+ int _type = T__40;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:38:7: ( '!' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:38:9: '!'
+ {
+ match('!');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__40"
+
+ // $ANTLR start "T__41"
+ public final void mT__41() throws RecognitionException {
+ try {
+ int _type = T__41;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:39:7: ( '++' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:39:9: '++'
+ {
+ match("++");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__41"
+
+ // $ANTLR start "T__42"
+ public final void mT__42() throws RecognitionException {
+ try {
+ int _type = T__42;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:40:7: ( '--' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:40:9: '--'
+ {
+ match("--");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__42"
+
+ // $ANTLR start "T__43"
+ public final void mT__43() throws RecognitionException {
+ try {
+ int _type = T__43;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:41:7: ( '.' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:41:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__43"
+
+ // $ANTLR start "T__44"
+ public final void mT__44() throws RecognitionException {
+ try {
+ int _type = T__44;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:42:7: ( 'val' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:42:9: 'val'
+ {
+ match("val");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__44"
+
+ // $ANTLR start "T__45"
+ public final void mT__45() throws RecognitionException {
+ try {
+ int _type = T__45;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:43:7: ( 'extends' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:43:9: 'extends'
+ {
+ match("extends");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__45"
+
+ // $ANTLR start "T__46"
+ public final void mT__46() throws RecognitionException {
+ try {
+ int _type = T__46;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:44:7: ( 'static' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:44:9: 'static'
+ {
+ match("static");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__46"
+
+ // $ANTLR start "T__47"
+ public final void mT__47() throws RecognitionException {
+ try {
+ int _type = T__47;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:45:7: ( 'import' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:45:9: 'import'
+ {
+ match("import");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__47"
+
+ // $ANTLR start "T__48"
+ public final void mT__48() throws RecognitionException {
+ try {
+ int _type = T__48;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:46:7: ( 'extension' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:46:9: 'extension'
+ {
+ match("extension");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__48"
+
+ // $ANTLR start "T__49"
+ public final void mT__49() throws RecognitionException {
+ try {
+ int _type = T__49;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:47:7: ( 'super' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:47:9: 'super'
+ {
+ match("super");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__49"
+
+ // $ANTLR start "T__50"
+ public final void mT__50() throws RecognitionException {
+ try {
+ int _type = T__50;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:48:7: ( 'false' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:48:9: 'false'
+ {
+ match("false");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__50"
+
+ // $ANTLR start "T__51"
+ public final void mT__51() throws RecognitionException {
+ try {
+ int _type = T__51;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:49:7: ( 'Horizontal' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:49:9: 'Horizontal'
+ {
+ match("Horizontal");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__51"
+
+ // $ANTLR start "T__52"
+ public final void mT__52() throws RecognitionException {
+ try {
+ int _type = T__52;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:50:7: ( 'Vertical' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:50:9: 'Vertical'
+ {
+ match("Vertical");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__52"
+
+ // $ANTLR start "T__53"
+ public final void mT__53() throws RecognitionException {
+ try {
+ int _type = T__53;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:51:7: ( 'Grid' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:51:9: 'Grid'
+ {
+ match("Grid");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__53"
+
+ // $ANTLR start "T__54"
+ public final void mT__54() throws RecognitionException {
+ try {
+ int _type = T__54;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:52:7: ( 'Form2' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:52:9: 'Form2'
+ {
+ match("Form2");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__54"
+
+ // $ANTLR start "T__55"
+ public final void mT__55() throws RecognitionException {
+ try {
+ int _type = T__55;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:53:7: ( 'Form3' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:53:9: 'Form3'
+ {
+ match("Form3");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__55"
+
+ // $ANTLR start "T__56"
+ public final void mT__56() throws RecognitionException {
+ try {
+ int _type = T__56;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:54:7: ( 'Css' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:54:9: 'Css'
+ {
+ match("Css");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__56"
+
+ // $ANTLR start "T__57"
+ public final void mT__57() throws RecognitionException {
+ try {
+ int _type = T__57;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:55:7: ( 'Forward' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:55:9: 'Forward'
+ {
+ match("Forward");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__57"
+
+ // $ANTLR start "T__58"
+ public final void mT__58() throws RecognitionException {
+ try {
+ int _type = T__58;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:56:7: ( 'Backward' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:56:9: 'Backward'
+ {
+ match("Backward");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__58"
+
+ // $ANTLR start "T__59"
+ public final void mT__59() throws RecognitionException {
+ try {
+ int _type = T__59;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:57:7: ( 'package' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:57:9: 'package'
+ {
+ match("package");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__59"
+
+ // $ANTLR start "T__60"
+ public final void mT__60() throws RecognitionException {
+ try {
+ int _type = T__60;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:58:7: ( '{' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:58:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__60"
+
+ // $ANTLR start "T__61"
+ public final void mT__61() throws RecognitionException {
+ try {
+ int _type = T__61;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:59:7: ( '}' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:59:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__61"
+
+ // $ANTLR start "T__62"
+ public final void mT__62() throws RecognitionException {
+ try {
+ int _type = T__62;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:60:7: ( 'strategy' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:60:9: 'strategy'
+ {
+ match("strategy");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__62"
+
+ // $ANTLR start "T__63"
+ public final void mT__63() throws RecognitionException {
+ try {
+ int _type = T__63;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:61:7: ( 'targets' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:61:9: 'targets'
+ {
+ match("targets");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__63"
+
+ // $ANTLR start "T__64"
+ public final void mT__64() throws RecognitionException {
+ try {
+ int _type = T__64;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:62:7: ( 'layoutingStrategy' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:62:9: 'layoutingStrategy'
+ {
+ match("layoutingStrategy");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__64"
+
+ // $ANTLR start "T__65"
+ public final void mT__65() throws RecognitionException {
+ try {
+ int _type = T__65;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:63:7: ( 'layout=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:63:9: 'layout='
+ {
+ match("layout=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__65"
+
+ // $ANTLR start "T__66"
+ public final void mT__66() throws RecognitionException {
+ try {
+ int _type = T__66;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:64:7: ( 'focusingStrategy' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:64:9: 'focusingStrategy'
+ {
+ match("focusingStrategy");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__66"
+
+ // $ANTLR start "T__67"
+ public final void mT__67() throws RecognitionException {
+ try {
+ int _type = T__67;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:65:7: ( 'ecviewFocusingId=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:65:9: 'ecviewFocusingId='
+ {
+ match("ecviewFocusingId=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__67"
+
+ // $ANTLR start "T__68"
+ public final void mT__68() throws RecognitionException {
+ try {
+ int _type = T__68;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:66:7: ( 'focus=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:66:9: 'focus='
+ {
+ match("focus=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__68"
+
+ // $ANTLR start "T__69"
+ public final void mT__69() throws RecognitionException {
+ try {
+ int _type = T__69;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:67:7: ( 'keyStrokeDefinition' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:67:9: 'keyStrokeDefinition'
+ {
+ match("keyStrokeDefinition");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__69"
+
+ // $ANTLR start "T__70"
+ public final void mT__70() throws RecognitionException {
+ try {
+ int _type = T__70;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:68:7: ( 'keyCode=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:68:9: 'keyCode='
+ {
+ match("keyCode=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__70"
+
+ // $ANTLR start "T__71"
+ public final void mT__71() throws RecognitionException {
+ try {
+ int _type = T__71;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:69:7: ( 'modifierKeys' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:69:9: 'modifierKeys'
+ {
+ match("modifierKeys");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__71"
+
+ // $ANTLR start "T__72"
+ public final void mT__72() throws RecognitionException {
+ try {
+ int _type = T__72;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:70:7: ( 'focusingEnhancer' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:70:9: 'focusingEnhancer'
+ {
+ match("focusingEnhancer");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__72"
+
+ // $ANTLR start "T__73"
+ public final void mT__73() throws RecognitionException {
+ try {
+ int _type = T__73;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:71:7: ( 'default' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:71:9: 'default'
+ {
+ match("default");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__73"
+
+ // $ANTLR start "T__74"
+ public final void mT__74() throws RecognitionException {
+ try {
+ int _type = T__74;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:72:7: ( 'defaultLayouting=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:72:9: 'defaultLayouting='
+ {
+ match("defaultLayouting=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__74"
+
+ // $ANTLR start "T__75"
+ public final void mT__75() throws RecognitionException {
+ try {
+ int _type = T__75;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:73:7: ( 'defaultFocusing=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:73:9: 'defaultFocusing='
+ {
+ match("defaultFocusing=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__75"
+
+ // $ANTLR start "T__76"
+ public final void mT__76() throws RecognitionException {
+ try {
+ int _type = T__76;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:74:7: ( '@' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:74:9: '@'
+ {
+ match('@');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__76"
+
+ // $ANTLR start "T__77"
+ public final void mT__77() throws RecognitionException {
+ try {
+ int _type = T__77;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:75:7: ( '(' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:75:9: '('
+ {
+ match('(');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__77"
+
+ // $ANTLR start "T__78"
+ public final void mT__78() throws RecognitionException {
+ try {
+ int _type = T__78;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:76:7: ( ')' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:76:9: ')'
+ {
+ match(')');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__78"
+
+ // $ANTLR start "T__79"
+ public final void mT__79() throws RecognitionException {
+ try {
+ int _type = T__79;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:77:7: ( ',' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:77:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__79"
+
+ // $ANTLR start "T__80"
+ public final void mT__80() throws RecognitionException {
+ try {
+ int _type = T__80;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:78:7: ( ']' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:78:9: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__80"
+
+ // $ANTLR start "T__81"
+ public final void mT__81() throws RecognitionException {
+ try {
+ int _type = T__81;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:79:7: ( '#' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:79:9: '#'
+ {
+ match('#');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__81"
+
+ // $ANTLR start "T__82"
+ public final void mT__82() throws RecognitionException {
+ try {
+ int _type = T__82;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:80:7: ( '[' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:80:9: '['
+ {
+ match('[');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__82"
+
+ // $ANTLR start "T__83"
+ public final void mT__83() throws RecognitionException {
+ try {
+ int _type = T__83;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:81:7: ( 'instanceof' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:81:9: 'instanceof'
+ {
+ match("instanceof");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__83"
+
+ // $ANTLR start "T__84"
+ public final void mT__84() throws RecognitionException {
+ try {
+ int _type = T__84;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:82:7: ( 'as' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:82:9: 'as'
+ {
+ match("as");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__84"
+
+ // $ANTLR start "T__85"
+ public final void mT__85() throws RecognitionException {
+ try {
+ int _type = T__85;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:83:7: ( ';' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:83:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__85"
+
+ // $ANTLR start "T__86"
+ public final void mT__86() throws RecognitionException {
+ try {
+ int _type = T__86;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:84:7: ( 'if' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:84:9: 'if'
+ {
+ match("if");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__86"
+
+ // $ANTLR start "T__87"
+ public final void mT__87() throws RecognitionException {
+ try {
+ int _type = T__87;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:85:7: ( 'else' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:85:9: 'else'
+ {
+ match("else");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__87"
+
+ // $ANTLR start "T__88"
+ public final void mT__88() throws RecognitionException {
+ try {
+ int _type = T__88;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:86:7: ( 'switch' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:86:9: 'switch'
+ {
+ match("switch");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__88"
+
+ // $ANTLR start "T__89"
+ public final void mT__89() throws RecognitionException {
+ try {
+ int _type = T__89;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:87:7: ( ':' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:87:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__89"
+
+ // $ANTLR start "T__90"
+ public final void mT__90() throws RecognitionException {
+ try {
+ int _type = T__90;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:88:7: ( 'case' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:88:9: 'case'
+ {
+ match("case");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__90"
+
+ // $ANTLR start "T__91"
+ public final void mT__91() throws RecognitionException {
+ try {
+ int _type = T__91;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:89:7: ( 'for' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:89:9: 'for'
+ {
+ match("for");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__91"
+
+ // $ANTLR start "T__92"
+ public final void mT__92() throws RecognitionException {
+ try {
+ int _type = T__92;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:90:7: ( 'while' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:90:9: 'while'
+ {
+ match("while");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__92"
+
+ // $ANTLR start "T__93"
+ public final void mT__93() throws RecognitionException {
+ try {
+ int _type = T__93;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:91:7: ( 'do' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:91:9: 'do'
+ {
+ match("do");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__93"
+
+ // $ANTLR start "T__94"
+ public final void mT__94() throws RecognitionException {
+ try {
+ int _type = T__94;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:92:7: ( 'new' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:92:9: 'new'
+ {
+ match("new");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__94"
+
+ // $ANTLR start "T__95"
+ public final void mT__95() throws RecognitionException {
+ try {
+ int _type = T__95;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:93:7: ( 'null' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:93:9: 'null'
+ {
+ match("null");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__95"
+
+ // $ANTLR start "T__96"
+ public final void mT__96() throws RecognitionException {
+ try {
+ int _type = T__96;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:94:7: ( 'typeof' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:94:9: 'typeof'
+ {
+ match("typeof");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__96"
+
+ // $ANTLR start "T__97"
+ public final void mT__97() throws RecognitionException {
+ try {
+ int _type = T__97;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:95:7: ( 'throw' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:95:9: 'throw'
+ {
+ match("throw");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__97"
+
+ // $ANTLR start "T__98"
+ public final void mT__98() throws RecognitionException {
+ try {
+ int _type = T__98;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:96:7: ( 'return' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:96:9: 'return'
+ {
+ match("return");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__98"
+
+ // $ANTLR start "T__99"
+ public final void mT__99() throws RecognitionException {
+ try {
+ int _type = T__99;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:97:7: ( 'try' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:97:9: 'try'
+ {
+ match("try");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__99"
+
+ // $ANTLR start "T__100"
+ public final void mT__100() throws RecognitionException {
+ try {
+ int _type = T__100;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:98:8: ( 'finally' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:98:10: 'finally'
+ {
+ match("finally");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__100"
+
+ // $ANTLR start "T__101"
+ public final void mT__101() throws RecognitionException {
+ try {
+ int _type = T__101;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:99:8: ( 'synchronized' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:99:10: 'synchronized'
+ {
+ match("synchronized");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__101"
+
+ // $ANTLR start "T__102"
+ public final void mT__102() throws RecognitionException {
+ try {
+ int _type = T__102;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:100:8: ( 'catch' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:100:10: 'catch'
+ {
+ match("catch");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__102"
+
+ // $ANTLR start "T__103"
+ public final void mT__103() throws RecognitionException {
+ try {
+ int _type = T__103;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:101:8: ( '?' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:101:10: '?'
+ {
+ match('?');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__103"
+
+ // $ANTLR start "T__104"
+ public final void mT__104() throws RecognitionException {
+ try {
+ int _type = T__104;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:102:8: ( '&' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:102:10: '&'
+ {
+ match('&');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__104"
+
+ // $ANTLR start "T__105"
+ public final void mT__105() throws RecognitionException {
+ try {
+ int _type = T__105;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:103:8: ( '::' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:103:10: '::'
+ {
+ match("::");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__105"
+
+ // $ANTLR start "T__106"
+ public final void mT__106() throws RecognitionException {
+ try {
+ int _type = T__106;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:104:8: ( '?.' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:104:10: '?.'
+ {
+ match("?.");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__106"
+
+ // $ANTLR start "T__107"
+ public final void mT__107() throws RecognitionException {
+ try {
+ int _type = T__107;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:105:8: ( '|' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:105:10: '|'
+ {
+ match('|');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__107"
+
+ // $ANTLR start "T__108"
+ public final void mT__108() throws RecognitionException {
+ try {
+ int _type = T__108;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:106:8: ( 'var' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:106:10: 'var'
+ {
+ match("var");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__108"
+
+ // $ANTLR start "T__109"
+ public final void mT__109() throws RecognitionException {
+ try {
+ int _type = T__109;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:107:8: ( 'true' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:107:10: 'true'
+ {
+ match("true");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__109"
+
+ // $ANTLR start "RULE_HEX"
+ public final void mRULE_HEX() throws RecognitionException {
+ try {
+ int _type = RULE_HEX;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:12: ( '0x' | '0X' )
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='0') ) {
+ int LA1_1 = input.LA(2);
+
+ if ( (LA1_1=='x') ) {
+ alt1=1;
+ }
+ else if ( (LA1_1=='X') ) {
+ alt1=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 0, input);
+
+ throw nvae;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:13: '0x'
+ {
+ match("0x");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:18: '0X'
+ {
+ match("0X");
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
+ int cnt2=0;
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='f')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt2 >= 1 ) break loop2;
+ EarlyExitException eee =
+ new EarlyExitException(2, input);
+ throw eee;
+ }
+ cnt2++;
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='#') ) {
+ alt4=1;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+ {
+ match('#');
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='B'||LA3_0=='b') ) {
+ alt3=1;
+ }
+ else if ( (LA3_0=='L'||LA3_0=='l') ) {
+ alt3=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:64: ( 'b' | 'B' ) ( 'i' | 'I' )
+ {
+ if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ if ( input.LA(1)=='I'||input.LA(1)=='i' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23814:84: ( 'l' | 'L' )
+ {
+ if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_HEX"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23816:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23816:12: '0' .. '9' ( '0' .. '9' | '_' )*
+ {
+ matchRange('0','9');
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23816:21: ( '0' .. '9' | '_' )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( ((LA5_0>='0' && LA5_0<='9')||LA5_0=='_') ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_DECIMAL"
+ public final void mRULE_DECIMAL() throws RecognitionException {
+ try {
+ int _type = RULE_DECIMAL;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23818:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23818:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+ {
+ mRULE_INT();
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23818:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='E'||LA7_0=='e') ) {
+ alt7=1;
+ }
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23818:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
+ {
+ if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23818:36: ( '+' | '-' )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='+'||LA6_0=='-') ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ }
+
+ mRULE_INT();
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23818:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+ int alt8=3;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='B'||LA8_0=='b') ) {
+ alt8=1;
+ }
+ else if ( (LA8_0=='D'||LA8_0=='F'||LA8_0=='L'||LA8_0=='d'||LA8_0=='f'||LA8_0=='l') ) {
+ alt8=2;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23818:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
+ {
+ if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23818:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
+ {
+ if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_DECIMAL"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23820:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23820:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23820:11: ( '^' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='^') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23820:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23820:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='$'||(LA10_0>='0' && LA10_0<='9')||(LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='a' && LA10_0<='z')) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop10;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0=='\"') ) {
+ alt15=1;
+ }
+ else if ( (LA15_0=='\'') ) {
+ alt15=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 0, input);
+
+ throw nvae;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
+ {
+ match('\"');
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop11:
+ do {
+ int alt11=3;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='\\') ) {
+ alt11=1;
+ }
+ else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
+ alt11=2;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:21: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:28: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop11;
+ }
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:44: ( '\"' )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0=='\"') ) {
+ alt12=1;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:44: '\"'
+ {
+ match('\"');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop13:
+ do {
+ int alt13=3;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0=='\\') ) {
+ alt13=1;
+ }
+ else if ( ((LA13_0>='\u0000' && LA13_0<='&')||(LA13_0>='(' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) {
+ alt13=2;
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:55: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:62: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop13;
+ }
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:79: ( '\\'' )?
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0=='\'') ) {
+ alt14=1;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23822:79: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23824:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23824:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23824:24: ( options {greedy=false; } : . )*
+ loop16:
+ do {
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0=='*') ) {
+ int LA16_1 = input.LA(2);
+
+ if ( (LA16_1=='/') ) {
+ alt16=2;
+ }
+ else if ( ((LA16_1>='\u0000' && LA16_1<='.')||(LA16_1>='0' && LA16_1<='\uFFFF')) ) {
+ alt16=1;
+ }
+
+
+ }
+ else if ( ((LA16_0>='\u0000' && LA16_0<=')')||(LA16_0>='+' && LA16_0<='\uFFFF')) ) {
+ alt16=1;
+ }
+
+
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23824:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop16;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23826:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23826:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23826:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop17:
+ do {
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFF')) ) {
+ alt17=1;
+ }
+
+
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23826:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop17;
+ }
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23826:40: ( ( '\\r' )? '\\n' )?
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0=='\n'||LA19_0=='\r') ) {
+ alt19=1;
+ }
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23826:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23826:41: ( '\\r' )?
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( (LA18_0=='\r') ) {
+ alt18=1;
+ }
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23826:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23828:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23828:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23828:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt20=0;
+ loop20:
+ do {
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( ((LA20_0>='\t' && LA20_0<='\n')||LA20_0=='\r'||LA20_0==' ') ) {
+ alt20=1;
+ }
+
+
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt20 >= 1 ) break loop20;
+ EarlyExitException eee =
+ new EarlyExitException(20, input);
+ throw eee;
+ }
+ cnt20++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23830:16: ( . )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:23830:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt21=106;
+ alt21 = dfa21.predict(input);
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:10: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:16: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:22: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:28: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:34: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:40: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:46: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:52: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:58: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:64: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:70: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:76: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:82: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:88: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:94: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:100: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:106: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:112: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:118: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:124: T__32
+ {
+ mT__32();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:130: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:136: T__34
+ {
+ mT__34();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:142: T__35
+ {
+ mT__35();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:148: T__36
+ {
+ mT__36();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:154: T__37
+ {
+ mT__37();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:160: T__38
+ {
+ mT__38();
+
+ }
+ break;
+ case 27 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:166: T__39
+ {
+ mT__39();
+
+ }
+ break;
+ case 28 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:172: T__40
+ {
+ mT__40();
+
+ }
+ break;
+ case 29 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:178: T__41
+ {
+ mT__41();
+
+ }
+ break;
+ case 30 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:184: T__42
+ {
+ mT__42();
+
+ }
+ break;
+ case 31 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:190: T__43
+ {
+ mT__43();
+
+ }
+ break;
+ case 32 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:196: T__44
+ {
+ mT__44();
+
+ }
+ break;
+ case 33 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:202: T__45
+ {
+ mT__45();
+
+ }
+ break;
+ case 34 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:208: T__46
+ {
+ mT__46();
+
+ }
+ break;
+ case 35 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:214: T__47
+ {
+ mT__47();
+
+ }
+ break;
+ case 36 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:220: T__48
+ {
+ mT__48();
+
+ }
+ break;
+ case 37 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:226: T__49
+ {
+ mT__49();
+
+ }
+ break;
+ case 38 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:232: T__50
+ {
+ mT__50();
+
+ }
+ break;
+ case 39 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:238: T__51
+ {
+ mT__51();
+
+ }
+ break;
+ case 40 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:244: T__52
+ {
+ mT__52();
+
+ }
+ break;
+ case 41 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:250: T__53
+ {
+ mT__53();
+
+ }
+ break;
+ case 42 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:256: T__54
+ {
+ mT__54();
+
+ }
+ break;
+ case 43 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:262: T__55
+ {
+ mT__55();
+
+ }
+ break;
+ case 44 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:268: T__56
+ {
+ mT__56();
+
+ }
+ break;
+ case 45 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:274: T__57
+ {
+ mT__57();
+
+ }
+ break;
+ case 46 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:280: T__58
+ {
+ mT__58();
+
+ }
+ break;
+ case 47 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:286: T__59
+ {
+ mT__59();
+
+ }
+ break;
+ case 48 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:292: T__60
+ {
+ mT__60();
+
+ }
+ break;
+ case 49 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:298: T__61
+ {
+ mT__61();
+
+ }
+ break;
+ case 50 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:304: T__62
+ {
+ mT__62();
+
+ }
+ break;
+ case 51 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:310: T__63
+ {
+ mT__63();
+
+ }
+ break;
+ case 52 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:316: T__64
+ {
+ mT__64();
+
+ }
+ break;
+ case 53 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:322: T__65
+ {
+ mT__65();
+
+ }
+ break;
+ case 54 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:328: T__66
+ {
+ mT__66();
+
+ }
+ break;
+ case 55 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:334: T__67
+ {
+ mT__67();
+
+ }
+ break;
+ case 56 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:340: T__68
+ {
+ mT__68();
+
+ }
+ break;
+ case 57 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:346: T__69
+ {
+ mT__69();
+
+ }
+ break;
+ case 58 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:352: T__70
+ {
+ mT__70();
+
+ }
+ break;
+ case 59 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:358: T__71
+ {
+ mT__71();
+
+ }
+ break;
+ case 60 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:364: T__72
+ {
+ mT__72();
+
+ }
+ break;
+ case 61 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:370: T__73
+ {
+ mT__73();
+
+ }
+ break;
+ case 62 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:376: T__74
+ {
+ mT__74();
+
+ }
+ break;
+ case 63 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:382: T__75
+ {
+ mT__75();
+
+ }
+ break;
+ case 64 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:388: T__76
+ {
+ mT__76();
+
+ }
+ break;
+ case 65 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:394: T__77
+ {
+ mT__77();
+
+ }
+ break;
+ case 66 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:400: T__78
+ {
+ mT__78();
+
+ }
+ break;
+ case 67 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:406: T__79
+ {
+ mT__79();
+
+ }
+ break;
+ case 68 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:412: T__80
+ {
+ mT__80();
+
+ }
+ break;
+ case 69 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:418: T__81
+ {
+ mT__81();
+
+ }
+ break;
+ case 70 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:424: T__82
+ {
+ mT__82();
+
+ }
+ break;
+ case 71 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:430: T__83
+ {
+ mT__83();
+
+ }
+ break;
+ case 72 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:436: T__84
+ {
+ mT__84();
+
+ }
+ break;
+ case 73 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:442: T__85
+ {
+ mT__85();
+
+ }
+ break;
+ case 74 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:448: T__86
+ {
+ mT__86();
+
+ }
+ break;
+ case 75 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:454: T__87
+ {
+ mT__87();
+
+ }
+ break;
+ case 76 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:460: T__88
+ {
+ mT__88();
+
+ }
+ break;
+ case 77 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:466: T__89
+ {
+ mT__89();
+
+ }
+ break;
+ case 78 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:472: T__90
+ {
+ mT__90();
+
+ }
+ break;
+ case 79 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:478: T__91
+ {
+ mT__91();
+
+ }
+ break;
+ case 80 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:484: T__92
+ {
+ mT__92();
+
+ }
+ break;
+ case 81 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:490: T__93
+ {
+ mT__93();
+
+ }
+ break;
+ case 82 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:496: T__94
+ {
+ mT__94();
+
+ }
+ break;
+ case 83 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:502: T__95
+ {
+ mT__95();
+
+ }
+ break;
+ case 84 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:508: T__96
+ {
+ mT__96();
+
+ }
+ break;
+ case 85 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:514: T__97
+ {
+ mT__97();
+
+ }
+ break;
+ case 86 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:520: T__98
+ {
+ mT__98();
+
+ }
+ break;
+ case 87 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:526: T__99
+ {
+ mT__99();
+
+ }
+ break;
+ case 88 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:532: T__100
+ {
+ mT__100();
+
+ }
+ break;
+ case 89 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:539: T__101
+ {
+ mT__101();
+
+ }
+ break;
+ case 90 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:546: T__102
+ {
+ mT__102();
+
+ }
+ break;
+ case 91 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:553: T__103
+ {
+ mT__103();
+
+ }
+ break;
+ case 92 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:560: T__104
+ {
+ mT__104();
+
+ }
+ break;
+ case 93 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:567: T__105
+ {
+ mT__105();
+
+ }
+ break;
+ case 94 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:574: T__106
+ {
+ mT__106();
+
+ }
+ break;
+ case 95 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:581: T__107
+ {
+ mT__107();
+
+ }
+ break;
+ case 96 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:588: T__108
+ {
+ mT__108();
+
+ }
+ break;
+ case 97 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:595: T__109
+ {
+ mT__109();
+
+ }
+ break;
+ case 98 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:602: RULE_HEX
+ {
+ mRULE_HEX();
+
+ }
+ break;
+ case 99 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:611: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 100 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:620: RULE_DECIMAL
+ {
+ mRULE_DECIMAL();
+
+ }
+ break;
+ case 101 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:633: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 102 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:641: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 103 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:653: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 104 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:669: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 105 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:685: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 106 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1:693: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA21 dfa21 = new DFA21(this);
+ static final String DFA21_eotS =
+ "\1\uffff\1\71\1\73\1\75\1\100\1\104\1\107\1\113\1\115\1\117\1\121"+
+ "\1\123\1\125\1\130\14\132\2\uffff\5\132\7\uffff\1\132\1\uffff\1"+
+ "\u0084\4\132\2\u008c\1\66\5\uffff\1\u0091\26\uffff\1\u0093\5\uffff"+
+ "\1\u0095\4\uffff\1\132\1\uffff\11\132\1\u00a2\12\132\2\uffff\10"+
+ "\132\1\u00b7\7\uffff\1\u00b8\3\uffff\5\132\1\uffff\1\u008c\12\uffff"+
+ "\1\u00bf\1\u00c0\12\132\1\uffff\2\132\1\u00cd\5\132\1\u00d4\5\132"+
+ "\1\u00da\5\132\2\uffff\3\132\1\u00e4\2\132\2\uffff\2\132\1\u00e9"+
+ "\11\132\1\uffff\3\132\1\u00f6\2\132\1\uffff\5\132\1\uffff\1\u00ff"+
+ "\5\132\1\u0105\2\132\1\uffff\1\u0108\3\132\1\uffff\2\132\1\u010f"+
+ "\4\132\1\u0114\4\132\1\uffff\1\u011a\1\u011b\5\132\1\u0121\1\uffff"+
+ "\5\132\1\uffff\1\u0127\1\u0128\1\uffff\4\132\1\u012d\1\132\1\uffff"+
+ "\1\u012f\1\132\1\u0131\1\132\1\uffff\1\132\1\uffff\3\132\2\uffff"+
+ "\4\132\1\u013b\1\uffff\5\132\2\uffff\1\u0142\1\u0143\2\132\1\uffff"+
+ "\1\132\1\uffff\1\132\1\uffff\2\132\1\u014a\2\132\1\u014d\1\132\1"+
+ "\u014f\1\u0150\1\uffff\1\132\1\uffff\3\132\1\u0157\2\uffff\2\132"+
+ "\1\u015a\3\132\1\uffff\1\132\1\u0160\1\uffff\1\u0161\2\uffff\2\132"+
+ "\1\uffff\3\132\1\uffff\1\u0167\1\132\1\uffff\5\132\2\uffff\5\132"+
+ "\1\uffff\2\132\1\u0175\2\132\1\u0178\7\132\1\uffff\2\132\1\uffff"+
+ "\6\132\1\u0188\4\132\1\u018d\3\132\1\uffff\4\132\1\uffff\21\132"+
+ "\1\u01a6\1\u01a7\3\132\4\uffff\1\u01ab\1\132\2\uffff\1\132\1\u01ae"+
+ "\1\uffff";
+ static final String DFA21_eofS =
+ "\u01af\uffff";
+ static final String DFA21_minS =
+ "\1\0\1\75\1\174\1\46\1\53\1\55\2\52\3\75\1\76\2\56\1\141\1\143"+
+ "\1\164\1\146\1\141\1\157\1\145\1\162\1\157\1\163\2\141\2\uffff\2"+
+ "\141\1\145\1\157\1\145\7\uffff\1\163\1\uffff\1\72\1\141\1\150\2"+
+ "\145\2\60\1\44\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74\4\uffff\1"+
+ "\154\1\uffff\1\164\1\166\1\163\1\141\1\160\1\151\1\156\1\160\1\163"+
+ "\1\44\1\154\1\143\1\156\2\162\1\151\1\162\1\163\2\143\2\uffff\1"+
+ "\162\1\160\1\162\1\165\2\171\1\144\1\146\1\44\7\uffff\1\44\3\uffff"+
+ "\1\163\1\151\1\167\1\154\1\164\1\uffff\1\60\12\uffff\2\44\1\145"+
+ "\1\151\1\145\1\164\1\141\1\145\1\164\1\143\1\157\1\164\1\uffff\1"+
+ "\163\1\165\1\44\1\141\1\151\1\164\1\144\1\155\1\44\2\153\1\147\1"+
+ "\145\1\157\1\44\1\145\1\157\1\103\1\151\1\141\2\uffff\1\145\1\143"+
+ "\1\154\1\44\1\154\1\165\2\uffff\1\156\1\145\1\44\1\151\1\164\1\162"+
+ "\1\143\1\150\1\162\1\141\1\145\1\163\1\uffff\1\154\1\172\1\151\1"+
+ "\44\1\62\1\141\1\uffff\1\167\1\141\1\145\1\157\1\167\1\uffff\1\44"+
+ "\1\165\1\164\1\157\1\146\1\165\1\44\1\150\1\145\1\uffff\1\44\1\162"+
+ "\1\144\1\167\1\uffff\1\143\1\145\1\44\1\150\1\162\1\164\1\156\1"+
+ "\44\1\75\1\154\1\157\1\143\1\uffff\2\44\1\162\1\141\1\147\1\164"+
+ "\1\146\1\44\1\uffff\1\164\1\162\1\144\1\151\1\154\1\uffff\2\44\1"+
+ "\uffff\1\156\1\163\1\151\1\106\1\44\1\147\1\uffff\1\44\1\157\1\44"+
+ "\1\143\1\uffff\1\156\1\uffff\1\171\1\156\1\141\2\uffff\1\144\1\162"+
+ "\1\145\1\163\1\44\1\uffff\1\75\1\157\2\145\1\164\2\uffff\2\44\2"+
+ "\157\1\uffff\1\171\1\uffff\1\156\1\uffff\1\145\1\147\1\44\1\164"+
+ "\1\154\1\44\1\144\2\44\1\uffff\1\156\1\uffff\1\153\1\75\1\162\1"+
+ "\44\2\uffff\1\156\1\143\1\44\1\151\1\157\1\105\1\uffff\1\141\1\44"+
+ "\1\uffff\1\44\2\uffff\1\147\1\145\1\uffff\1\113\1\141\1\157\1\uffff"+
+ "\1\44\1\165\1\uffff\1\172\1\146\1\164\1\156\1\154\2\uffff\1\123"+
+ "\1\104\1\145\1\171\1\143\1\uffff\1\163\1\145\1\44\1\162\1\150\1"+
+ "\44\1\164\1\145\1\171\1\157\1\165\1\151\1\144\1\uffff\2\141\1\uffff"+
+ "\1\162\1\146\1\163\1\165\1\163\1\156\1\44\1\164\1\156\1\141\1\151"+
+ "\1\44\1\164\1\151\1\147\1\uffff\1\145\1\143\1\164\1\156\1\uffff"+
+ "\1\151\1\156\1\111\1\147\2\145\1\151\1\156\1\147\1\144\1\171\1\162"+
+ "\1\147\1\164\1\147\2\75\2\44\1\171\1\151\1\75\4\uffff\1\44\1\157"+
+ "\2\uffff\1\156\1\44\1\uffff";
+ static final String DFA21_maxS =
+ "\1\uffff\1\76\1\174\1\46\1\75\1\76\5\75\1\76\1\56\1\72\1\141\1"+
+ "\170\1\171\1\156\2\157\1\145\1\162\1\157\1\163\2\141\2\uffff\1\171"+
+ "\1\141\1\145\2\157\7\uffff\1\163\1\uffff\1\72\1\141\1\150\1\165"+
+ "\1\145\1\170\1\154\1\172\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74"+
+ "\4\uffff\1\162\1\uffff\1\164\1\166\1\163\1\162\1\160\1\151\1\156"+
+ "\1\160\1\163\1\172\1\154\1\162\1\156\2\162\1\151\1\162\1\163\2\143"+
+ "\2\uffff\1\162\1\160\1\162\3\171\1\144\1\146\1\172\7\uffff\1\172"+
+ "\3\uffff\1\164\1\151\1\167\1\154\1\164\1\uffff\1\154\12\uffff\2"+
+ "\172\1\145\1\151\1\145\1\164\1\141\1\145\1\164\1\143\1\157\1\164"+
+ "\1\uffff\1\163\1\165\1\172\1\141\1\151\1\164\1\144\1\167\1\172\2"+
+ "\153\1\147\1\145\1\157\1\172\1\145\1\157\1\123\1\151\1\141\2\uffff"+
+ "\1\145\1\143\1\154\1\172\1\154\1\165\2\uffff\1\156\1\145\1\172\1"+
+ "\151\1\164\1\162\1\143\1\150\1\162\1\141\1\145\1\163\1\uffff\1\154"+
+ "\1\172\1\151\1\172\1\63\1\141\1\uffff\1\167\1\141\1\145\1\157\1"+
+ "\167\1\uffff\1\172\1\165\1\164\1\157\1\146\1\165\1\172\1\150\1\145"+
+ "\1\uffff\1\172\1\162\1\163\1\167\1\uffff\1\143\1\145\1\172\1\150"+
+ "\1\162\1\164\1\156\1\172\1\151\1\154\1\157\1\143\1\uffff\2\172\1"+
+ "\162\1\141\1\147\1\164\1\146\1\172\1\uffff\1\164\1\162\1\144\1\151"+
+ "\1\154\1\uffff\2\172\1\uffff\1\156\1\163\1\151\1\106\1\172\1\147"+
+ "\1\uffff\1\172\1\157\1\172\1\143\1\uffff\1\156\1\uffff\1\171\1\156"+
+ "\1\141\2\uffff\1\144\1\162\1\145\1\163\1\172\1\uffff\1\151\1\157"+
+ "\2\145\1\164\2\uffff\2\172\2\157\1\uffff\1\171\1\uffff\1\156\1\uffff"+
+ "\1\145\1\147\1\172\1\164\1\154\1\172\1\144\2\172\1\uffff\1\156\1"+
+ "\uffff\1\153\1\75\1\162\1\172\2\uffff\1\156\1\143\1\172\1\151\1"+
+ "\157\1\123\1\uffff\1\141\1\172\1\uffff\1\172\2\uffff\1\147\1\145"+
+ "\1\uffff\1\113\1\141\1\157\1\uffff\1\172\1\165\1\uffff\1\172\1\146"+
+ "\1\164\1\156\1\154\2\uffff\1\123\1\104\1\145\1\171\1\143\1\uffff"+
+ "\1\163\1\145\1\172\1\162\1\150\1\172\1\164\1\145\1\171\1\157\1\165"+
+ "\1\151\1\144\1\uffff\2\141\1\uffff\1\162\1\146\1\163\1\165\1\163"+
+ "\1\156\1\172\1\164\1\156\1\141\1\151\1\172\1\164\1\151\1\147\1\uffff"+
+ "\1\145\1\143\1\164\1\156\1\uffff\1\151\1\156\1\111\1\147\2\145\1"+
+ "\151\1\156\1\147\1\144\1\171\1\162\1\147\1\164\1\147\2\75\2\172"+
+ "\1\171\1\151\1\75\4\uffff\1\172\1\157\2\uffff\1\156\1\172\1\uffff";
+ static final String DFA21_acceptS =
+ "\32\uffff\1\60\1\61\5\uffff\1\100\1\101\1\102\1\103\1\104\1\105"+
+ "\1\106\1\uffff\1\111\10\uffff\1\145\2\146\1\151\1\152\1\uffff\1"+
+ "\23\1\1\1\2\1\137\1\3\1\134\1\4\1\35\1\26\1\5\1\20\1\36\1\27\1\6"+
+ "\1\31\1\30\1\7\1\147\1\150\1\32\1\10\1\33\1\uffff\1\34\1\15\1\16"+
+ "\1\24\1\17\1\uffff\1\37\1\25\1\136\1\133\1\uffff\1\145\24\uffff"+
+ "\1\60\1\61\11\uffff\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1"+
+ "\uffff\1\111\1\135\1\115\5\uffff\1\142\1\uffff\1\143\1\144\1\146"+
+ "\1\151\1\13\1\11\1\14\1\12\1\21\1\22\14\uffff\1\112\24\uffff\1\121"+
+ "\1\110\6\uffff\1\40\1\140\14\uffff\1\117\6\uffff\1\54\5\uffff\1"+
+ "\127\11\uffff\1\122\4\uffff\1\113\14\uffff\1\51\10\uffff\1\141\5"+
+ "\uffff\1\116\2\uffff\1\123\6\uffff\1\45\4\uffff\1\46\1\uffff\1\70"+
+ "\3\uffff\1\52\1\53\5\uffff\1\125\5\uffff\1\132\1\120\4\uffff\1\42"+
+ "\1\uffff\1\114\1\uffff\1\43\11\uffff\1\124\1\uffff\1\65\4\uffff"+
+ "\1\126\1\41\6\uffff\1\130\2\uffff\1\55\1\uffff\1\57\1\63\2\uffff"+
+ "\1\72\3\uffff\1\75\2\uffff\1\62\5\uffff\1\50\1\56\5\uffff\1\44\15"+
+ "\uffff\1\107\2\uffff\1\47\17\uffff\1\131\4\uffff\1\73\26\uffff\1"+
+ "\77\1\67\1\66\1\74\2\uffff\1\76\1\64\2\uffff\1\71";
+ static final String DFA21_specialS =
+ "\1\0\u01ae\uffff}>";
+ static final String[] DFA21_transitionS = {
+ "\11\66\2\65\2\66\1\65\22\66\1\65\1\11\1\63\1\46\1\62\1\10\1"+
+ "\3\1\64\1\42\1\43\1\6\1\4\1\44\1\5\1\14\1\7\1\57\11\60\1\52"+
+ "\1\51\1\13\1\1\1\12\1\15\1\41\1\62\1\30\1\27\2\62\1\26\1\25"+
+ "\1\23\15\62\1\24\4\62\1\47\1\66\1\45\1\61\1\62\1\66\1\50\1\62"+
+ "\1\53\1\40\1\17\1\22\2\62\1\21\1\62\1\36\1\35\1\37\1\55\1\62"+
+ "\1\31\1\62\1\56\1\20\1\34\1\62\1\16\1\54\3\62\1\32\1\2\1\33"+
+ "\uff82\66",
+ "\1\67\1\70",
+ "\1\72",
+ "\1\74",
+ "\1\77\21\uffff\1\76",
+ "\1\103\17\uffff\1\101\1\102",
+ "\1\106\22\uffff\1\105",
+ "\1\111\4\uffff\1\112\15\uffff\1\110",
+ "\1\114",
+ "\1\116",
+ "\1\120",
+ "\1\122",
+ "\1\124",
+ "\1\127\13\uffff\1\126",
+ "\1\131",
+ "\1\134\10\uffff\1\135\13\uffff\1\133",
+ "\1\136\1\137\1\uffff\1\140\1\uffff\1\141",
+ "\1\144\6\uffff\1\142\1\143",
+ "\1\145\7\uffff\1\147\5\uffff\1\146",
+ "\1\150",
+ "\1\151",
+ "\1\152",
+ "\1\153",
+ "\1\154",
+ "\1\155",
+ "\1\156",
+ "",
+ "",
+ "\1\161\6\uffff\1\163\11\uffff\1\164\6\uffff\1\162",
+ "\1\165",
+ "\1\166",
+ "\1\167",
+ "\1\170\11\uffff\1\171",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0081",
+ "",
+ "\1\u0083",
+ "\1\u0085",
+ "\1\u0086",
+ "\1\u0087\17\uffff\1\u0088",
+ "\1\u0089",
+ "\12\u008b\10\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1\u008d"+
+ "\13\uffff\1\u008a\6\uffff\1\u008b\2\uffff\1\u008d\1\uffff\3"+
+ "\u008d\5\uffff\1\u008d\13\uffff\1\u008a",
+ "\12\u008b\10\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1\u008d"+
+ "\22\uffff\1\u008b\2\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1"+
+ "\u008d",
+ "\1\132\34\uffff\32\132\4\uffff\1\132\1\uffff\32\132",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0090",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0092",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0094",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0096\5\uffff\1\u0097",
+ "",
+ "\1\u0098",
+ "\1\u0099",
+ "\1\u009a",
+ "\1\u009b\20\uffff\1\u009c",
+ "\1\u009d",
+ "\1\u009e",
+ "\1\u009f",
+ "\1\u00a0",
+ "\1\u00a1",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u00a3",
+ "\1\u00a4\16\uffff\1\u00a5",
+ "\1\u00a6",
+ "\1\u00a7",
+ "\1\u00a8",
+ "\1\u00a9",
+ "\1\u00aa",
+ "\1\u00ab",
+ "\1\u00ac",
+ "\1\u00ad",
+ "",
+ "",
+ "\1\u00ae",
+ "\1\u00af",
+ "\1\u00b0",
+ "\1\u00b2\3\uffff\1\u00b1",
+ "\1\u00b3",
+ "\1\u00b4",
+ "\1\u00b5",
+ "\1\u00b6",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "",
+ "",
+ "",
+ "\1\u00b9\1\u00ba",
+ "\1\u00bb",
+ "\1\u00bc",
+ "\1\u00bd",
+ "\1\u00be",
+ "",
+ "\12\u008b\10\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1\u008d"+
+ "\22\uffff\1\u008b\2\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1"+
+ "\u008d",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u00c1",
+ "\1\u00c2",
+ "\1\u00c3",
+ "\1\u00c4",
+ "\1\u00c5",
+ "\1\u00c6",
+ "\1\u00c7",
+ "\1\u00c8",
+ "\1\u00c9",
+ "\1\u00ca",
+ "",
+ "\1\u00cb",
+ "\1\u00cc",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u00ce",
+ "\1\u00cf",
+ "\1\u00d0",
+ "\1\u00d1",
+ "\1\u00d2\11\uffff\1\u00d3",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u00d5",
+ "\1\u00d6",
+ "\1\u00d7",
+ "\1\u00d8",
+ "\1\u00d9",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u00db",
+ "\1\u00dc",
+ "\1\u00de\17\uffff\1\u00dd",
+ "\1\u00df",
+ "\1\u00e0",
+ "",
+ "",
+ "\1\u00e1",
+ "\1\u00e2",
+ "\1\u00e3",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u00e5",
+ "\1\u00e6",
+ "",
+ "",
+ "\1\u00e7",
+ "\1\u00e8",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u00ea",
+ "\1\u00eb",
+ "\1\u00ec",
+ "\1\u00ed",
+ "\1\u00ee",
+ "\1\u00ef",
+ "\1\u00f0",
+ "\1\u00f1",
+ "\1\u00f2",
+ "",
+ "\1\u00f3",
+ "\1\u00f4",
+ "\1\u00f5",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u00f7\1\u00f8",
+ "\1\u00f9",
+ "",
+ "\1\u00fa",
+ "\1\u00fb",
+ "\1\u00fc",
+ "\1\u00fd",
+ "\1\u00fe",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0100",
+ "\1\u0101",
+ "\1\u0102",
+ "\1\u0103",
+ "\1\u0104",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0106",
+ "\1\u0107",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0109",
+ "\1\u010a\16\uffff\1\u010b",
+ "\1\u010c",
+ "",
+ "\1\u010d",
+ "\1\u010e",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0110",
+ "\1\u0111",
+ "\1\u0112",
+ "\1\u0113",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0116\53\uffff\1\u0115",
+ "\1\u0117",
+ "\1\u0118",
+ "\1\u0119",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u011c",
+ "\1\u011d",
+ "\1\u011e",
+ "\1\u011f",
+ "\1\u0120",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "",
+ "\1\u0122",
+ "\1\u0123",
+ "\1\u0124",
+ "\1\u0125",
+ "\1\u0126",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "",
+ "\1\u0129",
+ "\1\u012a",
+ "\1\u012b",
+ "\1\u012c",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u012e",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0130",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0132",
+ "",
+ "\1\u0133",
+ "",
+ "\1\u0134",
+ "\1\u0135",
+ "\1\u0136",
+ "",
+ "",
+ "\1\u0137",
+ "\1\u0138",
+ "\1\u0139",
+ "\1\u013a",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "",
+ "\1\u013d\53\uffff\1\u013c",
+ "\1\u013e",
+ "\1\u013f",
+ "\1\u0140",
+ "\1\u0141",
+ "",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0144",
+ "\1\u0145",
+ "",
+ "\1\u0146",
+ "",
+ "\1\u0147",
+ "",
+ "\1\u0148",
+ "\1\u0149",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u014b",
+ "\1\u014c",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u014e",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "",
+ "\1\u0151",
+ "",
+ "\1\u0152",
+ "\1\u0153",
+ "\1\u0154",
+ "\1\132\13\uffff\12\132\7\uffff\5\132\1\u0156\5\132\1\u0155"+
+ "\16\132\4\uffff\1\132\1\uffff\32\132",
+ "",
+ "",
+ "\1\u0158",
+ "\1\u0159",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u015b",
+ "\1\u015c",
+ "\1\u015e\15\uffff\1\u015d",
+ "",
+ "\1\u015f",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "",
+ "",
+ "\1\u0162",
+ "\1\u0163",
+ "",
+ "\1\u0164",
+ "\1\u0165",
+ "\1\u0166",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0168",
+ "",
+ "\1\u0169",
+ "\1\u016a",
+ "\1\u016b",
+ "\1\u016c",
+ "\1\u016d",
+ "",
+ "",
+ "\1\u016e",
+ "\1\u016f",
+ "\1\u0170",
+ "\1\u0171",
+ "\1\u0172",
+ "",
+ "\1\u0173",
+ "\1\u0174",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0176",
+ "\1\u0177",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0179",
+ "\1\u017a",
+ "\1\u017b",
+ "\1\u017c",
+ "\1\u017d",
+ "\1\u017e",
+ "\1\u017f",
+ "",
+ "\1\u0180",
+ "\1\u0181",
+ "",
+ "\1\u0182",
+ "\1\u0183",
+ "\1\u0184",
+ "\1\u0185",
+ "\1\u0186",
+ "\1\u0187",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u0189",
+ "\1\u018a",
+ "\1\u018b",
+ "\1\u018c",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u018e",
+ "\1\u018f",
+ "\1\u0190",
+ "",
+ "\1\u0191",
+ "\1\u0192",
+ "\1\u0193",
+ "\1\u0194",
+ "",
+ "\1\u0195",
+ "\1\u0196",
+ "\1\u0197",
+ "\1\u0198",
+ "\1\u0199",
+ "\1\u019a",
+ "\1\u019b",
+ "\1\u019c",
+ "\1\u019d",
+ "\1\u019e",
+ "\1\u019f",
+ "\1\u01a0",
+ "\1\u01a1",
+ "\1\u01a2",
+ "\1\u01a3",
+ "\1\u01a4",
+ "\1\u01a5",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u01a8",
+ "\1\u01a9",
+ "\1\u01aa",
+ "",
+ "",
+ "",
+ "",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ "\1\u01ac",
+ "",
+ "",
+ "\1\u01ad",
+ "\1\132\13\uffff\12\132\7\uffff\32\132\4\uffff\1\132\1\uffff"+
+ "\32\132",
+ ""
+ };
+
+ static final short[] DFA21_eot = DFA.unpackEncodedString(DFA21_eotS);
+ static final short[] DFA21_eof = DFA.unpackEncodedString(DFA21_eofS);
+ static final char[] DFA21_min = DFA.unpackEncodedStringToUnsignedChars(DFA21_minS);
+ static final char[] DFA21_max = DFA.unpackEncodedStringToUnsignedChars(DFA21_maxS);
+ static final short[] DFA21_accept = DFA.unpackEncodedString(DFA21_acceptS);
+ static final short[] DFA21_special = DFA.unpackEncodedString(DFA21_specialS);
+ static final short[][] DFA21_transition;
+
+ static {
+ int numStates = DFA21_transitionS.length;
+ DFA21_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA21_transition[i] = DFA.unpackEncodedString(DFA21_transitionS[i]);
+ }
+ }
+
+ class DFA21 extends DFA {
+
+ public DFA21(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 21;
+ this.eot = DFA21_eot;
+ this.eof = DFA21_eof;
+ this.min = DFA21_min;
+ this.max = DFA21_max;
+ this.accept = DFA21_accept;
+ this.special = DFA21_special;
+ this.transition = DFA21_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ IntStream input = _input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA21_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA21_0=='=') ) {s = 1;}
+
+ else if ( (LA21_0=='|') ) {s = 2;}
+
+ else if ( (LA21_0=='&') ) {s = 3;}
+
+ else if ( (LA21_0=='+') ) {s = 4;}
+
+ else if ( (LA21_0=='-') ) {s = 5;}
+
+ else if ( (LA21_0=='*') ) {s = 6;}
+
+ else if ( (LA21_0=='/') ) {s = 7;}
+
+ else if ( (LA21_0=='%') ) {s = 8;}
+
+ else if ( (LA21_0=='!') ) {s = 9;}
+
+ else if ( (LA21_0=='>') ) {s = 10;}
+
+ else if ( (LA21_0=='<') ) {s = 11;}
+
+ else if ( (LA21_0=='.') ) {s = 12;}
+
+ else if ( (LA21_0=='?') ) {s = 13;}
+
+ else if ( (LA21_0=='v') ) {s = 14;}
+
+ else if ( (LA21_0=='e') ) {s = 15;}
+
+ else if ( (LA21_0=='s') ) {s = 16;}
+
+ else if ( (LA21_0=='i') ) {s = 17;}
+
+ else if ( (LA21_0=='f') ) {s = 18;}
+
+ else if ( (LA21_0=='H') ) {s = 19;}
+
+ else if ( (LA21_0=='V') ) {s = 20;}
+
+ else if ( (LA21_0=='G') ) {s = 21;}
+
+ else if ( (LA21_0=='F') ) {s = 22;}
+
+ else if ( (LA21_0=='C') ) {s = 23;}
+
+ else if ( (LA21_0=='B') ) {s = 24;}
+
+ else if ( (LA21_0=='p') ) {s = 25;}
+
+ else if ( (LA21_0=='{') ) {s = 26;}
+
+ else if ( (LA21_0=='}') ) {s = 27;}
+
+ else if ( (LA21_0=='t') ) {s = 28;}
+
+ else if ( (LA21_0=='l') ) {s = 29;}
+
+ else if ( (LA21_0=='k') ) {s = 30;}
+
+ else if ( (LA21_0=='m') ) {s = 31;}
+
+ else if ( (LA21_0=='d') ) {s = 32;}
+
+ else if ( (LA21_0=='@') ) {s = 33;}
+
+ else if ( (LA21_0=='(') ) {s = 34;}
+
+ else if ( (LA21_0==')') ) {s = 35;}
+
+ else if ( (LA21_0==',') ) {s = 36;}
+
+ else if ( (LA21_0==']') ) {s = 37;}
+
+ else if ( (LA21_0=='#') ) {s = 38;}
+
+ else if ( (LA21_0=='[') ) {s = 39;}
+
+ else if ( (LA21_0=='a') ) {s = 40;}
+
+ else if ( (LA21_0==';') ) {s = 41;}
+
+ else if ( (LA21_0==':') ) {s = 42;}
+
+ else if ( (LA21_0=='c') ) {s = 43;}
+
+ else if ( (LA21_0=='w') ) {s = 44;}
+
+ else if ( (LA21_0=='n') ) {s = 45;}
+
+ else if ( (LA21_0=='r') ) {s = 46;}
+
+ else if ( (LA21_0=='0') ) {s = 47;}
+
+ else if ( ((LA21_0>='1' && LA21_0<='9')) ) {s = 48;}
+
+ else if ( (LA21_0=='^') ) {s = 49;}
+
+ else if ( (LA21_0=='$'||LA21_0=='A'||(LA21_0>='D' && LA21_0<='E')||(LA21_0>='I' && LA21_0<='U')||(LA21_0>='W' && LA21_0<='Z')||LA21_0=='_'||LA21_0=='b'||(LA21_0>='g' && LA21_0<='h')||LA21_0=='j'||LA21_0=='o'||LA21_0=='q'||LA21_0=='u'||(LA21_0>='x' && LA21_0<='z')) ) {s = 50;}
+
+ else if ( (LA21_0=='\"') ) {s = 51;}
+
+ else if ( (LA21_0=='\'') ) {s = 52;}
+
+ else if ( ((LA21_0>='\t' && LA21_0<='\n')||LA21_0=='\r'||LA21_0==' ') ) {s = 53;}
+
+ else if ( ((LA21_0>='\u0000' && LA21_0<='\b')||(LA21_0>='\u000B' && LA21_0<='\f')||(LA21_0>='\u000E' && LA21_0<='\u001F')||LA21_0=='\\'||LA21_0=='`'||(LA21_0>='~' && LA21_0<='\uFFFF')) ) {s = 54;}
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 21, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSLParser.java b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSLParser.java
new file mode 100644
index 0000000..5e78627
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSLParser.java
@@ -0,0 +1,10014 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.osbp.xtext.strategy.services.StrategyDSLGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+public class InternalStrategyDSLParser extends AbstractInternalContentAssistParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'+='", "'-='", "'*='", "'/='", "'%='", "'=='", "'!='", "'==='", "'!=='", "'>='", "'>'", "'<'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'false'", "'Horizontal'", "'Vertical'", "'Grid'", "'Form2'", "'Form3'", "'Css'", "'Forward'", "'Backward'", "'package'", "'{'", "'}'", "'strategy'", "'targets'", "'layoutingStrategy'", "'layout='", "'focusingStrategy'", "'ecviewFocusingId='", "'focus='", "'keyStrokeDefinition'", "'keyCode='", "'modifierKeys'", "'focusingEnhancer'", "'default'", "'defaultLayouting='", "'defaultFocusing='", "'@'", "'('", "')'", "','", "']'", "'#'", "'['", "'instanceof'", "'as'", "';'", "'if'", "'else'", "'switch'", "':'", "'case'", "'for'", "'while'", "'do'", "'new'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'::'", "'?.'", "'|'", "'var'", "'true'"
+ };
+ public static final int RULE_HEX=5;
+ public static final int T__50=50;
+ public static final int T__59=59;
+ public static final int T__55=55;
+ public static final int T__56=56;
+ public static final int T__57=57;
+ public static final int T__58=58;
+ public static final int T__51=51;
+ public static final int T__52=52;
+ public static final int T__53=53;
+ public static final int T__54=54;
+ public static final int T__60=60;
+ public static final int T__61=61;
+ public static final int RULE_ID=4;
+ public static final int RULE_INT=6;
+ public static final int T__66=66;
+ public static final int RULE_ML_COMMENT=9;
+ public static final int T__67=67;
+ public static final int T__68=68;
+ public static final int T__69=69;
+ public static final int T__62=62;
+ public static final int T__63=63;
+ public static final int T__64=64;
+ public static final int T__65=65;
+ public static final int T__37=37;
+ public static final int T__38=38;
+ public static final int T__39=39;
+ public static final int T__33=33;
+ public static final int T__34=34;
+ public static final int T__35=35;
+ public static final int T__36=36;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
+ public static final int T__48=48;
+ public static final int T__49=49;
+ public static final int T__44=44;
+ public static final int T__45=45;
+ public static final int T__46=46;
+ public static final int T__47=47;
+ public static final int T__40=40;
+ public static final int T__41=41;
+ public static final int T__42=42;
+ public static final int T__43=43;
+ public static final int T__91=91;
+ public static final int T__100=100;
+ public static final int T__92=92;
+ public static final int T__93=93;
+ public static final int T__102=102;
+ public static final int T__94=94;
+ public static final int T__101=101;
+ public static final int T__90=90;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__99=99;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int T__95=95;
+ public static final int T__96=96;
+ public static final int T__97=97;
+ public static final int T__98=98;
+ public static final int RULE_DECIMAL=7;
+ public static final int T__26=26;
+ public static final int T__27=27;
+ public static final int T__28=28;
+ public static final int T__29=29;
+ public static final int T__22=22;
+ public static final int T__23=23;
+ public static final int T__24=24;
+ public static final int T__25=25;
+ public static final int T__20=20;
+ public static final int T__21=21;
+ public static final int T__70=70;
+ public static final int T__71=71;
+ public static final int T__72=72;
+ public static final int RULE_STRING=8;
+ public static final int RULE_SL_COMMENT=10;
+ public static final int T__77=77;
+ public static final int T__78=78;
+ public static final int T__79=79;
+ public static final int T__73=73;
+ public static final int EOF=-1;
+ public static final int T__74=74;
+ public static final int T__75=75;
+ public static final int T__76=76;
+ public static final int T__80=80;
+ public static final int T__81=81;
+ public static final int T__82=82;
+ public static final int T__83=83;
+ public static final int RULE_WS=11;
+ public static final int RULE_ANY_OTHER=12;
+ public static final int T__88=88;
+ public static final int T__108=108;
+ public static final int T__89=89;
+ public static final int T__107=107;
+ public static final int T__109=109;
+ public static final int T__84=84;
+ public static final int T__104=104;
+ public static final int T__85=85;
+ public static final int T__103=103;
+ public static final int T__86=86;
+ public static final int T__106=106;
+ public static final int T__87=87;
+ public static final int T__105=105;
+
+ // delegates
+ // delegators
+
+
+ public InternalStrategyDSLParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalStrategyDSLParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalStrategyDSLParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g"; }
+
+
+
+ private StrategyDSLGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(StrategyDSLGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+
+
+
+ // $ANTLR start "entryRuleStrategyModel"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:61:1: entryRuleStrategyModel : ruleStrategyModel EOF ;
+ public final void entryRuleStrategyModel() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:62:1: ( ruleStrategyModel EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:63:1: ruleStrategyModel EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyModelRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyModel_in_entryRuleStrategyModel67);
+ ruleStrategyModel();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyModelRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyModel74); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStrategyModel"
+
+
+ // $ANTLR start "ruleStrategyModel"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:70:1: ruleStrategyModel : ( ( rule__StrategyModel__PackagesAssignment )* ) ;
+ public final void ruleStrategyModel() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:74:2: ( ( ( rule__StrategyModel__PackagesAssignment )* ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:75:1: ( ( rule__StrategyModel__PackagesAssignment )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:75:1: ( ( rule__StrategyModel__PackagesAssignment )* )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:76:1: ( rule__StrategyModel__PackagesAssignment )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyModelAccess().getPackagesAssignment());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:77:1: ( rule__StrategyModel__PackagesAssignment )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==59) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:77:2: rule__StrategyModel__PackagesAssignment
+ {
+ pushFollow(FOLLOW_rule__StrategyModel__PackagesAssignment_in_ruleStrategyModel100);
+ rule__StrategyModel__PackagesAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyModelAccess().getPackagesAssignment());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStrategyModel"
+
+
+ // $ANTLR start "entryRuleStrategyPackage"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:89:1: entryRuleStrategyPackage : ruleStrategyPackage EOF ;
+ public final void entryRuleStrategyPackage() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:90:1: ( ruleStrategyPackage EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:91:1: ruleStrategyPackage EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyPackageRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyPackage_in_entryRuleStrategyPackage128);
+ ruleStrategyPackage();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyPackageRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyPackage135); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStrategyPackage"
+
+
+ // $ANTLR start "ruleStrategyPackage"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:98:1: ruleStrategyPackage : ( ( rule__StrategyPackage__Group__0 ) ) ;
+ public final void ruleStrategyPackage() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:102:2: ( ( ( rule__StrategyPackage__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:103:1: ( ( rule__StrategyPackage__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:103:1: ( ( rule__StrategyPackage__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:104:1: ( rule__StrategyPackage__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyPackageAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:105:1: ( rule__StrategyPackage__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:105:2: rule__StrategyPackage__Group__0
+ {
+ pushFollow(FOLLOW_rule__StrategyPackage__Group__0_in_ruleStrategyPackage161);
+ rule__StrategyPackage__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyPackageAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStrategyPackage"
+
+
+ // $ANTLR start "entryRuleStrategyImport"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:117:1: entryRuleStrategyImport : ruleStrategyImport EOF ;
+ public final void entryRuleStrategyImport() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:118:1: ( ruleStrategyImport EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:119:1: ruleStrategyImport EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyImportRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyImport_in_entryRuleStrategyImport188);
+ ruleStrategyImport();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyImportRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyImport195); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStrategyImport"
+
+
+ // $ANTLR start "ruleStrategyImport"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:126:1: ruleStrategyImport : ( ( rule__StrategyImport__Group__0 ) ) ;
+ public final void ruleStrategyImport() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:130:2: ( ( ( rule__StrategyImport__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:131:1: ( ( rule__StrategyImport__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:131:1: ( ( rule__StrategyImport__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:132:1: ( rule__StrategyImport__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyImportAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:133:1: ( rule__StrategyImport__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:133:2: rule__StrategyImport__Group__0
+ {
+ pushFollow(FOLLOW_rule__StrategyImport__Group__0_in_ruleStrategyImport221);
+ rule__StrategyImport__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyImportAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStrategyImport"
+
+
+ // $ANTLR start "entryRuleStrategyQualifiedNameWithWildCard"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:145:1: entryRuleStrategyQualifiedNameWithWildCard : ruleStrategyQualifiedNameWithWildCard EOF ;
+ public final void entryRuleStrategyQualifiedNameWithWildCard() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:146:1: ( ruleStrategyQualifiedNameWithWildCard EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:147:1: ruleStrategyQualifiedNameWithWildCard EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyQualifiedNameWithWildCardRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyQualifiedNameWithWildCard_in_entryRuleStrategyQualifiedNameWithWildCard248);
+ ruleStrategyQualifiedNameWithWildCard();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyQualifiedNameWithWildCardRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyQualifiedNameWithWildCard255); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStrategyQualifiedNameWithWildCard"
+
+
+ // $ANTLR start "ruleStrategyQualifiedNameWithWildCard"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:154:1: ruleStrategyQualifiedNameWithWildCard : ( ( rule__StrategyQualifiedNameWithWildCard__Group__0 ) ) ;
+ public final void ruleStrategyQualifiedNameWithWildCard() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:158:2: ( ( ( rule__StrategyQualifiedNameWithWildCard__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:159:1: ( ( rule__StrategyQualifiedNameWithWildCard__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:159:1: ( ( rule__StrategyQualifiedNameWithWildCard__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:160:1: ( rule__StrategyQualifiedNameWithWildCard__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:161:1: ( rule__StrategyQualifiedNameWithWildCard__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:161:2: rule__StrategyQualifiedNameWithWildCard__Group__0
+ {
+ pushFollow(FOLLOW_rule__StrategyQualifiedNameWithWildCard__Group__0_in_ruleStrategyQualifiedNameWithWildCard281);
+ rule__StrategyQualifiedNameWithWildCard__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStrategyQualifiedNameWithWildCard"
+
+
+ // $ANTLR start "entryRuleStrategy"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:173:1: entryRuleStrategy : ruleStrategy EOF ;
+ public final void entryRuleStrategy() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:174:1: ( ruleStrategy EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:175:1: ruleStrategy EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyRule());
+ }
+ pushFollow(FOLLOW_ruleStrategy_in_entryRuleStrategy308);
+ ruleStrategy();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategy315); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStrategy"
+
+
+ // $ANTLR start "ruleStrategy"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:182:1: ruleStrategy : ( ( rule__Strategy__Group__0 ) ) ;
+ public final void ruleStrategy() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:186:2: ( ( ( rule__Strategy__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:187:1: ( ( rule__Strategy__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:187:1: ( ( rule__Strategy__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:188:1: ( rule__Strategy__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:189:1: ( rule__Strategy__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:189:2: rule__Strategy__Group__0
+ {
+ pushFollow(FOLLOW_rule__Strategy__Group__0_in_ruleStrategy341);
+ rule__Strategy__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStrategy"
+
+
+ // $ANTLR start "entryRuleStrategyTarget"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:201:1: entryRuleStrategyTarget : ruleStrategyTarget EOF ;
+ public final void entryRuleStrategyTarget() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:202:1: ( ruleStrategyTarget EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:203:1: ruleStrategyTarget EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyTargetRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyTarget_in_entryRuleStrategyTarget368);
+ ruleStrategyTarget();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyTargetRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyTarget375); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStrategyTarget"
+
+
+ // $ANTLR start "ruleStrategyTarget"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:210:1: ruleStrategyTarget : ( ( rule__StrategyTarget__Group__0 ) ) ;
+ public final void ruleStrategyTarget() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:214:2: ( ( ( rule__StrategyTarget__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:215:1: ( ( rule__StrategyTarget__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:215:1: ( ( rule__StrategyTarget__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:216:1: ( rule__StrategyTarget__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyTargetAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:217:1: ( rule__StrategyTarget__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:217:2: rule__StrategyTarget__Group__0
+ {
+ pushFollow(FOLLOW_rule__StrategyTarget__Group__0_in_ruleStrategyTarget401);
+ rule__StrategyTarget__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyTargetAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStrategyTarget"
+
+
+ // $ANTLR start "entryRuleLayoutingStrategy"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:229:1: entryRuleLayoutingStrategy : ruleLayoutingStrategy EOF ;
+ public final void entryRuleLayoutingStrategy() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:230:1: ( ruleLayoutingStrategy EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:231:1: ruleLayoutingStrategy EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLayoutingStrategyRule());
+ }
+ pushFollow(FOLLOW_ruleLayoutingStrategy_in_entryRuleLayoutingStrategy428);
+ ruleLayoutingStrategy();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLayoutingStrategyRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLayoutingStrategy435); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleLayoutingStrategy"
+
+
+ // $ANTLR start "ruleLayoutingStrategy"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:238:1: ruleLayoutingStrategy : ( ( rule__LayoutingStrategy__Group__0 ) ) ;
+ public final void ruleLayoutingStrategy() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:242:2: ( ( ( rule__LayoutingStrategy__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:243:1: ( ( rule__LayoutingStrategy__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:243:1: ( ( rule__LayoutingStrategy__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:244:1: ( rule__LayoutingStrategy__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLayoutingStrategyAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:245:1: ( rule__LayoutingStrategy__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:245:2: rule__LayoutingStrategy__Group__0
+ {
+ pushFollow(FOLLOW_rule__LayoutingStrategy__Group__0_in_ruleLayoutingStrategy461);
+ rule__LayoutingStrategy__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLayoutingStrategyAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleLayoutingStrategy"
+
+
+ // $ANTLR start "entryRuleFocusingStrategy"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:257:1: entryRuleFocusingStrategy : ruleFocusingStrategy EOF ;
+ public final void entryRuleFocusingStrategy() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:258:1: ( ruleFocusingStrategy EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:259:1: ruleFocusingStrategy EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFocusingStrategyRule());
+ }
+ pushFollow(FOLLOW_ruleFocusingStrategy_in_entryRuleFocusingStrategy488);
+ ruleFocusingStrategy();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFocusingStrategyRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFocusingStrategy495); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleFocusingStrategy"
+
+
+ // $ANTLR start "ruleFocusingStrategy"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:266:1: ruleFocusingStrategy : ( ( rule__FocusingStrategy__Group__0 ) ) ;
+ public final void ruleFocusingStrategy() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:270:2: ( ( ( rule__FocusingStrategy__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:271:1: ( ( rule__FocusingStrategy__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:271:1: ( ( rule__FocusingStrategy__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:272:1: ( rule__FocusingStrategy__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFocusingStrategyAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:273:1: ( rule__FocusingStrategy__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:273:2: rule__FocusingStrategy__Group__0
+ {
+ pushFollow(FOLLOW_rule__FocusingStrategy__Group__0_in_ruleFocusingStrategy521);
+ rule__FocusingStrategy__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFocusingStrategyAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleFocusingStrategy"
+
+
+ // $ANTLR start "entryRuleFocusingEnhancer"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:285:1: entryRuleFocusingEnhancer : ruleFocusingEnhancer EOF ;
+ public final void entryRuleFocusingEnhancer() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:286:1: ( ruleFocusingEnhancer EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:287:1: ruleFocusingEnhancer EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFocusingEnhancerRule());
+ }
+ pushFollow(FOLLOW_ruleFocusingEnhancer_in_entryRuleFocusingEnhancer548);
+ ruleFocusingEnhancer();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFocusingEnhancerRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFocusingEnhancer555); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleFocusingEnhancer"
+
+
+ // $ANTLR start "ruleFocusingEnhancer"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:294:1: ruleFocusingEnhancer : ( ( rule__FocusingEnhancer__Group__0 ) ) ;
+ public final void ruleFocusingEnhancer() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:298:2: ( ( ( rule__FocusingEnhancer__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:299:1: ( ( rule__FocusingEnhancer__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:299:1: ( ( rule__FocusingEnhancer__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:300:1: ( rule__FocusingEnhancer__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFocusingEnhancerAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:301:1: ( rule__FocusingEnhancer__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:301:2: rule__FocusingEnhancer__Group__0
+ {
+ pushFollow(FOLLOW_rule__FocusingEnhancer__Group__0_in_ruleFocusingEnhancer581);
+ rule__FocusingEnhancer__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFocusingEnhancerAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleFocusingEnhancer"
+
+
+ // $ANTLR start "entryRuleStrategyDefault"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:313:1: entryRuleStrategyDefault : ruleStrategyDefault EOF ;
+ public final void entryRuleStrategyDefault() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:314:1: ( ruleStrategyDefault EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:315:1: ruleStrategyDefault EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyDefaultRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyDefault_in_entryRuleStrategyDefault608);
+ ruleStrategyDefault();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyDefaultRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyDefault615); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStrategyDefault"
+
+
+ // $ANTLR start "ruleStrategyDefault"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:322:1: ruleStrategyDefault : ( ( rule__StrategyDefault__Group__0 ) ) ;
+ public final void ruleStrategyDefault() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:326:2: ( ( ( rule__StrategyDefault__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:327:1: ( ( rule__StrategyDefault__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:327:1: ( ( rule__StrategyDefault__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:328:1: ( rule__StrategyDefault__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getStrategyDefaultAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:329:1: ( rule__StrategyDefault__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:329:2: rule__StrategyDefault__Group__0
+ {
+ pushFollow(FOLLOW_rule__StrategyDefault__Group__0_in_ruleStrategyDefault641);
+ rule__StrategyDefault__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getStrategyDefaultAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStrategyDefault"
+
+
+ // $ANTLR start "entryRuleXAnnotation"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:341:1: entryRuleXAnnotation : ruleXAnnotation EOF ;
+ public final void entryRuleXAnnotation() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:342:1: ( ruleXAnnotation EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:343:1: ruleXAnnotation EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotation_in_entryRuleXAnnotation668);
+ ruleXAnnotation();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotation675); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXAnnotation"
+
+
+ // $ANTLR start "ruleXAnnotation"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:350:1: ruleXAnnotation : ( ( rule__XAnnotation__Group__0 ) ) ;
+ public final void ruleXAnnotation() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:354:2: ( ( ( rule__XAnnotation__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:355:1: ( ( rule__XAnnotation__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:355:1: ( ( rule__XAnnotation__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:356:1: ( rule__XAnnotation__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:357:1: ( rule__XAnnotation__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:357:2: rule__XAnnotation__Group__0
+ {
+ pushFollow(FOLLOW_rule__XAnnotation__Group__0_in_ruleXAnnotation701);
+ rule__XAnnotation__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXAnnotation"
+
+
+ // $ANTLR start "entryRuleXAnnotationElementValuePair"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:369:1: entryRuleXAnnotationElementValuePair : ruleXAnnotationElementValuePair EOF ;
+ public final void entryRuleXAnnotationElementValuePair() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:370:1: ( ruleXAnnotationElementValuePair EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:371:1: ruleXAnnotationElementValuePair EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValuePairRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValuePair_in_entryRuleXAnnotationElementValuePair728);
+ ruleXAnnotationElementValuePair();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValuePairRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotationElementValuePair735); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXAnnotationElementValuePair"
+
+
+ // $ANTLR start "ruleXAnnotationElementValuePair"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:378:1: ruleXAnnotationElementValuePair : ( ( rule__XAnnotationElementValuePair__Group__0 ) ) ;
+ public final void ruleXAnnotationElementValuePair() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:382:2: ( ( ( rule__XAnnotationElementValuePair__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:383:1: ( ( rule__XAnnotationElementValuePair__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:383:1: ( ( rule__XAnnotationElementValuePair__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:384:1: ( rule__XAnnotationElementValuePair__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:385:1: ( rule__XAnnotationElementValuePair__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:385:2: rule__XAnnotationElementValuePair__Group__0
+ {
+ pushFollow(FOLLOW_rule__XAnnotationElementValuePair__Group__0_in_ruleXAnnotationElementValuePair761);
+ rule__XAnnotationElementValuePair__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValuePairAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXAnnotationElementValuePair"
+
+
+ // $ANTLR start "entryRuleXAnnotationElementValueOrCommaList"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:397:1: entryRuleXAnnotationElementValueOrCommaList : ruleXAnnotationElementValueOrCommaList EOF ;
+ public final void entryRuleXAnnotationElementValueOrCommaList() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:398:1: ( ruleXAnnotationElementValueOrCommaList EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:399:1: ruleXAnnotationElementValueOrCommaList EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValueOrCommaList_in_entryRuleXAnnotationElementValueOrCommaList788);
+ ruleXAnnotationElementValueOrCommaList();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotationElementValueOrCommaList795); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXAnnotationElementValueOrCommaList"
+
+
+ // $ANTLR start "ruleXAnnotationElementValueOrCommaList"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:406:1: ruleXAnnotationElementValueOrCommaList : ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) ) ;
+ public final void ruleXAnnotationElementValueOrCommaList() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:410:2: ( ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:411:1: ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:411:1: ( ( rule__XAnnotationElementValueOrCommaList__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:412:1: ( rule__XAnnotationElementValueOrCommaList__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:413:1: ( rule__XAnnotationElementValueOrCommaList__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:413:2: rule__XAnnotationElementValueOrCommaList__Alternatives
+ {
+ pushFollow(FOLLOW_rule__XAnnotationElementValueOrCommaList__Alternatives_in_ruleXAnnotationElementValueOrCommaList821);
+ rule__XAnnotationElementValueOrCommaList__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXAnnotationElementValueOrCommaList"
+
+
+ // $ANTLR start "entryRuleXAnnotationElementValue"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:425:1: entryRuleXAnnotationElementValue : ruleXAnnotationElementValue EOF ;
+ public final void entryRuleXAnnotationElementValue() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:426:1: ( ruleXAnnotationElementValue EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:427:1: ruleXAnnotationElementValue EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValueRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValue_in_entryRuleXAnnotationElementValue848);
+ ruleXAnnotationElementValue();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValueRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotationElementValue855); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXAnnotationElementValue"
+
+
+ // $ANTLR start "ruleXAnnotationElementValue"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:434:1: ruleXAnnotationElementValue : ( ( rule__XAnnotationElementValue__Alternatives ) ) ;
+ public final void ruleXAnnotationElementValue() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:438:2: ( ( ( rule__XAnnotationElementValue__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:439:1: ( ( rule__XAnnotationElementValue__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:439:1: ( ( rule__XAnnotationElementValue__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:440:1: ( rule__XAnnotationElementValue__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValueAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:441:1: ( rule__XAnnotationElementValue__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:441:2: rule__XAnnotationElementValue__Alternatives
+ {
+ pushFollow(FOLLOW_rule__XAnnotationElementValue__Alternatives_in_ruleXAnnotationElementValue881);
+ rule__XAnnotationElementValue__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValueAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXAnnotationElementValue"
+
+
+ // $ANTLR start "entryRuleXAnnotationOrExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:453:1: entryRuleXAnnotationOrExpression : ruleXAnnotationOrExpression EOF ;
+ public final void entryRuleXAnnotationOrExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:454:1: ( ruleXAnnotationOrExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:455:1: ruleXAnnotationOrExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationOrExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_entryRuleXAnnotationOrExpression908);
+ ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationOrExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotationOrExpression915); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXAnnotationOrExpression"
+
+
+ // $ANTLR start "ruleXAnnotationOrExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:462:1: ruleXAnnotationOrExpression : ( ( rule__XAnnotationOrExpression__Alternatives ) ) ;
+ public final void ruleXAnnotationOrExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:466:2: ( ( ( rule__XAnnotationOrExpression__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:467:1: ( ( rule__XAnnotationOrExpression__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:467:1: ( ( rule__XAnnotationOrExpression__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:468:1: ( rule__XAnnotationOrExpression__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:469:1: ( rule__XAnnotationOrExpression__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:469:2: rule__XAnnotationOrExpression__Alternatives
+ {
+ pushFollow(FOLLOW_rule__XAnnotationOrExpression__Alternatives_in_ruleXAnnotationOrExpression941);
+ rule__XAnnotationOrExpression__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXAnnotationOrExpression"
+
+
+ // $ANTLR start "entryRuleXExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:481:1: entryRuleXExpression : ruleXExpression EOF ;
+ public final void entryRuleXExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:482:1: ( ruleXExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:483:1: ruleXExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXExpression_in_entryRuleXExpression968);
+ ruleXExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXExpression975); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXExpression"
+
+
+ // $ANTLR start "ruleXExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:490:1: ruleXExpression : ( ruleXAssignment ) ;
+ public final void ruleXExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:494:2: ( ( ruleXAssignment ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:495:1: ( ruleXAssignment )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:495:1: ( ruleXAssignment )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:496:1: ruleXAssignment
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall());
+ }
+ pushFollow(FOLLOW_ruleXAssignment_in_ruleXExpression1001);
+ ruleXAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXExpression"
+
+
+ // $ANTLR start "entryRuleXAssignment"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:509:1: entryRuleXAssignment : ruleXAssignment EOF ;
+ public final void entryRuleXAssignment() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:510:1: ( ruleXAssignment EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:511:1: ruleXAssignment EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAssignmentRule());
+ }
+ pushFollow(FOLLOW_ruleXAssignment_in_entryRuleXAssignment1027);
+ ruleXAssignment();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAssignmentRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAssignment1034); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXAssignment"
+
+
+ // $ANTLR start "ruleXAssignment"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:518:1: ruleXAssignment : ( ( rule__XAssignment__Alternatives ) ) ;
+ public final void ruleXAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:522:2: ( ( ( rule__XAssignment__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:523:1: ( ( rule__XAssignment__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:523:1: ( ( rule__XAssignment__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:524:1: ( rule__XAssignment__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAssignmentAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:525:1: ( rule__XAssignment__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:525:2: rule__XAssignment__Alternatives
+ {
+ pushFollow(FOLLOW_rule__XAssignment__Alternatives_in_ruleXAssignment1060);
+ rule__XAssignment__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAssignmentAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXAssignment"
+
+
+ // $ANTLR start "entryRuleOpSingleAssign"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:537:1: entryRuleOpSingleAssign : ruleOpSingleAssign EOF ;
+ public final void entryRuleOpSingleAssign() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:538:1: ( ruleOpSingleAssign EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:539:1: ruleOpSingleAssign EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpSingleAssignRule());
+ }
+ pushFollow(FOLLOW_ruleOpSingleAssign_in_entryRuleOpSingleAssign1087);
+ ruleOpSingleAssign();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpSingleAssignRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpSingleAssign1094); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpSingleAssign"
+
+
+ // $ANTLR start "ruleOpSingleAssign"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:546:1: ruleOpSingleAssign : ( '=' ) ;
+ public final void ruleOpSingleAssign() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:550:2: ( ( '=' ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:551:1: ( '=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:551:1: ( '=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:552:1: '='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword());
+ }
+ match(input,13,FOLLOW_13_in_ruleOpSingleAssign1121); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpSingleAssign"
+
+
+ // $ANTLR start "entryRuleOpMultiAssign"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:567:1: entryRuleOpMultiAssign : ruleOpMultiAssign EOF ;
+ public final void entryRuleOpMultiAssign() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:568:1: ( ruleOpMultiAssign EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:569:1: ruleOpMultiAssign EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAssignRule());
+ }
+ pushFollow(FOLLOW_ruleOpMultiAssign_in_entryRuleOpMultiAssign1149);
+ ruleOpMultiAssign();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAssignRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpMultiAssign1156); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpMultiAssign"
+
+
+ // $ANTLR start "ruleOpMultiAssign"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:576:1: ruleOpMultiAssign : ( ( rule__OpMultiAssign__Alternatives ) ) ;
+ public final void ruleOpMultiAssign() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:580:2: ( ( ( rule__OpMultiAssign__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:581:1: ( ( rule__OpMultiAssign__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:581:1: ( ( rule__OpMultiAssign__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:582:1: ( rule__OpMultiAssign__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAssignAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:583:1: ( rule__OpMultiAssign__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:583:2: rule__OpMultiAssign__Alternatives
+ {
+ pushFollow(FOLLOW_rule__OpMultiAssign__Alternatives_in_ruleOpMultiAssign1182);
+ rule__OpMultiAssign__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAssignAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpMultiAssign"
+
+
+ // $ANTLR start "entryRuleXOrExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:595:1: entryRuleXOrExpression : ruleXOrExpression EOF ;
+ public final void entryRuleXOrExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:596:1: ( ruleXOrExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:597:1: ruleXOrExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXOrExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXOrExpression_in_entryRuleXOrExpression1209);
+ ruleXOrExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXOrExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXOrExpression1216); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXOrExpression"
+
+
+ // $ANTLR start "ruleXOrExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:604:1: ruleXOrExpression : ( ( rule__XOrExpression__Group__0 ) ) ;
+ public final void ruleXOrExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:608:2: ( ( ( rule__XOrExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:609:1: ( ( rule__XOrExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:609:1: ( ( rule__XOrExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:610:1: ( rule__XOrExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXOrExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:611:1: ( rule__XOrExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:611:2: rule__XOrExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XOrExpression__Group__0_in_ruleXOrExpression1242);
+ rule__XOrExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXOrExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXOrExpression"
+
+
+ // $ANTLR start "entryRuleOpOr"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:623:1: entryRuleOpOr : ruleOpOr EOF ;
+ public final void entryRuleOpOr() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:624:1: ( ruleOpOr EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:625:1: ruleOpOr EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOrRule());
+ }
+ pushFollow(FOLLOW_ruleOpOr_in_entryRuleOpOr1269);
+ ruleOpOr();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOrRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpOr1276); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpOr"
+
+
+ // $ANTLR start "ruleOpOr"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:632:1: ruleOpOr : ( '||' ) ;
+ public final void ruleOpOr() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:636:2: ( ( '||' ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:637:1: ( '||' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:637:1: ( '||' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:638:1: '||'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
+ }
+ match(input,14,FOLLOW_14_in_ruleOpOr1303); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpOr"
+
+
+ // $ANTLR start "entryRuleXAndExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:653:1: entryRuleXAndExpression : ruleXAndExpression EOF ;
+ public final void entryRuleXAndExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:654:1: ( ruleXAndExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:655:1: ruleXAndExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAndExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXAndExpression_in_entryRuleXAndExpression1331);
+ ruleXAndExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAndExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAndExpression1338); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXAndExpression"
+
+
+ // $ANTLR start "ruleXAndExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:662:1: ruleXAndExpression : ( ( rule__XAndExpression__Group__0 ) ) ;
+ public final void ruleXAndExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:666:2: ( ( ( rule__XAndExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:667:1: ( ( rule__XAndExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:667:1: ( ( rule__XAndExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:668:1: ( rule__XAndExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAndExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:669:1: ( rule__XAndExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:669:2: rule__XAndExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XAndExpression__Group__0_in_ruleXAndExpression1364);
+ rule__XAndExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAndExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXAndExpression"
+
+
+ // $ANTLR start "entryRuleOpAnd"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:681:1: entryRuleOpAnd : ruleOpAnd EOF ;
+ public final void entryRuleOpAnd() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:682:1: ( ruleOpAnd EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:683:1: ruleOpAnd EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpAndRule());
+ }
+ pushFollow(FOLLOW_ruleOpAnd_in_entryRuleOpAnd1391);
+ ruleOpAnd();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpAndRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpAnd1398); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpAnd"
+
+
+ // $ANTLR start "ruleOpAnd"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:690:1: ruleOpAnd : ( '&&' ) ;
+ public final void ruleOpAnd() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:694:2: ( ( '&&' ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:695:1: ( '&&' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:695:1: ( '&&' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:696:1: '&&'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
+ }
+ match(input,15,FOLLOW_15_in_ruleOpAnd1425); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpAnd"
+
+
+ // $ANTLR start "entryRuleXEqualityExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:711:1: entryRuleXEqualityExpression : ruleXEqualityExpression EOF ;
+ public final void entryRuleXEqualityExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:712:1: ( ruleXEqualityExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:713:1: ruleXEqualityExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXEqualityExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXEqualityExpression_in_entryRuleXEqualityExpression1453);
+ ruleXEqualityExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXEqualityExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXEqualityExpression1460); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXEqualityExpression"
+
+
+ // $ANTLR start "ruleXEqualityExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:720:1: ruleXEqualityExpression : ( ( rule__XEqualityExpression__Group__0 ) ) ;
+ public final void ruleXEqualityExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:724:2: ( ( ( rule__XEqualityExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:725:1: ( ( rule__XEqualityExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:725:1: ( ( rule__XEqualityExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:726:1: ( rule__XEqualityExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXEqualityExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:727:1: ( rule__XEqualityExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:727:2: rule__XEqualityExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XEqualityExpression__Group__0_in_ruleXEqualityExpression1486);
+ rule__XEqualityExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXEqualityExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXEqualityExpression"
+
+
+ // $ANTLR start "entryRuleOpEquality"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:739:1: entryRuleOpEquality : ruleOpEquality EOF ;
+ public final void entryRuleOpEquality() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:740:1: ( ruleOpEquality EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:741:1: ruleOpEquality EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpEqualityRule());
+ }
+ pushFollow(FOLLOW_ruleOpEquality_in_entryRuleOpEquality1513);
+ ruleOpEquality();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpEqualityRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpEquality1520); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpEquality"
+
+
+ // $ANTLR start "ruleOpEquality"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:748:1: ruleOpEquality : ( ( rule__OpEquality__Alternatives ) ) ;
+ public final void ruleOpEquality() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:752:2: ( ( ( rule__OpEquality__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:753:1: ( ( rule__OpEquality__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:753:1: ( ( rule__OpEquality__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:754:1: ( rule__OpEquality__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpEqualityAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:755:1: ( rule__OpEquality__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:755:2: rule__OpEquality__Alternatives
+ {
+ pushFollow(FOLLOW_rule__OpEquality__Alternatives_in_ruleOpEquality1546);
+ rule__OpEquality__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpEqualityAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpEquality"
+
+
+ // $ANTLR start "entryRuleXRelationalExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:767:1: entryRuleXRelationalExpression : ruleXRelationalExpression EOF ;
+ public final void entryRuleXRelationalExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:768:1: ( ruleXRelationalExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:769:1: ruleXRelationalExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXRelationalExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXRelationalExpression_in_entryRuleXRelationalExpression1573);
+ ruleXRelationalExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXRelationalExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXRelationalExpression1580); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXRelationalExpression"
+
+
+ // $ANTLR start "ruleXRelationalExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:776:1: ruleXRelationalExpression : ( ( rule__XRelationalExpression__Group__0 ) ) ;
+ public final void ruleXRelationalExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:780:2: ( ( ( rule__XRelationalExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:781:1: ( ( rule__XRelationalExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:781:1: ( ( rule__XRelationalExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:782:1: ( rule__XRelationalExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXRelationalExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:783:1: ( rule__XRelationalExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:783:2: rule__XRelationalExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XRelationalExpression__Group__0_in_ruleXRelationalExpression1606);
+ rule__XRelationalExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXRelationalExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXRelationalExpression"
+
+
+ // $ANTLR start "entryRuleOpCompare"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:795:1: entryRuleOpCompare : ruleOpCompare EOF ;
+ public final void entryRuleOpCompare() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:796:1: ( ruleOpCompare EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:797:1: ruleOpCompare EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpCompareRule());
+ }
+ pushFollow(FOLLOW_ruleOpCompare_in_entryRuleOpCompare1633);
+ ruleOpCompare();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpCompareRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpCompare1640); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpCompare"
+
+
+ // $ANTLR start "ruleOpCompare"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:804:1: ruleOpCompare : ( ( rule__OpCompare__Alternatives ) ) ;
+ public final void ruleOpCompare() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:808:2: ( ( ( rule__OpCompare__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:809:1: ( ( rule__OpCompare__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:809:1: ( ( rule__OpCompare__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:810:1: ( rule__OpCompare__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpCompareAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:811:1: ( rule__OpCompare__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:811:2: rule__OpCompare__Alternatives
+ {
+ pushFollow(FOLLOW_rule__OpCompare__Alternatives_in_ruleOpCompare1666);
+ rule__OpCompare__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpCompareAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpCompare"
+
+
+ // $ANTLR start "entryRuleXOtherOperatorExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:823:1: entryRuleXOtherOperatorExpression : ruleXOtherOperatorExpression EOF ;
+ public final void entryRuleXOtherOperatorExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:824:1: ( ruleXOtherOperatorExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:825:1: ruleXOtherOperatorExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXOtherOperatorExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXOtherOperatorExpression_in_entryRuleXOtherOperatorExpression1693);
+ ruleXOtherOperatorExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXOtherOperatorExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXOtherOperatorExpression1700); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXOtherOperatorExpression"
+
+
+ // $ANTLR start "ruleXOtherOperatorExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:832:1: ruleXOtherOperatorExpression : ( ( rule__XOtherOperatorExpression__Group__0 ) ) ;
+ public final void ruleXOtherOperatorExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:836:2: ( ( ( rule__XOtherOperatorExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:837:1: ( ( rule__XOtherOperatorExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:837:1: ( ( rule__XOtherOperatorExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:838:1: ( rule__XOtherOperatorExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:839:1: ( rule__XOtherOperatorExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:839:2: rule__XOtherOperatorExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XOtherOperatorExpression__Group__0_in_ruleXOtherOperatorExpression1726);
+ rule__XOtherOperatorExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXOtherOperatorExpression"
+
+
+ // $ANTLR start "entryRuleOpOther"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:851:1: entryRuleOpOther : ruleOpOther EOF ;
+ public final void entryRuleOpOther() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:852:1: ( ruleOpOther EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:853:1: ruleOpOther EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherRule());
+ }
+ pushFollow(FOLLOW_ruleOpOther_in_entryRuleOpOther1753);
+ ruleOpOther();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpOther1760); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpOther"
+
+
+ // $ANTLR start "ruleOpOther"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:860:1: ruleOpOther : ( ( rule__OpOther__Alternatives ) ) ;
+ public final void ruleOpOther() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:864:2: ( ( ( rule__OpOther__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:865:1: ( ( rule__OpOther__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:865:1: ( ( rule__OpOther__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:866:1: ( rule__OpOther__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:867:1: ( rule__OpOther__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:867:2: rule__OpOther__Alternatives
+ {
+ pushFollow(FOLLOW_rule__OpOther__Alternatives_in_ruleOpOther1786);
+ rule__OpOther__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpOther"
+
+
+ // $ANTLR start "entryRuleXAdditiveExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:879:1: entryRuleXAdditiveExpression : ruleXAdditiveExpression EOF ;
+ public final void entryRuleXAdditiveExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:880:1: ( ruleXAdditiveExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:881:1: ruleXAdditiveExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAdditiveExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXAdditiveExpression_in_entryRuleXAdditiveExpression1813);
+ ruleXAdditiveExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAdditiveExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAdditiveExpression1820); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXAdditiveExpression"
+
+
+ // $ANTLR start "ruleXAdditiveExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:888:1: ruleXAdditiveExpression : ( ( rule__XAdditiveExpression__Group__0 ) ) ;
+ public final void ruleXAdditiveExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:892:2: ( ( ( rule__XAdditiveExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:893:1: ( ( rule__XAdditiveExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:893:1: ( ( rule__XAdditiveExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:894:1: ( rule__XAdditiveExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAdditiveExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:895:1: ( rule__XAdditiveExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:895:2: rule__XAdditiveExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XAdditiveExpression__Group__0_in_ruleXAdditiveExpression1846);
+ rule__XAdditiveExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAdditiveExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXAdditiveExpression"
+
+
+ // $ANTLR start "entryRuleOpAdd"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:907:1: entryRuleOpAdd : ruleOpAdd EOF ;
+ public final void entryRuleOpAdd() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:908:1: ( ruleOpAdd EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:909:1: ruleOpAdd EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpAddRule());
+ }
+ pushFollow(FOLLOW_ruleOpAdd_in_entryRuleOpAdd1873);
+ ruleOpAdd();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpAddRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpAdd1880); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpAdd"
+
+
+ // $ANTLR start "ruleOpAdd"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:916:1: ruleOpAdd : ( ( rule__OpAdd__Alternatives ) ) ;
+ public final void ruleOpAdd() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:920:2: ( ( ( rule__OpAdd__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:921:1: ( ( rule__OpAdd__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:921:1: ( ( rule__OpAdd__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:922:1: ( rule__OpAdd__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpAddAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:923:1: ( rule__OpAdd__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:923:2: rule__OpAdd__Alternatives
+ {
+ pushFollow(FOLLOW_rule__OpAdd__Alternatives_in_ruleOpAdd1906);
+ rule__OpAdd__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpAddAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpAdd"
+
+
+ // $ANTLR start "entryRuleXMultiplicativeExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:935:1: entryRuleXMultiplicativeExpression : ruleXMultiplicativeExpression EOF ;
+ public final void entryRuleXMultiplicativeExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:936:1: ( ruleXMultiplicativeExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:937:1: ruleXMultiplicativeExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXMultiplicativeExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXMultiplicativeExpression_in_entryRuleXMultiplicativeExpression1933);
+ ruleXMultiplicativeExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXMultiplicativeExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXMultiplicativeExpression1940); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXMultiplicativeExpression"
+
+
+ // $ANTLR start "ruleXMultiplicativeExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:944:1: ruleXMultiplicativeExpression : ( ( rule__XMultiplicativeExpression__Group__0 ) ) ;
+ public final void ruleXMultiplicativeExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:948:2: ( ( ( rule__XMultiplicativeExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:949:1: ( ( rule__XMultiplicativeExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:949:1: ( ( rule__XMultiplicativeExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:950:1: ( rule__XMultiplicativeExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:951:1: ( rule__XMultiplicativeExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:951:2: rule__XMultiplicativeExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XMultiplicativeExpression__Group__0_in_ruleXMultiplicativeExpression1966);
+ rule__XMultiplicativeExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXMultiplicativeExpression"
+
+
+ // $ANTLR start "entryRuleOpMulti"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:963:1: entryRuleOpMulti : ruleOpMulti EOF ;
+ public final void entryRuleOpMulti() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:964:1: ( ruleOpMulti EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:965:1: ruleOpMulti EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiRule());
+ }
+ pushFollow(FOLLOW_ruleOpMulti_in_entryRuleOpMulti1993);
+ ruleOpMulti();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpMulti2000); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpMulti"
+
+
+ // $ANTLR start "ruleOpMulti"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:972:1: ruleOpMulti : ( ( rule__OpMulti__Alternatives ) ) ;
+ public final void ruleOpMulti() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:976:2: ( ( ( rule__OpMulti__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:977:1: ( ( rule__OpMulti__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:977:1: ( ( rule__OpMulti__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:978:1: ( rule__OpMulti__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:979:1: ( rule__OpMulti__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:979:2: rule__OpMulti__Alternatives
+ {
+ pushFollow(FOLLOW_rule__OpMulti__Alternatives_in_ruleOpMulti2026);
+ rule__OpMulti__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpMulti"
+
+
+ // $ANTLR start "entryRuleXUnaryOperation"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:991:1: entryRuleXUnaryOperation : ruleXUnaryOperation EOF ;
+ public final void entryRuleXUnaryOperation() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:992:1: ( ruleXUnaryOperation EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:993:1: ruleXUnaryOperation EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXUnaryOperationRule());
+ }
+ pushFollow(FOLLOW_ruleXUnaryOperation_in_entryRuleXUnaryOperation2053);
+ ruleXUnaryOperation();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXUnaryOperationRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXUnaryOperation2060); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXUnaryOperation"
+
+
+ // $ANTLR start "ruleXUnaryOperation"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1000:1: ruleXUnaryOperation : ( ( rule__XUnaryOperation__Alternatives ) ) ;
+ public final void ruleXUnaryOperation() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1004:2: ( ( ( rule__XUnaryOperation__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1005:1: ( ( rule__XUnaryOperation__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1005:1: ( ( rule__XUnaryOperation__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1006:1: ( rule__XUnaryOperation__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXUnaryOperationAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1007:1: ( rule__XUnaryOperation__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1007:2: rule__XUnaryOperation__Alternatives
+ {
+ pushFollow(FOLLOW_rule__XUnaryOperation__Alternatives_in_ruleXUnaryOperation2086);
+ rule__XUnaryOperation__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXUnaryOperationAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXUnaryOperation"
+
+
+ // $ANTLR start "entryRuleOpUnary"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1019:1: entryRuleOpUnary : ruleOpUnary EOF ;
+ public final void entryRuleOpUnary() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1020:1: ( ruleOpUnary EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1021:1: ruleOpUnary EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpUnaryRule());
+ }
+ pushFollow(FOLLOW_ruleOpUnary_in_entryRuleOpUnary2113);
+ ruleOpUnary();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpUnaryRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpUnary2120); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpUnary"
+
+
+ // $ANTLR start "ruleOpUnary"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1028:1: ruleOpUnary : ( ( rule__OpUnary__Alternatives ) ) ;
+ public final void ruleOpUnary() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1032:2: ( ( ( rule__OpUnary__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1033:1: ( ( rule__OpUnary__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1033:1: ( ( rule__OpUnary__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1034:1: ( rule__OpUnary__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpUnaryAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1035:1: ( rule__OpUnary__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1035:2: rule__OpUnary__Alternatives
+ {
+ pushFollow(FOLLOW_rule__OpUnary__Alternatives_in_ruleOpUnary2146);
+ rule__OpUnary__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpUnaryAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpUnary"
+
+
+ // $ANTLR start "entryRuleXCastedExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1047:1: entryRuleXCastedExpression : ruleXCastedExpression EOF ;
+ public final void entryRuleXCastedExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1048:1: ( ruleXCastedExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1049:1: ruleXCastedExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXCastedExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXCastedExpression_in_entryRuleXCastedExpression2173);
+ ruleXCastedExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXCastedExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXCastedExpression2180); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXCastedExpression"
+
+
+ // $ANTLR start "ruleXCastedExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1056:1: ruleXCastedExpression : ( ( rule__XCastedExpression__Group__0 ) ) ;
+ public final void ruleXCastedExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1060:2: ( ( ( rule__XCastedExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1061:1: ( ( rule__XCastedExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1061:1: ( ( rule__XCastedExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1062:1: ( rule__XCastedExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXCastedExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1063:1: ( rule__XCastedExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1063:2: rule__XCastedExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XCastedExpression__Group__0_in_ruleXCastedExpression2206);
+ rule__XCastedExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXCastedExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXCastedExpression"
+
+
+ // $ANTLR start "entryRuleXPostfixOperation"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1075:1: entryRuleXPostfixOperation : ruleXPostfixOperation EOF ;
+ public final void entryRuleXPostfixOperation() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1076:1: ( ruleXPostfixOperation EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1077:1: ruleXPostfixOperation EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXPostfixOperationRule());
+ }
+ pushFollow(FOLLOW_ruleXPostfixOperation_in_entryRuleXPostfixOperation2233);
+ ruleXPostfixOperation();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXPostfixOperationRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXPostfixOperation2240); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXPostfixOperation"
+
+
+ // $ANTLR start "ruleXPostfixOperation"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1084:1: ruleXPostfixOperation : ( ( rule__XPostfixOperation__Group__0 ) ) ;
+ public final void ruleXPostfixOperation() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1088:2: ( ( ( rule__XPostfixOperation__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1089:1: ( ( rule__XPostfixOperation__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1089:1: ( ( rule__XPostfixOperation__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1090:1: ( rule__XPostfixOperation__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXPostfixOperationAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1091:1: ( rule__XPostfixOperation__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1091:2: rule__XPostfixOperation__Group__0
+ {
+ pushFollow(FOLLOW_rule__XPostfixOperation__Group__0_in_ruleXPostfixOperation2266);
+ rule__XPostfixOperation__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXPostfixOperationAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXPostfixOperation"
+
+
+ // $ANTLR start "entryRuleOpPostfix"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1103:1: entryRuleOpPostfix : ruleOpPostfix EOF ;
+ public final void entryRuleOpPostfix() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1104:1: ( ruleOpPostfix EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1105:1: ruleOpPostfix EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpPostfixRule());
+ }
+ pushFollow(FOLLOW_ruleOpPostfix_in_entryRuleOpPostfix2293);
+ ruleOpPostfix();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpPostfixRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpPostfix2300); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleOpPostfix"
+
+
+ // $ANTLR start "ruleOpPostfix"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1112:1: ruleOpPostfix : ( ( rule__OpPostfix__Alternatives ) ) ;
+ public final void ruleOpPostfix() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1116:2: ( ( ( rule__OpPostfix__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1117:1: ( ( rule__OpPostfix__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1117:1: ( ( rule__OpPostfix__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1118:1: ( rule__OpPostfix__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpPostfixAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1119:1: ( rule__OpPostfix__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1119:2: rule__OpPostfix__Alternatives
+ {
+ pushFollow(FOLLOW_rule__OpPostfix__Alternatives_in_ruleOpPostfix2326);
+ rule__OpPostfix__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpPostfixAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleOpPostfix"
+
+
+ // $ANTLR start "entryRuleXMemberFeatureCall"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1131:1: entryRuleXMemberFeatureCall : ruleXMemberFeatureCall EOF ;
+ public final void entryRuleXMemberFeatureCall() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1132:1: ( ruleXMemberFeatureCall EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1133:1: ruleXMemberFeatureCall EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXMemberFeatureCallRule());
+ }
+ pushFollow(FOLLOW_ruleXMemberFeatureCall_in_entryRuleXMemberFeatureCall2353);
+ ruleXMemberFeatureCall();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXMemberFeatureCallRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXMemberFeatureCall2360); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXMemberFeatureCall"
+
+
+ // $ANTLR start "ruleXMemberFeatureCall"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1140:1: ruleXMemberFeatureCall : ( ( rule__XMemberFeatureCall__Group__0 ) ) ;
+ public final void ruleXMemberFeatureCall() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1144:2: ( ( ( rule__XMemberFeatureCall__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1145:1: ( ( rule__XMemberFeatureCall__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1145:1: ( ( rule__XMemberFeatureCall__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1146:1: ( rule__XMemberFeatureCall__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXMemberFeatureCallAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1147:1: ( rule__XMemberFeatureCall__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1147:2: rule__XMemberFeatureCall__Group__0
+ {
+ pushFollow(FOLLOW_rule__XMemberFeatureCall__Group__0_in_ruleXMemberFeatureCall2386);
+ rule__XMemberFeatureCall__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXMemberFeatureCallAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXMemberFeatureCall"
+
+
+ // $ANTLR start "entryRuleXPrimaryExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1159:1: entryRuleXPrimaryExpression : ruleXPrimaryExpression EOF ;
+ public final void entryRuleXPrimaryExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1160:1: ( ruleXPrimaryExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1161:1: ruleXPrimaryExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXPrimaryExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXPrimaryExpression_in_entryRuleXPrimaryExpression2413);
+ ruleXPrimaryExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXPrimaryExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXPrimaryExpression2420); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXPrimaryExpression"
+
+
+ // $ANTLR start "ruleXPrimaryExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1168:1: ruleXPrimaryExpression : ( ( rule__XPrimaryExpression__Alternatives ) ) ;
+ public final void ruleXPrimaryExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1172:2: ( ( ( rule__XPrimaryExpression__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1173:1: ( ( rule__XPrimaryExpression__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1173:1: ( ( rule__XPrimaryExpression__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1174:1: ( rule__XPrimaryExpression__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1175:1: ( rule__XPrimaryExpression__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1175:2: rule__XPrimaryExpression__Alternatives
+ {
+ pushFollow(FOLLOW_rule__XPrimaryExpression__Alternatives_in_ruleXPrimaryExpression2446);
+ rule__XPrimaryExpression__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXPrimaryExpression"
+
+
+ // $ANTLR start "entryRuleXLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1187:1: entryRuleXLiteral : ruleXLiteral EOF ;
+ public final void entryRuleXLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1188:1: ( ruleXLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1189:1: ruleXLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXLiteral_in_entryRuleXLiteral2473);
+ ruleXLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXLiteral2480); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXLiteral"
+
+
+ // $ANTLR start "ruleXLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1196:1: ruleXLiteral : ( ( rule__XLiteral__Alternatives ) ) ;
+ public final void ruleXLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1200:2: ( ( ( rule__XLiteral__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1201:1: ( ( rule__XLiteral__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1201:1: ( ( rule__XLiteral__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1202:1: ( rule__XLiteral__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXLiteralAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1203:1: ( rule__XLiteral__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1203:2: rule__XLiteral__Alternatives
+ {
+ pushFollow(FOLLOW_rule__XLiteral__Alternatives_in_ruleXLiteral2506);
+ rule__XLiteral__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXLiteralAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXLiteral"
+
+
+ // $ANTLR start "entryRuleXCollectionLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1215:1: entryRuleXCollectionLiteral : ruleXCollectionLiteral EOF ;
+ public final void entryRuleXCollectionLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1216:1: ( ruleXCollectionLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1217:1: ruleXCollectionLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXCollectionLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXCollectionLiteral_in_entryRuleXCollectionLiteral2533);
+ ruleXCollectionLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXCollectionLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXCollectionLiteral2540); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXCollectionLiteral"
+
+
+ // $ANTLR start "ruleXCollectionLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1224:1: ruleXCollectionLiteral : ( ( rule__XCollectionLiteral__Alternatives ) ) ;
+ public final void ruleXCollectionLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1228:2: ( ( ( rule__XCollectionLiteral__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1229:1: ( ( rule__XCollectionLiteral__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1229:1: ( ( rule__XCollectionLiteral__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1230:1: ( rule__XCollectionLiteral__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXCollectionLiteralAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1231:1: ( rule__XCollectionLiteral__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1231:2: rule__XCollectionLiteral__Alternatives
+ {
+ pushFollow(FOLLOW_rule__XCollectionLiteral__Alternatives_in_ruleXCollectionLiteral2566);
+ rule__XCollectionLiteral__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXCollectionLiteralAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXCollectionLiteral"
+
+
+ // $ANTLR start "entryRuleXSetLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1243:1: entryRuleXSetLiteral : ruleXSetLiteral EOF ;
+ public final void entryRuleXSetLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1244:1: ( ruleXSetLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1245:1: ruleXSetLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXSetLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXSetLiteral_in_entryRuleXSetLiteral2593);
+ ruleXSetLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXSetLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXSetLiteral2600); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXSetLiteral"
+
+
+ // $ANTLR start "ruleXSetLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1252:1: ruleXSetLiteral : ( ( rule__XSetLiteral__Group__0 ) ) ;
+ public final void ruleXSetLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1256:2: ( ( ( rule__XSetLiteral__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1257:1: ( ( rule__XSetLiteral__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1257:1: ( ( rule__XSetLiteral__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1258:1: ( rule__XSetLiteral__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXSetLiteralAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1259:1: ( rule__XSetLiteral__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1259:2: rule__XSetLiteral__Group__0
+ {
+ pushFollow(FOLLOW_rule__XSetLiteral__Group__0_in_ruleXSetLiteral2626);
+ rule__XSetLiteral__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXSetLiteralAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXSetLiteral"
+
+
+ // $ANTLR start "entryRuleXListLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1271:1: entryRuleXListLiteral : ruleXListLiteral EOF ;
+ public final void entryRuleXListLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1272:1: ( ruleXListLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1273:1: ruleXListLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXListLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXListLiteral_in_entryRuleXListLiteral2653);
+ ruleXListLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXListLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXListLiteral2660); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXListLiteral"
+
+
+ // $ANTLR start "ruleXListLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1280:1: ruleXListLiteral : ( ( rule__XListLiteral__Group__0 ) ) ;
+ public final void ruleXListLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1284:2: ( ( ( rule__XListLiteral__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1285:1: ( ( rule__XListLiteral__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1285:1: ( ( rule__XListLiteral__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1286:1: ( rule__XListLiteral__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXListLiteralAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1287:1: ( rule__XListLiteral__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1287:2: rule__XListLiteral__Group__0
+ {
+ pushFollow(FOLLOW_rule__XListLiteral__Group__0_in_ruleXListLiteral2686);
+ rule__XListLiteral__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXListLiteralAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXListLiteral"
+
+
+ // $ANTLR start "entryRuleXClosure"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1299:1: entryRuleXClosure : ruleXClosure EOF ;
+ public final void entryRuleXClosure() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1300:1: ( ruleXClosure EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1301:1: ruleXClosure EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXClosureRule());
+ }
+ pushFollow(FOLLOW_ruleXClosure_in_entryRuleXClosure2713);
+ ruleXClosure();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXClosureRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXClosure2720); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXClosure"
+
+
+ // $ANTLR start "ruleXClosure"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1308:1: ruleXClosure : ( ( rule__XClosure__Group__0 ) ) ;
+ public final void ruleXClosure() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1312:2: ( ( ( rule__XClosure__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1313:1: ( ( rule__XClosure__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1313:1: ( ( rule__XClosure__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1314:1: ( rule__XClosure__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXClosureAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1315:1: ( rule__XClosure__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1315:2: rule__XClosure__Group__0
+ {
+ pushFollow(FOLLOW_rule__XClosure__Group__0_in_ruleXClosure2746);
+ rule__XClosure__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXClosureAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXClosure"
+
+
+ // $ANTLR start "entryRuleXExpressionInClosure"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1327:1: entryRuleXExpressionInClosure : ruleXExpressionInClosure EOF ;
+ public final void entryRuleXExpressionInClosure() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1328:1: ( ruleXExpressionInClosure EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1329:1: ruleXExpressionInClosure EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXExpressionInClosureRule());
+ }
+ pushFollow(FOLLOW_ruleXExpressionInClosure_in_entryRuleXExpressionInClosure2773);
+ ruleXExpressionInClosure();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXExpressionInClosureRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXExpressionInClosure2780); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXExpressionInClosure"
+
+
+ // $ANTLR start "ruleXExpressionInClosure"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1336:1: ruleXExpressionInClosure : ( ( rule__XExpressionInClosure__Group__0 ) ) ;
+ public final void ruleXExpressionInClosure() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1340:2: ( ( ( rule__XExpressionInClosure__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1341:1: ( ( rule__XExpressionInClosure__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1341:1: ( ( rule__XExpressionInClosure__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1342:1: ( rule__XExpressionInClosure__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXExpressionInClosureAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1343:1: ( rule__XExpressionInClosure__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1343:2: rule__XExpressionInClosure__Group__0
+ {
+ pushFollow(FOLLOW_rule__XExpressionInClosure__Group__0_in_ruleXExpressionInClosure2806);
+ rule__XExpressionInClosure__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXExpressionInClosureAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXExpressionInClosure"
+
+
+ // $ANTLR start "entryRuleXShortClosure"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1355:1: entryRuleXShortClosure : ruleXShortClosure EOF ;
+ public final void entryRuleXShortClosure() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1356:1: ( ruleXShortClosure EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1357:1: ruleXShortClosure EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXShortClosureRule());
+ }
+ pushFollow(FOLLOW_ruleXShortClosure_in_entryRuleXShortClosure2833);
+ ruleXShortClosure();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXShortClosureRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXShortClosure2840); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXShortClosure"
+
+
+ // $ANTLR start "ruleXShortClosure"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1364:1: ruleXShortClosure : ( ( rule__XShortClosure__Group__0 ) ) ;
+ public final void ruleXShortClosure() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1368:2: ( ( ( rule__XShortClosure__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1369:1: ( ( rule__XShortClosure__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1369:1: ( ( rule__XShortClosure__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1370:1: ( rule__XShortClosure__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXShortClosureAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1371:1: ( rule__XShortClosure__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1371:2: rule__XShortClosure__Group__0
+ {
+ pushFollow(FOLLOW_rule__XShortClosure__Group__0_in_ruleXShortClosure2866);
+ rule__XShortClosure__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXShortClosureAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXShortClosure"
+
+
+ // $ANTLR start "entryRuleXParenthesizedExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1383:1: entryRuleXParenthesizedExpression : ruleXParenthesizedExpression EOF ;
+ public final void entryRuleXParenthesizedExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1384:1: ( ruleXParenthesizedExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1385:1: ruleXParenthesizedExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXParenthesizedExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXParenthesizedExpression_in_entryRuleXParenthesizedExpression2893);
+ ruleXParenthesizedExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXParenthesizedExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXParenthesizedExpression2900); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXParenthesizedExpression"
+
+
+ // $ANTLR start "ruleXParenthesizedExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1392:1: ruleXParenthesizedExpression : ( ( rule__XParenthesizedExpression__Group__0 ) ) ;
+ public final void ruleXParenthesizedExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1396:2: ( ( ( rule__XParenthesizedExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1397:1: ( ( rule__XParenthesizedExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1397:1: ( ( rule__XParenthesizedExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1398:1: ( rule__XParenthesizedExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXParenthesizedExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1399:1: ( rule__XParenthesizedExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1399:2: rule__XParenthesizedExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XParenthesizedExpression__Group__0_in_ruleXParenthesizedExpression2926);
+ rule__XParenthesizedExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXParenthesizedExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXParenthesizedExpression"
+
+
+ // $ANTLR start "entryRuleXIfExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1411:1: entryRuleXIfExpression : ruleXIfExpression EOF ;
+ public final void entryRuleXIfExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1412:1: ( ruleXIfExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1413:1: ruleXIfExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXIfExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXIfExpression_in_entryRuleXIfExpression2953);
+ ruleXIfExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXIfExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXIfExpression2960); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXIfExpression"
+
+
+ // $ANTLR start "ruleXIfExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1420:1: ruleXIfExpression : ( ( rule__XIfExpression__Group__0 ) ) ;
+ public final void ruleXIfExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1424:2: ( ( ( rule__XIfExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1425:1: ( ( rule__XIfExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1425:1: ( ( rule__XIfExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1426:1: ( rule__XIfExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXIfExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1427:1: ( rule__XIfExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1427:2: rule__XIfExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XIfExpression__Group__0_in_ruleXIfExpression2986);
+ rule__XIfExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXIfExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXIfExpression"
+
+
+ // $ANTLR start "entryRuleXSwitchExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1439:1: entryRuleXSwitchExpression : ruleXSwitchExpression EOF ;
+ public final void entryRuleXSwitchExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1440:1: ( ruleXSwitchExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1441:1: ruleXSwitchExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXSwitchExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXSwitchExpression_in_entryRuleXSwitchExpression3013);
+ ruleXSwitchExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXSwitchExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXSwitchExpression3020); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXSwitchExpression"
+
+
+ // $ANTLR start "ruleXSwitchExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1448:1: ruleXSwitchExpression : ( ( rule__XSwitchExpression__Group__0 ) ) ;
+ public final void ruleXSwitchExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1452:2: ( ( ( rule__XSwitchExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1453:1: ( ( rule__XSwitchExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1453:1: ( ( rule__XSwitchExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1454:1: ( rule__XSwitchExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXSwitchExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1455:1: ( rule__XSwitchExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1455:2: rule__XSwitchExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XSwitchExpression__Group__0_in_ruleXSwitchExpression3046);
+ rule__XSwitchExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXSwitchExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXSwitchExpression"
+
+
+ // $ANTLR start "entryRuleXCasePart"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1467:1: entryRuleXCasePart : ruleXCasePart EOF ;
+ public final void entryRuleXCasePart() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1468:1: ( ruleXCasePart EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1469:1: ruleXCasePart EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXCasePartRule());
+ }
+ pushFollow(FOLLOW_ruleXCasePart_in_entryRuleXCasePart3073);
+ ruleXCasePart();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXCasePartRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXCasePart3080); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXCasePart"
+
+
+ // $ANTLR start "ruleXCasePart"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1476:1: ruleXCasePart : ( ( rule__XCasePart__Group__0 ) ) ;
+ public final void ruleXCasePart() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1480:2: ( ( ( rule__XCasePart__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1481:1: ( ( rule__XCasePart__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1481:1: ( ( rule__XCasePart__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1482:1: ( rule__XCasePart__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXCasePartAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1483:1: ( rule__XCasePart__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1483:2: rule__XCasePart__Group__0
+ {
+ pushFollow(FOLLOW_rule__XCasePart__Group__0_in_ruleXCasePart3106);
+ rule__XCasePart__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXCasePartAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXCasePart"
+
+
+ // $ANTLR start "entryRuleXForLoopExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1495:1: entryRuleXForLoopExpression : ruleXForLoopExpression EOF ;
+ public final void entryRuleXForLoopExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1496:1: ( ruleXForLoopExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1497:1: ruleXForLoopExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXForLoopExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXForLoopExpression_in_entryRuleXForLoopExpression3133);
+ ruleXForLoopExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXForLoopExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXForLoopExpression3140); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXForLoopExpression"
+
+
+ // $ANTLR start "ruleXForLoopExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1504:1: ruleXForLoopExpression : ( ( rule__XForLoopExpression__Group__0 ) ) ;
+ public final void ruleXForLoopExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1508:2: ( ( ( rule__XForLoopExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1509:1: ( ( rule__XForLoopExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1509:1: ( ( rule__XForLoopExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1510:1: ( rule__XForLoopExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXForLoopExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1511:1: ( rule__XForLoopExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1511:2: rule__XForLoopExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XForLoopExpression__Group__0_in_ruleXForLoopExpression3166);
+ rule__XForLoopExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXForLoopExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXForLoopExpression"
+
+
+ // $ANTLR start "entryRuleXBasicForLoopExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1523:1: entryRuleXBasicForLoopExpression : ruleXBasicForLoopExpression EOF ;
+ public final void entryRuleXBasicForLoopExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1524:1: ( ruleXBasicForLoopExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1525:1: ruleXBasicForLoopExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXBasicForLoopExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXBasicForLoopExpression_in_entryRuleXBasicForLoopExpression3193);
+ ruleXBasicForLoopExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXBasicForLoopExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXBasicForLoopExpression3200); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXBasicForLoopExpression"
+
+
+ // $ANTLR start "ruleXBasicForLoopExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1532:1: ruleXBasicForLoopExpression : ( ( rule__XBasicForLoopExpression__Group__0 ) ) ;
+ public final void ruleXBasicForLoopExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1536:2: ( ( ( rule__XBasicForLoopExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1537:1: ( ( rule__XBasicForLoopExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1537:1: ( ( rule__XBasicForLoopExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1538:1: ( rule__XBasicForLoopExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1539:1: ( rule__XBasicForLoopExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1539:2: rule__XBasicForLoopExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XBasicForLoopExpression__Group__0_in_ruleXBasicForLoopExpression3226);
+ rule__XBasicForLoopExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXBasicForLoopExpression"
+
+
+ // $ANTLR start "entryRuleXWhileExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1551:1: entryRuleXWhileExpression : ruleXWhileExpression EOF ;
+ public final void entryRuleXWhileExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1552:1: ( ruleXWhileExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1553:1: ruleXWhileExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXWhileExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXWhileExpression_in_entryRuleXWhileExpression3253);
+ ruleXWhileExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXWhileExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXWhileExpression3260); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXWhileExpression"
+
+
+ // $ANTLR start "ruleXWhileExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1560:1: ruleXWhileExpression : ( ( rule__XWhileExpression__Group__0 ) ) ;
+ public final void ruleXWhileExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1564:2: ( ( ( rule__XWhileExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1565:1: ( ( rule__XWhileExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1565:1: ( ( rule__XWhileExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1566:1: ( rule__XWhileExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXWhileExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1567:1: ( rule__XWhileExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1567:2: rule__XWhileExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XWhileExpression__Group__0_in_ruleXWhileExpression3286);
+ rule__XWhileExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXWhileExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXWhileExpression"
+
+
+ // $ANTLR start "entryRuleXDoWhileExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1579:1: entryRuleXDoWhileExpression : ruleXDoWhileExpression EOF ;
+ public final void entryRuleXDoWhileExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1580:1: ( ruleXDoWhileExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1581:1: ruleXDoWhileExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXDoWhileExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXDoWhileExpression_in_entryRuleXDoWhileExpression3313);
+ ruleXDoWhileExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXDoWhileExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXDoWhileExpression3320); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXDoWhileExpression"
+
+
+ // $ANTLR start "ruleXDoWhileExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1588:1: ruleXDoWhileExpression : ( ( rule__XDoWhileExpression__Group__0 ) ) ;
+ public final void ruleXDoWhileExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1592:2: ( ( ( rule__XDoWhileExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1593:1: ( ( rule__XDoWhileExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1593:1: ( ( rule__XDoWhileExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1594:1: ( rule__XDoWhileExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXDoWhileExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1595:1: ( rule__XDoWhileExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1595:2: rule__XDoWhileExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XDoWhileExpression__Group__0_in_ruleXDoWhileExpression3346);
+ rule__XDoWhileExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXDoWhileExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXDoWhileExpression"
+
+
+ // $ANTLR start "entryRuleXBlockExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1607:1: entryRuleXBlockExpression : ruleXBlockExpression EOF ;
+ public final void entryRuleXBlockExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1608:1: ( ruleXBlockExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1609:1: ruleXBlockExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXBlockExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXBlockExpression_in_entryRuleXBlockExpression3373);
+ ruleXBlockExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXBlockExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXBlockExpression3380); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXBlockExpression"
+
+
+ // $ANTLR start "ruleXBlockExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1616:1: ruleXBlockExpression : ( ( rule__XBlockExpression__Group__0 ) ) ;
+ public final void ruleXBlockExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1620:2: ( ( ( rule__XBlockExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1621:1: ( ( rule__XBlockExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1621:1: ( ( rule__XBlockExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1622:1: ( rule__XBlockExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXBlockExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1623:1: ( rule__XBlockExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1623:2: rule__XBlockExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XBlockExpression__Group__0_in_ruleXBlockExpression3406);
+ rule__XBlockExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXBlockExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXBlockExpression"
+
+
+ // $ANTLR start "entryRuleXExpressionOrVarDeclaration"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1635:1: entryRuleXExpressionOrVarDeclaration : ruleXExpressionOrVarDeclaration EOF ;
+ public final void entryRuleXExpressionOrVarDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1636:1: ( ruleXExpressionOrVarDeclaration EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1637:1: ruleXExpressionOrVarDeclaration EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXExpressionOrVarDeclarationRule());
+ }
+ pushFollow(FOLLOW_ruleXExpressionOrVarDeclaration_in_entryRuleXExpressionOrVarDeclaration3433);
+ ruleXExpressionOrVarDeclaration();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXExpressionOrVarDeclarationRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXExpressionOrVarDeclaration3440); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXExpressionOrVarDeclaration"
+
+
+ // $ANTLR start "ruleXExpressionOrVarDeclaration"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1644:1: ruleXExpressionOrVarDeclaration : ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) ;
+ public final void ruleXExpressionOrVarDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1648:2: ( ( ( rule__XExpressionOrVarDeclaration__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1649:1: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1649:1: ( ( rule__XExpressionOrVarDeclaration__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1650:1: ( rule__XExpressionOrVarDeclaration__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1651:1: ( rule__XExpressionOrVarDeclaration__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1651:2: rule__XExpressionOrVarDeclaration__Alternatives
+ {
+ pushFollow(FOLLOW_rule__XExpressionOrVarDeclaration__Alternatives_in_ruleXExpressionOrVarDeclaration3466);
+ rule__XExpressionOrVarDeclaration__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXExpressionOrVarDeclaration"
+
+
+ // $ANTLR start "entryRuleXVariableDeclaration"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1663:1: entryRuleXVariableDeclaration : ruleXVariableDeclaration EOF ;
+ public final void entryRuleXVariableDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1664:1: ( ruleXVariableDeclaration EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1665:1: ruleXVariableDeclaration EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXVariableDeclarationRule());
+ }
+ pushFollow(FOLLOW_ruleXVariableDeclaration_in_entryRuleXVariableDeclaration3493);
+ ruleXVariableDeclaration();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXVariableDeclarationRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXVariableDeclaration3500); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXVariableDeclaration"
+
+
+ // $ANTLR start "ruleXVariableDeclaration"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1672:1: ruleXVariableDeclaration : ( ( rule__XVariableDeclaration__Group__0 ) ) ;
+ public final void ruleXVariableDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1676:2: ( ( ( rule__XVariableDeclaration__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1677:1: ( ( rule__XVariableDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1677:1: ( ( rule__XVariableDeclaration__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1678:1: ( rule__XVariableDeclaration__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXVariableDeclarationAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1679:1: ( rule__XVariableDeclaration__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1679:2: rule__XVariableDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__XVariableDeclaration__Group__0_in_ruleXVariableDeclaration3526);
+ rule__XVariableDeclaration__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXVariableDeclarationAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXVariableDeclaration"
+
+
+ // $ANTLR start "entryRuleJvmFormalParameter"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1691:1: entryRuleJvmFormalParameter : ruleJvmFormalParameter EOF ;
+ public final void entryRuleJvmFormalParameter() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1692:1: ( ruleJvmFormalParameter EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1693:1: ruleJvmFormalParameter EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmFormalParameterRule());
+ }
+ pushFollow(FOLLOW_ruleJvmFormalParameter_in_entryRuleJvmFormalParameter3553);
+ ruleJvmFormalParameter();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmFormalParameterRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJvmFormalParameter3560); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleJvmFormalParameter"
+
+
+ // $ANTLR start "ruleJvmFormalParameter"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1700:1: ruleJvmFormalParameter : ( ( rule__JvmFormalParameter__Group__0 ) ) ;
+ public final void ruleJvmFormalParameter() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1704:2: ( ( ( rule__JvmFormalParameter__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1705:1: ( ( rule__JvmFormalParameter__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1705:1: ( ( rule__JvmFormalParameter__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1706:1: ( rule__JvmFormalParameter__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmFormalParameterAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1707:1: ( rule__JvmFormalParameter__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1707:2: rule__JvmFormalParameter__Group__0
+ {
+ pushFollow(FOLLOW_rule__JvmFormalParameter__Group__0_in_ruleJvmFormalParameter3586);
+ rule__JvmFormalParameter__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmFormalParameterAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleJvmFormalParameter"
+
+
+ // $ANTLR start "entryRuleFullJvmFormalParameter"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1719:1: entryRuleFullJvmFormalParameter : ruleFullJvmFormalParameter EOF ;
+ public final void entryRuleFullJvmFormalParameter() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1720:1: ( ruleFullJvmFormalParameter EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1721:1: ruleFullJvmFormalParameter EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFullJvmFormalParameterRule());
+ }
+ pushFollow(FOLLOW_ruleFullJvmFormalParameter_in_entryRuleFullJvmFormalParameter3613);
+ ruleFullJvmFormalParameter();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFullJvmFormalParameterRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFullJvmFormalParameter3620); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleFullJvmFormalParameter"
+
+
+ // $ANTLR start "ruleFullJvmFormalParameter"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1728:1: ruleFullJvmFormalParameter : ( ( rule__FullJvmFormalParameter__Group__0 ) ) ;
+ public final void ruleFullJvmFormalParameter() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1732:2: ( ( ( rule__FullJvmFormalParameter__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1733:1: ( ( rule__FullJvmFormalParameter__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1733:1: ( ( rule__FullJvmFormalParameter__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1734:1: ( rule__FullJvmFormalParameter__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFullJvmFormalParameterAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1735:1: ( rule__FullJvmFormalParameter__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1735:2: rule__FullJvmFormalParameter__Group__0
+ {
+ pushFollow(FOLLOW_rule__FullJvmFormalParameter__Group__0_in_ruleFullJvmFormalParameter3646);
+ rule__FullJvmFormalParameter__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFullJvmFormalParameterAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleFullJvmFormalParameter"
+
+
+ // $ANTLR start "entryRuleXFeatureCall"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1747:1: entryRuleXFeatureCall : ruleXFeatureCall EOF ;
+ public final void entryRuleXFeatureCall() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1748:1: ( ruleXFeatureCall EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1749:1: ruleXFeatureCall EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXFeatureCallRule());
+ }
+ pushFollow(FOLLOW_ruleXFeatureCall_in_entryRuleXFeatureCall3673);
+ ruleXFeatureCall();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXFeatureCallRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXFeatureCall3680); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXFeatureCall"
+
+
+ // $ANTLR start "ruleXFeatureCall"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1756:1: ruleXFeatureCall : ( ( rule__XFeatureCall__Group__0 ) ) ;
+ public final void ruleXFeatureCall() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1760:2: ( ( ( rule__XFeatureCall__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1761:1: ( ( rule__XFeatureCall__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1761:1: ( ( rule__XFeatureCall__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1762:1: ( rule__XFeatureCall__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXFeatureCallAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1763:1: ( rule__XFeatureCall__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1763:2: rule__XFeatureCall__Group__0
+ {
+ pushFollow(FOLLOW_rule__XFeatureCall__Group__0_in_ruleXFeatureCall3706);
+ rule__XFeatureCall__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXFeatureCallAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXFeatureCall"
+
+
+ // $ANTLR start "entryRuleFeatureCallID"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1775:1: entryRuleFeatureCallID : ruleFeatureCallID EOF ;
+ public final void entryRuleFeatureCallID() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1776:1: ( ruleFeatureCallID EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1777:1: ruleFeatureCallID EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFeatureCallIDRule());
+ }
+ pushFollow(FOLLOW_ruleFeatureCallID_in_entryRuleFeatureCallID3733);
+ ruleFeatureCallID();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFeatureCallIDRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFeatureCallID3740); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleFeatureCallID"
+
+
+ // $ANTLR start "ruleFeatureCallID"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1784:1: ruleFeatureCallID : ( ( rule__FeatureCallID__Alternatives ) ) ;
+ public final void ruleFeatureCallID() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1788:2: ( ( ( rule__FeatureCallID__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1789:1: ( ( rule__FeatureCallID__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1789:1: ( ( rule__FeatureCallID__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1790:1: ( rule__FeatureCallID__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFeatureCallIDAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1791:1: ( rule__FeatureCallID__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1791:2: rule__FeatureCallID__Alternatives
+ {
+ pushFollow(FOLLOW_rule__FeatureCallID__Alternatives_in_ruleFeatureCallID3766);
+ rule__FeatureCallID__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFeatureCallIDAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleFeatureCallID"
+
+
+ // $ANTLR start "entryRuleIdOrSuper"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1803:1: entryRuleIdOrSuper : ruleIdOrSuper EOF ;
+ public final void entryRuleIdOrSuper() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1804:1: ( ruleIdOrSuper EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1805:1: ruleIdOrSuper EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIdOrSuperRule());
+ }
+ pushFollow(FOLLOW_ruleIdOrSuper_in_entryRuleIdOrSuper3793);
+ ruleIdOrSuper();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIdOrSuperRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleIdOrSuper3800); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleIdOrSuper"
+
+
+ // $ANTLR start "ruleIdOrSuper"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1812:1: ruleIdOrSuper : ( ( rule__IdOrSuper__Alternatives ) ) ;
+ public final void ruleIdOrSuper() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1816:2: ( ( ( rule__IdOrSuper__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1817:1: ( ( rule__IdOrSuper__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1817:1: ( ( rule__IdOrSuper__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1818:1: ( rule__IdOrSuper__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getIdOrSuperAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1819:1: ( rule__IdOrSuper__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1819:2: rule__IdOrSuper__Alternatives
+ {
+ pushFollow(FOLLOW_rule__IdOrSuper__Alternatives_in_ruleIdOrSuper3826);
+ rule__IdOrSuper__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getIdOrSuperAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleIdOrSuper"
+
+
+ // $ANTLR start "entryRuleXConstructorCall"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1831:1: entryRuleXConstructorCall : ruleXConstructorCall EOF ;
+ public final void entryRuleXConstructorCall() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1832:1: ( ruleXConstructorCall EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1833:1: ruleXConstructorCall EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXConstructorCallRule());
+ }
+ pushFollow(FOLLOW_ruleXConstructorCall_in_entryRuleXConstructorCall3853);
+ ruleXConstructorCall();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXConstructorCallRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXConstructorCall3860); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXConstructorCall"
+
+
+ // $ANTLR start "ruleXConstructorCall"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1840:1: ruleXConstructorCall : ( ( rule__XConstructorCall__Group__0 ) ) ;
+ public final void ruleXConstructorCall() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1844:2: ( ( ( rule__XConstructorCall__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1845:1: ( ( rule__XConstructorCall__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1845:1: ( ( rule__XConstructorCall__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1846:1: ( rule__XConstructorCall__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXConstructorCallAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1847:1: ( rule__XConstructorCall__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1847:2: rule__XConstructorCall__Group__0
+ {
+ pushFollow(FOLLOW_rule__XConstructorCall__Group__0_in_ruleXConstructorCall3886);
+ rule__XConstructorCall__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXConstructorCallAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXConstructorCall"
+
+
+ // $ANTLR start "entryRuleXBooleanLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1859:1: entryRuleXBooleanLiteral : ruleXBooleanLiteral EOF ;
+ public final void entryRuleXBooleanLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1860:1: ( ruleXBooleanLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1861:1: ruleXBooleanLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXBooleanLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXBooleanLiteral_in_entryRuleXBooleanLiteral3913);
+ ruleXBooleanLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXBooleanLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXBooleanLiteral3920); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXBooleanLiteral"
+
+
+ // $ANTLR start "ruleXBooleanLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1868:1: ruleXBooleanLiteral : ( ( rule__XBooleanLiteral__Group__0 ) ) ;
+ public final void ruleXBooleanLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1872:2: ( ( ( rule__XBooleanLiteral__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1873:1: ( ( rule__XBooleanLiteral__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1873:1: ( ( rule__XBooleanLiteral__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1874:1: ( rule__XBooleanLiteral__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXBooleanLiteralAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1875:1: ( rule__XBooleanLiteral__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1875:2: rule__XBooleanLiteral__Group__0
+ {
+ pushFollow(FOLLOW_rule__XBooleanLiteral__Group__0_in_ruleXBooleanLiteral3946);
+ rule__XBooleanLiteral__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXBooleanLiteralAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXBooleanLiteral"
+
+
+ // $ANTLR start "entryRuleXNullLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1887:1: entryRuleXNullLiteral : ruleXNullLiteral EOF ;
+ public final void entryRuleXNullLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1888:1: ( ruleXNullLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1889:1: ruleXNullLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXNullLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXNullLiteral_in_entryRuleXNullLiteral3973);
+ ruleXNullLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXNullLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXNullLiteral3980); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXNullLiteral"
+
+
+ // $ANTLR start "ruleXNullLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1896:1: ruleXNullLiteral : ( ( rule__XNullLiteral__Group__0 ) ) ;
+ public final void ruleXNullLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1900:2: ( ( ( rule__XNullLiteral__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1901:1: ( ( rule__XNullLiteral__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1901:1: ( ( rule__XNullLiteral__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1902:1: ( rule__XNullLiteral__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXNullLiteralAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1903:1: ( rule__XNullLiteral__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1903:2: rule__XNullLiteral__Group__0
+ {
+ pushFollow(FOLLOW_rule__XNullLiteral__Group__0_in_ruleXNullLiteral4006);
+ rule__XNullLiteral__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXNullLiteralAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXNullLiteral"
+
+
+ // $ANTLR start "entryRuleXNumberLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1915:1: entryRuleXNumberLiteral : ruleXNumberLiteral EOF ;
+ public final void entryRuleXNumberLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1916:1: ( ruleXNumberLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1917:1: ruleXNumberLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXNumberLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXNumberLiteral_in_entryRuleXNumberLiteral4033);
+ ruleXNumberLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXNumberLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXNumberLiteral4040); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXNumberLiteral"
+
+
+ // $ANTLR start "ruleXNumberLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1924:1: ruleXNumberLiteral : ( ( rule__XNumberLiteral__Group__0 ) ) ;
+ public final void ruleXNumberLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1928:2: ( ( ( rule__XNumberLiteral__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1929:1: ( ( rule__XNumberLiteral__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1929:1: ( ( rule__XNumberLiteral__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1930:1: ( rule__XNumberLiteral__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXNumberLiteralAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1931:1: ( rule__XNumberLiteral__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1931:2: rule__XNumberLiteral__Group__0
+ {
+ pushFollow(FOLLOW_rule__XNumberLiteral__Group__0_in_ruleXNumberLiteral4066);
+ rule__XNumberLiteral__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXNumberLiteralAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXNumberLiteral"
+
+
+ // $ANTLR start "entryRuleXStringLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1943:1: entryRuleXStringLiteral : ruleXStringLiteral EOF ;
+ public final void entryRuleXStringLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1944:1: ( ruleXStringLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1945:1: ruleXStringLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXStringLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXStringLiteral_in_entryRuleXStringLiteral4093);
+ ruleXStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXStringLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXStringLiteral4100); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXStringLiteral"
+
+
+ // $ANTLR start "ruleXStringLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1952:1: ruleXStringLiteral : ( ( rule__XStringLiteral__Group__0 ) ) ;
+ public final void ruleXStringLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1956:2: ( ( ( rule__XStringLiteral__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1957:1: ( ( rule__XStringLiteral__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1957:1: ( ( rule__XStringLiteral__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1958:1: ( rule__XStringLiteral__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXStringLiteralAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1959:1: ( rule__XStringLiteral__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1959:2: rule__XStringLiteral__Group__0
+ {
+ pushFollow(FOLLOW_rule__XStringLiteral__Group__0_in_ruleXStringLiteral4126);
+ rule__XStringLiteral__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXStringLiteralAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXStringLiteral"
+
+
+ // $ANTLR start "entryRuleXTypeLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1971:1: entryRuleXTypeLiteral : ruleXTypeLiteral EOF ;
+ public final void entryRuleXTypeLiteral() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1972:1: ( ruleXTypeLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1973:1: ruleXTypeLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXTypeLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXTypeLiteral_in_entryRuleXTypeLiteral4153);
+ ruleXTypeLiteral();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXTypeLiteralRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXTypeLiteral4160); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXTypeLiteral"
+
+
+ // $ANTLR start "ruleXTypeLiteral"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1980:1: ruleXTypeLiteral : ( ( rule__XTypeLiteral__Group__0 ) ) ;
+ public final void ruleXTypeLiteral() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1984:2: ( ( ( rule__XTypeLiteral__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1985:1: ( ( rule__XTypeLiteral__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1985:1: ( ( rule__XTypeLiteral__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1986:1: ( rule__XTypeLiteral__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXTypeLiteralAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1987:1: ( rule__XTypeLiteral__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1987:2: rule__XTypeLiteral__Group__0
+ {
+ pushFollow(FOLLOW_rule__XTypeLiteral__Group__0_in_ruleXTypeLiteral4186);
+ rule__XTypeLiteral__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXTypeLiteralAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXTypeLiteral"
+
+
+ // $ANTLR start "entryRuleXThrowExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:1999:1: entryRuleXThrowExpression : ruleXThrowExpression EOF ;
+ public final void entryRuleXThrowExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2000:1: ( ruleXThrowExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2001:1: ruleXThrowExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXThrowExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXThrowExpression_in_entryRuleXThrowExpression4213);
+ ruleXThrowExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXThrowExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXThrowExpression4220); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXThrowExpression"
+
+
+ // $ANTLR start "ruleXThrowExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2008:1: ruleXThrowExpression : ( ( rule__XThrowExpression__Group__0 ) ) ;
+ public final void ruleXThrowExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2012:2: ( ( ( rule__XThrowExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2013:1: ( ( rule__XThrowExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2013:1: ( ( rule__XThrowExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2014:1: ( rule__XThrowExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXThrowExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2015:1: ( rule__XThrowExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2015:2: rule__XThrowExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XThrowExpression__Group__0_in_ruleXThrowExpression4246);
+ rule__XThrowExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXThrowExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXThrowExpression"
+
+
+ // $ANTLR start "entryRuleXReturnExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2027:1: entryRuleXReturnExpression : ruleXReturnExpression EOF ;
+ public final void entryRuleXReturnExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2028:1: ( ruleXReturnExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2029:1: ruleXReturnExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXReturnExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXReturnExpression_in_entryRuleXReturnExpression4273);
+ ruleXReturnExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXReturnExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXReturnExpression4280); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXReturnExpression"
+
+
+ // $ANTLR start "ruleXReturnExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2036:1: ruleXReturnExpression : ( ( rule__XReturnExpression__Group__0 ) ) ;
+ public final void ruleXReturnExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2040:2: ( ( ( rule__XReturnExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2041:1: ( ( rule__XReturnExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2041:1: ( ( rule__XReturnExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2042:1: ( rule__XReturnExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXReturnExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2043:1: ( rule__XReturnExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2043:2: rule__XReturnExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XReturnExpression__Group__0_in_ruleXReturnExpression4306);
+ rule__XReturnExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXReturnExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXReturnExpression"
+
+
+ // $ANTLR start "entryRuleXTryCatchFinallyExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2055:1: entryRuleXTryCatchFinallyExpression : ruleXTryCatchFinallyExpression EOF ;
+ public final void entryRuleXTryCatchFinallyExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2056:1: ( ruleXTryCatchFinallyExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2057:1: ruleXTryCatchFinallyExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXTryCatchFinallyExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXTryCatchFinallyExpression_in_entryRuleXTryCatchFinallyExpression4333);
+ ruleXTryCatchFinallyExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXTryCatchFinallyExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXTryCatchFinallyExpression4340); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXTryCatchFinallyExpression"
+
+
+ // $ANTLR start "ruleXTryCatchFinallyExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2064:1: ruleXTryCatchFinallyExpression : ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) ;
+ public final void ruleXTryCatchFinallyExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2068:2: ( ( ( rule__XTryCatchFinallyExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2069:1: ( ( rule__XTryCatchFinallyExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2069:1: ( ( rule__XTryCatchFinallyExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2070:1: ( rule__XTryCatchFinallyExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2071:1: ( rule__XTryCatchFinallyExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2071:2: rule__XTryCatchFinallyExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XTryCatchFinallyExpression__Group__0_in_ruleXTryCatchFinallyExpression4366);
+ rule__XTryCatchFinallyExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXTryCatchFinallyExpression"
+
+
+ // $ANTLR start "entryRuleXSynchronizedExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2083:1: entryRuleXSynchronizedExpression : ruleXSynchronizedExpression EOF ;
+ public final void entryRuleXSynchronizedExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2084:1: ( ruleXSynchronizedExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2085:1: ruleXSynchronizedExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXSynchronizedExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXSynchronizedExpression_in_entryRuleXSynchronizedExpression4393);
+ ruleXSynchronizedExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXSynchronizedExpressionRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXSynchronizedExpression4400); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXSynchronizedExpression"
+
+
+ // $ANTLR start "ruleXSynchronizedExpression"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2092:1: ruleXSynchronizedExpression : ( ( rule__XSynchronizedExpression__Group__0 ) ) ;
+ public final void ruleXSynchronizedExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2096:2: ( ( ( rule__XSynchronizedExpression__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2097:1: ( ( rule__XSynchronizedExpression__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2097:1: ( ( rule__XSynchronizedExpression__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2098:1: ( rule__XSynchronizedExpression__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXSynchronizedExpressionAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2099:1: ( rule__XSynchronizedExpression__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2099:2: rule__XSynchronizedExpression__Group__0
+ {
+ pushFollow(FOLLOW_rule__XSynchronizedExpression__Group__0_in_ruleXSynchronizedExpression4426);
+ rule__XSynchronizedExpression__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXSynchronizedExpressionAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXSynchronizedExpression"
+
+
+ // $ANTLR start "entryRuleXCatchClause"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2111:1: entryRuleXCatchClause : ruleXCatchClause EOF ;
+ public final void entryRuleXCatchClause() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2112:1: ( ruleXCatchClause EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2113:1: ruleXCatchClause EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXCatchClauseRule());
+ }
+ pushFollow(FOLLOW_ruleXCatchClause_in_entryRuleXCatchClause4453);
+ ruleXCatchClause();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXCatchClauseRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXCatchClause4460); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXCatchClause"
+
+
+ // $ANTLR start "ruleXCatchClause"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2120:1: ruleXCatchClause : ( ( rule__XCatchClause__Group__0 ) ) ;
+ public final void ruleXCatchClause() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2124:2: ( ( ( rule__XCatchClause__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2125:1: ( ( rule__XCatchClause__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2125:1: ( ( rule__XCatchClause__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2126:1: ( rule__XCatchClause__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXCatchClauseAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2127:1: ( rule__XCatchClause__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2127:2: rule__XCatchClause__Group__0
+ {
+ pushFollow(FOLLOW_rule__XCatchClause__Group__0_in_ruleXCatchClause4486);
+ rule__XCatchClause__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXCatchClauseAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXCatchClause"
+
+
+ // $ANTLR start "entryRuleQualifiedName"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2139:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
+ public final void entryRuleQualifiedName() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2140:1: ( ruleQualifiedName EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2141:1: ruleQualifiedName EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameRule());
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName4513);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName4520); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleQualifiedName"
+
+
+ // $ANTLR start "ruleQualifiedName"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2148:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
+ public final void ruleQualifiedName() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2152:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2153:1: ( ( rule__QualifiedName__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2153:1: ( ( rule__QualifiedName__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2154:1: ( rule__QualifiedName__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2155:1: ( rule__QualifiedName__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2155:2: rule__QualifiedName__Group__0
+ {
+ pushFollow(FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName4546);
+ rule__QualifiedName__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleQualifiedName"
+
+
+ // $ANTLR start "entryRuleNumber"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2167:1: entryRuleNumber : ruleNumber EOF ;
+ public final void entryRuleNumber() throws RecognitionException {
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2171:1: ( ruleNumber EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2172:1: ruleNumber EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNumberRule());
+ }
+ pushFollow(FOLLOW_ruleNumber_in_entryRuleNumber4578);
+ ruleNumber();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNumberRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNumber4585); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleNumber"
+
+
+ // $ANTLR start "ruleNumber"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2182:1: ruleNumber : ( ( rule__Number__Alternatives ) ) ;
+ public final void ruleNumber() throws RecognitionException {
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2187:2: ( ( ( rule__Number__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2188:1: ( ( rule__Number__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2188:1: ( ( rule__Number__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2189:1: ( rule__Number__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getNumberAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2190:1: ( rule__Number__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2190:2: rule__Number__Alternatives
+ {
+ pushFollow(FOLLOW_rule__Number__Alternatives_in_ruleNumber4615);
+ rule__Number__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getNumberAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+ myHiddenTokenState.restore();
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleNumber"
+
+
+ // $ANTLR start "entryRuleJvmTypeReference"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2205:1: entryRuleJvmTypeReference : ruleJvmTypeReference EOF ;
+ public final void entryRuleJvmTypeReference() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2206:1: ( ruleJvmTypeReference EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2207:1: ruleJvmTypeReference EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmTypeReferenceRule());
+ }
+ pushFollow(FOLLOW_ruleJvmTypeReference_in_entryRuleJvmTypeReference4644);
+ ruleJvmTypeReference();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmTypeReferenceRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJvmTypeReference4651); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleJvmTypeReference"
+
+
+ // $ANTLR start "ruleJvmTypeReference"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2214:1: ruleJvmTypeReference : ( ( rule__JvmTypeReference__Alternatives ) ) ;
+ public final void ruleJvmTypeReference() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2218:2: ( ( ( rule__JvmTypeReference__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2219:1: ( ( rule__JvmTypeReference__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2219:1: ( ( rule__JvmTypeReference__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2220:1: ( rule__JvmTypeReference__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2221:1: ( rule__JvmTypeReference__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2221:2: rule__JvmTypeReference__Alternatives
+ {
+ pushFollow(FOLLOW_rule__JvmTypeReference__Alternatives_in_ruleJvmTypeReference4677);
+ rule__JvmTypeReference__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleJvmTypeReference"
+
+
+ // $ANTLR start "entryRuleArrayBrackets"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2233:1: entryRuleArrayBrackets : ruleArrayBrackets EOF ;
+ public final void entryRuleArrayBrackets() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2234:1: ( ruleArrayBrackets EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2235:1: ruleArrayBrackets EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getArrayBracketsRule());
+ }
+ pushFollow(FOLLOW_ruleArrayBrackets_in_entryRuleArrayBrackets4704);
+ ruleArrayBrackets();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getArrayBracketsRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleArrayBrackets4711); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleArrayBrackets"
+
+
+ // $ANTLR start "ruleArrayBrackets"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2242:1: ruleArrayBrackets : ( ( rule__ArrayBrackets__Group__0 ) ) ;
+ public final void ruleArrayBrackets() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2246:2: ( ( ( rule__ArrayBrackets__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2247:1: ( ( rule__ArrayBrackets__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2247:1: ( ( rule__ArrayBrackets__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2248:1: ( rule__ArrayBrackets__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getArrayBracketsAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2249:1: ( rule__ArrayBrackets__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2249:2: rule__ArrayBrackets__Group__0
+ {
+ pushFollow(FOLLOW_rule__ArrayBrackets__Group__0_in_ruleArrayBrackets4737);
+ rule__ArrayBrackets__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getArrayBracketsAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleArrayBrackets"
+
+
+ // $ANTLR start "entryRuleXFunctionTypeRef"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2261:1: entryRuleXFunctionTypeRef : ruleXFunctionTypeRef EOF ;
+ public final void entryRuleXFunctionTypeRef() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2262:1: ( ruleXFunctionTypeRef EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2263:1: ruleXFunctionTypeRef EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXFunctionTypeRefRule());
+ }
+ pushFollow(FOLLOW_ruleXFunctionTypeRef_in_entryRuleXFunctionTypeRef4764);
+ ruleXFunctionTypeRef();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXFunctionTypeRefRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXFunctionTypeRef4771); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXFunctionTypeRef"
+
+
+ // $ANTLR start "ruleXFunctionTypeRef"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2270:1: ruleXFunctionTypeRef : ( ( rule__XFunctionTypeRef__Group__0 ) ) ;
+ public final void ruleXFunctionTypeRef() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2274:2: ( ( ( rule__XFunctionTypeRef__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2275:1: ( ( rule__XFunctionTypeRef__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2275:1: ( ( rule__XFunctionTypeRef__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2276:1: ( rule__XFunctionTypeRef__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXFunctionTypeRefAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2277:1: ( rule__XFunctionTypeRef__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2277:2: rule__XFunctionTypeRef__Group__0
+ {
+ pushFollow(FOLLOW_rule__XFunctionTypeRef__Group__0_in_ruleXFunctionTypeRef4797);
+ rule__XFunctionTypeRef__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXFunctionTypeRefAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXFunctionTypeRef"
+
+
+ // $ANTLR start "entryRuleJvmParameterizedTypeReference"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2289:1: entryRuleJvmParameterizedTypeReference : ruleJvmParameterizedTypeReference EOF ;
+ public final void entryRuleJvmParameterizedTypeReference() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2290:1: ( ruleJvmParameterizedTypeReference EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2291:1: ruleJvmParameterizedTypeReference EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmParameterizedTypeReferenceRule());
+ }
+ pushFollow(FOLLOW_ruleJvmParameterizedTypeReference_in_entryRuleJvmParameterizedTypeReference4824);
+ ruleJvmParameterizedTypeReference();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmParameterizedTypeReferenceRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJvmParameterizedTypeReference4831); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleJvmParameterizedTypeReference"
+
+
+ // $ANTLR start "ruleJvmParameterizedTypeReference"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2298:1: ruleJvmParameterizedTypeReference : ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) ;
+ public final void ruleJvmParameterizedTypeReference() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2302:2: ( ( ( rule__JvmParameterizedTypeReference__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2303:1: ( ( rule__JvmParameterizedTypeReference__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2303:1: ( ( rule__JvmParameterizedTypeReference__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2304:1: ( rule__JvmParameterizedTypeReference__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2305:1: ( rule__JvmParameterizedTypeReference__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2305:2: rule__JvmParameterizedTypeReference__Group__0
+ {
+ pushFollow(FOLLOW_rule__JvmParameterizedTypeReference__Group__0_in_ruleJvmParameterizedTypeReference4857);
+ rule__JvmParameterizedTypeReference__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleJvmParameterizedTypeReference"
+
+
+ // $ANTLR start "entryRuleJvmArgumentTypeReference"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2317:1: entryRuleJvmArgumentTypeReference : ruleJvmArgumentTypeReference EOF ;
+ public final void entryRuleJvmArgumentTypeReference() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2318:1: ( ruleJvmArgumentTypeReference EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2319:1: ruleJvmArgumentTypeReference EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmArgumentTypeReferenceRule());
+ }
+ pushFollow(FOLLOW_ruleJvmArgumentTypeReference_in_entryRuleJvmArgumentTypeReference4884);
+ ruleJvmArgumentTypeReference();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmArgumentTypeReferenceRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJvmArgumentTypeReference4891); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleJvmArgumentTypeReference"
+
+
+ // $ANTLR start "ruleJvmArgumentTypeReference"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2326:1: ruleJvmArgumentTypeReference : ( ( rule__JvmArgumentTypeReference__Alternatives ) ) ;
+ public final void ruleJvmArgumentTypeReference() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2330:2: ( ( ( rule__JvmArgumentTypeReference__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2331:1: ( ( rule__JvmArgumentTypeReference__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2331:1: ( ( rule__JvmArgumentTypeReference__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2332:1: ( rule__JvmArgumentTypeReference__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2333:1: ( rule__JvmArgumentTypeReference__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2333:2: rule__JvmArgumentTypeReference__Alternatives
+ {
+ pushFollow(FOLLOW_rule__JvmArgumentTypeReference__Alternatives_in_ruleJvmArgumentTypeReference4917);
+ rule__JvmArgumentTypeReference__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleJvmArgumentTypeReference"
+
+
+ // $ANTLR start "entryRuleJvmWildcardTypeReference"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2345:1: entryRuleJvmWildcardTypeReference : ruleJvmWildcardTypeReference EOF ;
+ public final void entryRuleJvmWildcardTypeReference() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2346:1: ( ruleJvmWildcardTypeReference EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2347:1: ruleJvmWildcardTypeReference EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmWildcardTypeReferenceRule());
+ }
+ pushFollow(FOLLOW_ruleJvmWildcardTypeReference_in_entryRuleJvmWildcardTypeReference4944);
+ ruleJvmWildcardTypeReference();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmWildcardTypeReferenceRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJvmWildcardTypeReference4951); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleJvmWildcardTypeReference"
+
+
+ // $ANTLR start "ruleJvmWildcardTypeReference"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2354:1: ruleJvmWildcardTypeReference : ( ( rule__JvmWildcardTypeReference__Group__0 ) ) ;
+ public final void ruleJvmWildcardTypeReference() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2358:2: ( ( ( rule__JvmWildcardTypeReference__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2359:1: ( ( rule__JvmWildcardTypeReference__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2359:1: ( ( rule__JvmWildcardTypeReference__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2360:1: ( rule__JvmWildcardTypeReference__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2361:1: ( rule__JvmWildcardTypeReference__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2361:2: rule__JvmWildcardTypeReference__Group__0
+ {
+ pushFollow(FOLLOW_rule__JvmWildcardTypeReference__Group__0_in_ruleJvmWildcardTypeReference4977);
+ rule__JvmWildcardTypeReference__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleJvmWildcardTypeReference"
+
+
+ // $ANTLR start "entryRuleJvmUpperBound"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2373:1: entryRuleJvmUpperBound : ruleJvmUpperBound EOF ;
+ public final void entryRuleJvmUpperBound() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2374:1: ( ruleJvmUpperBound EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2375:1: ruleJvmUpperBound EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmUpperBoundRule());
+ }
+ pushFollow(FOLLOW_ruleJvmUpperBound_in_entryRuleJvmUpperBound5004);
+ ruleJvmUpperBound();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmUpperBoundRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJvmUpperBound5011); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleJvmUpperBound"
+
+
+ // $ANTLR start "ruleJvmUpperBound"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2382:1: ruleJvmUpperBound : ( ( rule__JvmUpperBound__Group__0 ) ) ;
+ public final void ruleJvmUpperBound() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2386:2: ( ( ( rule__JvmUpperBound__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2387:1: ( ( rule__JvmUpperBound__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2387:1: ( ( rule__JvmUpperBound__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2388:1: ( rule__JvmUpperBound__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmUpperBoundAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2389:1: ( rule__JvmUpperBound__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2389:2: rule__JvmUpperBound__Group__0
+ {
+ pushFollow(FOLLOW_rule__JvmUpperBound__Group__0_in_ruleJvmUpperBound5037);
+ rule__JvmUpperBound__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmUpperBoundAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleJvmUpperBound"
+
+
+ // $ANTLR start "entryRuleJvmUpperBoundAnded"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2401:1: entryRuleJvmUpperBoundAnded : ruleJvmUpperBoundAnded EOF ;
+ public final void entryRuleJvmUpperBoundAnded() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2402:1: ( ruleJvmUpperBoundAnded EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2403:1: ruleJvmUpperBoundAnded EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmUpperBoundAndedRule());
+ }
+ pushFollow(FOLLOW_ruleJvmUpperBoundAnded_in_entryRuleJvmUpperBoundAnded5064);
+ ruleJvmUpperBoundAnded();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmUpperBoundAndedRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJvmUpperBoundAnded5071); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleJvmUpperBoundAnded"
+
+
+ // $ANTLR start "ruleJvmUpperBoundAnded"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2410:1: ruleJvmUpperBoundAnded : ( ( rule__JvmUpperBoundAnded__Group__0 ) ) ;
+ public final void ruleJvmUpperBoundAnded() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2414:2: ( ( ( rule__JvmUpperBoundAnded__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2415:1: ( ( rule__JvmUpperBoundAnded__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2415:1: ( ( rule__JvmUpperBoundAnded__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2416:1: ( rule__JvmUpperBoundAnded__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2417:1: ( rule__JvmUpperBoundAnded__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2417:2: rule__JvmUpperBoundAnded__Group__0
+ {
+ pushFollow(FOLLOW_rule__JvmUpperBoundAnded__Group__0_in_ruleJvmUpperBoundAnded5097);
+ rule__JvmUpperBoundAnded__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleJvmUpperBoundAnded"
+
+
+ // $ANTLR start "entryRuleJvmLowerBound"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2429:1: entryRuleJvmLowerBound : ruleJvmLowerBound EOF ;
+ public final void entryRuleJvmLowerBound() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2430:1: ( ruleJvmLowerBound EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2431:1: ruleJvmLowerBound EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmLowerBoundRule());
+ }
+ pushFollow(FOLLOW_ruleJvmLowerBound_in_entryRuleJvmLowerBound5124);
+ ruleJvmLowerBound();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmLowerBoundRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJvmLowerBound5131); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleJvmLowerBound"
+
+
+ // $ANTLR start "ruleJvmLowerBound"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2438:1: ruleJvmLowerBound : ( ( rule__JvmLowerBound__Group__0 ) ) ;
+ public final void ruleJvmLowerBound() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2442:2: ( ( ( rule__JvmLowerBound__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2443:1: ( ( rule__JvmLowerBound__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2443:1: ( ( rule__JvmLowerBound__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2444:1: ( rule__JvmLowerBound__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmLowerBoundAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2445:1: ( rule__JvmLowerBound__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2445:2: rule__JvmLowerBound__Group__0
+ {
+ pushFollow(FOLLOW_rule__JvmLowerBound__Group__0_in_ruleJvmLowerBound5157);
+ rule__JvmLowerBound__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmLowerBoundAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleJvmLowerBound"
+
+
+ // $ANTLR start "entryRuleJvmLowerBoundAnded"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2457:1: entryRuleJvmLowerBoundAnded : ruleJvmLowerBoundAnded EOF ;
+ public final void entryRuleJvmLowerBoundAnded() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2458:1: ( ruleJvmLowerBoundAnded EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2459:1: ruleJvmLowerBoundAnded EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmLowerBoundAndedRule());
+ }
+ pushFollow(FOLLOW_ruleJvmLowerBoundAnded_in_entryRuleJvmLowerBoundAnded5184);
+ ruleJvmLowerBoundAnded();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmLowerBoundAndedRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJvmLowerBoundAnded5191); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleJvmLowerBoundAnded"
+
+
+ // $ANTLR start "ruleJvmLowerBoundAnded"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2466:1: ruleJvmLowerBoundAnded : ( ( rule__JvmLowerBoundAnded__Group__0 ) ) ;
+ public final void ruleJvmLowerBoundAnded() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2470:2: ( ( ( rule__JvmLowerBoundAnded__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2471:1: ( ( rule__JvmLowerBoundAnded__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2471:1: ( ( rule__JvmLowerBoundAnded__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2472:1: ( rule__JvmLowerBoundAnded__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2473:1: ( rule__JvmLowerBoundAnded__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2473:2: rule__JvmLowerBoundAnded__Group__0
+ {
+ pushFollow(FOLLOW_rule__JvmLowerBoundAnded__Group__0_in_ruleJvmLowerBoundAnded5217);
+ rule__JvmLowerBoundAnded__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleJvmLowerBoundAnded"
+
+
+ // $ANTLR start "entryRuleQualifiedNameWithWildcard"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2487:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ;
+ public final void entryRuleQualifiedNameWithWildcard() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2488:1: ( ruleQualifiedNameWithWildcard EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2489:1: ruleQualifiedNameWithWildcard EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameWithWildcardRule());
+ }
+ pushFollow(FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard5246);
+ ruleQualifiedNameWithWildcard();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameWithWildcardRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard5253); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleQualifiedNameWithWildcard"
+
+
+ // $ANTLR start "ruleQualifiedNameWithWildcard"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2496:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ;
+ public final void ruleQualifiedNameWithWildcard() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2500:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2501:1: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2501:1: ( ( rule__QualifiedNameWithWildcard__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2502:1: ( rule__QualifiedNameWithWildcard__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2503:1: ( rule__QualifiedNameWithWildcard__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2503:2: rule__QualifiedNameWithWildcard__Group__0
+ {
+ pushFollow(FOLLOW_rule__QualifiedNameWithWildcard__Group__0_in_ruleQualifiedNameWithWildcard5279);
+ rule__QualifiedNameWithWildcard__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleQualifiedNameWithWildcard"
+
+
+ // $ANTLR start "entryRuleValidID"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2515:1: entryRuleValidID : ruleValidID EOF ;
+ public final void entryRuleValidID() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2516:1: ( ruleValidID EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2517:1: ruleValidID EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getValidIDRule());
+ }
+ pushFollow(FOLLOW_ruleValidID_in_entryRuleValidID5306);
+ ruleValidID();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getValidIDRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleValidID5313); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleValidID"
+
+
+ // $ANTLR start "ruleValidID"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2524:1: ruleValidID : ( RULE_ID ) ;
+ public final void ruleValidID() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2528:2: ( ( RULE_ID ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2529:1: ( RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2529:1: ( RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2530:1: RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall());
+ }
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleValidID5339); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleValidID"
+
+
+ // $ANTLR start "entryRuleXImportDeclaration"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2545:1: entryRuleXImportDeclaration : ruleXImportDeclaration EOF ;
+ public final void entryRuleXImportDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2546:1: ( ruleXImportDeclaration EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2547:1: ruleXImportDeclaration EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXImportDeclarationRule());
+ }
+ pushFollow(FOLLOW_ruleXImportDeclaration_in_entryRuleXImportDeclaration5367);
+ ruleXImportDeclaration();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXImportDeclarationRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXImportDeclaration5374); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleXImportDeclaration"
+
+
+ // $ANTLR start "ruleXImportDeclaration"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2554:1: ruleXImportDeclaration : ( ( rule__XImportDeclaration__Group__0 ) ) ;
+ public final void ruleXImportDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2558:2: ( ( ( rule__XImportDeclaration__Group__0 ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2559:1: ( ( rule__XImportDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2559:1: ( ( rule__XImportDeclaration__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2560:1: ( rule__XImportDeclaration__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXImportDeclarationAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2561:1: ( rule__XImportDeclaration__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2561:2: rule__XImportDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__XImportDeclaration__Group__0_in_ruleXImportDeclaration5400);
+ rule__XImportDeclaration__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXImportDeclarationAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleXImportDeclaration"
+
+
+ // $ANTLR start "entryRuleQualifiedNameInStaticImport"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2573:1: entryRuleQualifiedNameInStaticImport : ruleQualifiedNameInStaticImport EOF ;
+ public final void entryRuleQualifiedNameInStaticImport() throws RecognitionException {
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2574:1: ( ruleQualifiedNameInStaticImport EOF )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2575:1: ruleQualifiedNameInStaticImport EOF
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameInStaticImportRule());
+ }
+ pushFollow(FOLLOW_ruleQualifiedNameInStaticImport_in_entryRuleQualifiedNameInStaticImport5427);
+ ruleQualifiedNameInStaticImport();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameInStaticImportRule());
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNameInStaticImport5434); if (state.failed) return ;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleQualifiedNameInStaticImport"
+
+
+ // $ANTLR start "ruleQualifiedNameInStaticImport"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2582:1: ruleQualifiedNameInStaticImport : ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) ;
+ public final void ruleQualifiedNameInStaticImport() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2586:2: ( ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2587:1: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2587:1: ( ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2588:1: ( ( rule__QualifiedNameInStaticImport__Group__0 ) ) ( ( rule__QualifiedNameInStaticImport__Group__0 )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2588:1: ( ( rule__QualifiedNameInStaticImport__Group__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2589:1: ( rule__QualifiedNameInStaticImport__Group__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2590:1: ( rule__QualifiedNameInStaticImport__Group__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2590:2: rule__QualifiedNameInStaticImport__Group__0
+ {
+ pushFollow(FOLLOW_rule__QualifiedNameInStaticImport__Group__0_in_ruleQualifiedNameInStaticImport5462);
+ rule__QualifiedNameInStaticImport__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup());
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2593:1: ( ( rule__QualifiedNameInStaticImport__Group__0 )* )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2594:1: ( rule__QualifiedNameInStaticImport__Group__0 )*
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2595:1: ( rule__QualifiedNameInStaticImport__Group__0 )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==RULE_ID) ) {
+ int LA2_2 = input.LA(2);
+
+ if ( (LA2_2==43) ) {
+ alt2=1;
+ }
+
+
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2595:2: rule__QualifiedNameInStaticImport__Group__0
+ {
+ pushFollow(FOLLOW_rule__QualifiedNameInStaticImport__Group__0_in_ruleQualifiedNameInStaticImport5474);
+ rule__QualifiedNameInStaticImport__Group__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup());
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleQualifiedNameInStaticImport"
+
+
+ // $ANTLR start "ruleLayoutingEnum"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2609:1: ruleLayoutingEnum : ( ( rule__LayoutingEnum__Alternatives ) ) ;
+ public final void ruleLayoutingEnum() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2613:1: ( ( ( rule__LayoutingEnum__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2614:1: ( ( rule__LayoutingEnum__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2614:1: ( ( rule__LayoutingEnum__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2615:1: ( rule__LayoutingEnum__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getLayoutingEnumAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2616:1: ( rule__LayoutingEnum__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2616:2: rule__LayoutingEnum__Alternatives
+ {
+ pushFollow(FOLLOW_rule__LayoutingEnum__Alternatives_in_ruleLayoutingEnum5514);
+ rule__LayoutingEnum__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getLayoutingEnumAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleLayoutingEnum"
+
+
+ // $ANTLR start "ruleFocusingEnum"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2628:1: ruleFocusingEnum : ( ( rule__FocusingEnum__Alternatives ) ) ;
+ public final void ruleFocusingEnum() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2632:1: ( ( ( rule__FocusingEnum__Alternatives ) ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2633:1: ( ( rule__FocusingEnum__Alternatives ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2633:1: ( ( rule__FocusingEnum__Alternatives ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2634:1: ( rule__FocusingEnum__Alternatives )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getFocusingEnumAccess().getAlternatives());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2635:1: ( rule__FocusingEnum__Alternatives )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2635:2: rule__FocusingEnum__Alternatives
+ {
+ pushFollow(FOLLOW_rule__FocusingEnum__Alternatives_in_ruleFocusingEnum5550);
+ rule__FocusingEnum__Alternatives();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getFocusingEnumAccess().getAlternatives());
+ }
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleFocusingEnum"
+
+
+ // $ANTLR start "rule__XAnnotation__Alternatives_3_1"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2646:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );
+ public final void rule__XAnnotation__Alternatives_3_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2650:1: ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) )
+ int alt3=2;
+ alt3 = dfa3.predict(input);
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2651:1: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2651:1: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2652:1: ( rule__XAnnotation__Group_3_1_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2653:1: ( rule__XAnnotation__Group_3_1_0__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2653:2: rule__XAnnotation__Group_3_1_0__0
+ {
+ pushFollow(FOLLOW_rule__XAnnotation__Group_3_1_0__0_in_rule__XAnnotation__Alternatives_3_15585);
+ rule__XAnnotation__Group_3_1_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationAccess().getGroup_3_1_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2657:6: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2657:6: ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2658:1: ( rule__XAnnotation__ValueAssignment_3_1_1 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2659:1: ( rule__XAnnotation__ValueAssignment_3_1_1 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2659:2: rule__XAnnotation__ValueAssignment_3_1_1
+ {
+ pushFollow(FOLLOW_rule__XAnnotation__ValueAssignment_3_1_1_in_rule__XAnnotation__Alternatives_3_15603);
+ rule__XAnnotation__ValueAssignment_3_1_1();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__XAnnotation__Alternatives_3_1"
+
+
+ // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2668:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );
+ public final void rule__XAnnotationElementValueOrCommaList__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2672:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) )
+ int alt4=2;
+ alt4 = dfa4.predict(input);
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2673:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2673:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2674:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2675:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2675:2: rule__XAnnotationElementValueOrCommaList__Group_0__0
+ {
+ pushFollow(FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0__0_in_rule__XAnnotationElementValueOrCommaList__Alternatives5636);
+ rule__XAnnotationElementValueOrCommaList__Group_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2679:6: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2679:6: ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2680:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2681:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2681:2: rule__XAnnotationElementValueOrCommaList__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1__0_in_rule__XAnnotationElementValueOrCommaList__Alternatives5654);
+ rule__XAnnotationElementValueOrCommaList__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__XAnnotationElementValueOrCommaList__Alternatives"
+
+
+ // $ANTLR start "rule__XAnnotationElementValue__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2690:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );
+ public final void rule__XAnnotationElementValue__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2694:1: ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) )
+ int alt5=2;
+ alt5 = dfa5.predict(input);
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2695:1: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2695:1: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2696:1: ( rule__XAnnotationElementValue__Group_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2697:1: ( rule__XAnnotationElementValue__Group_0__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2697:2: rule__XAnnotationElementValue__Group_0__0
+ {
+ pushFollow(FOLLOW_rule__XAnnotationElementValue__Group_0__0_in_rule__XAnnotationElementValue__Alternatives5687);
+ rule__XAnnotationElementValue__Group_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValueAccess().getGroup_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2701:6: ( ruleXAnnotationOrExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2701:6: ( ruleXAnnotationOrExpression )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2702:1: ruleXAnnotationOrExpression
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1());
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_rule__XAnnotationElementValue__Alternatives5705);
+ ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__XAnnotationElementValue__Alternatives"
+
+
+ // $ANTLR start "rule__XAnnotationOrExpression__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2712:1: rule__XAnnotationOrExpression__Alternatives : ( ( ruleXAnnotation ) | ( ruleXExpression ) );
+ public final void rule__XAnnotationOrExpression__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2716:1: ( ( ruleXAnnotation ) | ( ruleXExpression ) )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==76) ) {
+ alt6=1;
+ }
+ else if ( ((LA6_0>=RULE_ID && LA6_0<=RULE_STRING)||LA6_0==27||(LA6_0>=34 && LA6_0<=35)||LA6_0==40||(LA6_0>=45 && LA6_0<=50)||LA6_0==60||LA6_0==77||(LA6_0>=81 && LA6_0<=82)||LA6_0==86||LA6_0==88||(LA6_0>=91 && LA6_0<=99)||LA6_0==101||LA6_0==109) ) {
+ alt6=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2717:1: ( ruleXAnnotation )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2717:1: ( ruleXAnnotation )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2718:1: ruleXAnnotation
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0());
+ }
+ pushFollow(FOLLOW_ruleXAnnotation_in_rule__XAnnotationOrExpression__Alternatives5737);
+ ruleXAnnotation();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2723:6: ( ruleXExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2723:6: ( ruleXExpression )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2724:1: ruleXExpression
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1());
+ }
+ pushFollow(FOLLOW_ruleXExpression_in_rule__XAnnotationOrExpression__Alternatives5754);
+ ruleXExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__XAnnotationOrExpression__Alternatives"
+
+
+ // $ANTLR start "rule__XAssignment__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2734:1: rule__XAssignment__Alternatives : ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) );
+ public final void rule__XAssignment__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2738:1: ( ( ( rule__XAssignment__Group_0__0 ) ) | ( ( rule__XAssignment__Group_1__0 ) ) )
+ int alt7=2;
+ switch ( input.LA(1) ) {
+ case RULE_ID:
+ {
+ int LA7_1 = input.LA(2);
+
+ if ( (LA7_1==EOF||(LA7_1>=RULE_ID && LA7_1<=RULE_STRING)||(LA7_1>=14 && LA7_1<=50)||(LA7_1>=60 && LA7_1<=61)||LA7_1==73||(LA7_1>=77 && LA7_1<=102)||(LA7_1>=105 && LA7_1<=106)||(LA7_1>=108 && LA7_1<=109)) ) {
+ alt7=2;
+ }
+ else if ( (LA7_1==13) ) {
+ alt7=1;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 7, 1, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 45:
+ {
+ int LA7_2 = input.LA(2);
+
+ if ( (LA7_2==13) ) {
+ alt7=1;
+ }
+ else if ( (LA7_2==EOF||(LA7_2>=RULE_ID && LA7_2<=RULE_STRING)||(LA7_2>=14 && LA7_2<=50)||(LA7_2>=60 && LA7_2<=61)||LA7_2==73||(LA7_2>=77 && LA7_2<=102)||(LA7_2>=105 && LA7_2<=106)||(LA7_2>=108 && LA7_2<=109)) ) {
+ alt7=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 7, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 46:
+ {
+ int LA7_3 = input.LA(2);
+
+ if ( (LA7_3==EOF||(LA7_3>=RULE_ID && LA7_3<=RULE_STRING)||(LA7_3>=14 && LA7_3<=50)||(LA7_3>=60 && LA7_3<=61)||LA7_3==73||(LA7_3>=77 && LA7_3<=102)||(LA7_3>=105 && LA7_3<=106)||(LA7_3>=108 && LA7_3<=109)) ) {
+ alt7=2;
+ }
+ else if ( (LA7_3==13) ) {
+ alt7=1;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 7, 3, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 47:
+ {
+ int LA7_4 = input.LA(2);
+
+ if ( (LA7_4==13) ) {
+ alt7=1;
+ }
+ else if ( (LA7_4==EOF||(LA7_4>=RULE_ID && LA7_4<=RULE_STRING)||(LA7_4>=14 && LA7_4<=50)||(LA7_4>=60 && LA7_4<=61)||LA7_4==73||(LA7_4>=77 && LA7_4<=102)||(LA7_4>=105 && LA7_4<=106)||(LA7_4>=108 && LA7_4<=109)) ) {
+ alt7=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 7, 4, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 48:
+ {
+ int LA7_5 = input.LA(2);
+
+ if ( (LA7_5==EOF||(LA7_5>=RULE_ID && LA7_5<=RULE_STRING)||(LA7_5>=14 && LA7_5<=50)||(LA7_5>=60 && LA7_5<=61)||LA7_5==73||(LA7_5>=77 && LA7_5<=102)||(LA7_5>=105 && LA7_5<=106)||(LA7_5>=108 && LA7_5<=109)) ) {
+ alt7=2;
+ }
+ else if ( (LA7_5==13) ) {
+ alt7=1;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 7, 5, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case RULE_HEX:
+ case RULE_INT:
+ case RULE_DECIMAL:
+ case RULE_STRING:
+ case 27:
+ case 34:
+ case 35:
+ case 40:
+ case 49:
+ case 50:
+ case 60:
+ case 77:
+ case 81:
+ case 82:
+ case 86:
+ case 88:
+ case 91:
+ case 92:
+ case 93:
+ case 94:
+ case 95:
+ case 96:
+ case 97:
+ case 98:
+ case 99:
+ case 101:
+ case 109:
+ {
+ alt7=2;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 7, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2739:1: ( ( rule__XAssignment__Group_0__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2739:1: ( ( rule__XAssignment__Group_0__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2740:1: ( rule__XAssignment__Group_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAssignmentAccess().getGroup_0());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2741:1: ( rule__XAssignment__Group_0__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2741:2: rule__XAssignment__Group_0__0
+ {
+ pushFollow(FOLLOW_rule__XAssignment__Group_0__0_in_rule__XAssignment__Alternatives5786);
+ rule__XAssignment__Group_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAssignmentAccess().getGroup_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2745:6: ( ( rule__XAssignment__Group_1__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2745:6: ( ( rule__XAssignment__Group_1__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2746:1: ( rule__XAssignment__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXAssignmentAccess().getGroup_1());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2747:1: ( rule__XAssignment__Group_1__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2747:2: rule__XAssignment__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__XAssignment__Group_1__0_in_rule__XAssignment__Alternatives5804);
+ rule__XAssignment__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXAssignmentAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__XAssignment__Alternatives"
+
+
+ // $ANTLR start "rule__OpMultiAssign__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2756:1: rule__OpMultiAssign__Alternatives : ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) );
+ public final void rule__OpMultiAssign__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2760:1: ( ( '+=' ) | ( '-=' ) | ( '*=' ) | ( '/=' ) | ( '%=' ) | ( ( rule__OpMultiAssign__Group_5__0 ) ) | ( ( rule__OpMultiAssign__Group_6__0 ) ) )
+ int alt8=7;
+ switch ( input.LA(1) ) {
+ case 16:
+ {
+ alt8=1;
+ }
+ break;
+ case 17:
+ {
+ alt8=2;
+ }
+ break;
+ case 18:
+ {
+ alt8=3;
+ }
+ break;
+ case 19:
+ {
+ alt8=4;
+ }
+ break;
+ case 20:
+ {
+ alt8=5;
+ }
+ break;
+ case 27:
+ {
+ alt8=6;
+ }
+ break;
+ case 26:
+ {
+ alt8=7;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 8, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2761:1: ( '+=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2761:1: ( '+=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2762:1: '+='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0());
+ }
+ match(input,16,FOLLOW_16_in_rule__OpMultiAssign__Alternatives5838); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2769:6: ( '-=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2769:6: ( '-=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2770:1: '-='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1());
+ }
+ match(input,17,FOLLOW_17_in_rule__OpMultiAssign__Alternatives5858); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2777:6: ( '*=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2777:6: ( '*=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2778:1: '*='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2());
+ }
+ match(input,18,FOLLOW_18_in_rule__OpMultiAssign__Alternatives5878); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2785:6: ( '/=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2785:6: ( '/=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2786:1: '/='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3());
+ }
+ match(input,19,FOLLOW_19_in_rule__OpMultiAssign__Alternatives5898); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2793:6: ( '%=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2793:6: ( '%=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2794:1: '%='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4());
+ }
+ match(input,20,FOLLOW_20_in_rule__OpMultiAssign__Alternatives5918); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4());
+ }
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2801:6: ( ( rule__OpMultiAssign__Group_5__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2801:6: ( ( rule__OpMultiAssign__Group_5__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2802:1: ( rule__OpMultiAssign__Group_5__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAssignAccess().getGroup_5());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2803:1: ( rule__OpMultiAssign__Group_5__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2803:2: rule__OpMultiAssign__Group_5__0
+ {
+ pushFollow(FOLLOW_rule__OpMultiAssign__Group_5__0_in_rule__OpMultiAssign__Alternatives5937);
+ rule__OpMultiAssign__Group_5__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAssignAccess().getGroup_5());
+ }
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2807:6: ( ( rule__OpMultiAssign__Group_6__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2807:6: ( ( rule__OpMultiAssign__Group_6__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2808:1: ( rule__OpMultiAssign__Group_6__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAssignAccess().getGroup_6());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2809:1: ( rule__OpMultiAssign__Group_6__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2809:2: rule__OpMultiAssign__Group_6__0
+ {
+ pushFollow(FOLLOW_rule__OpMultiAssign__Group_6__0_in_rule__OpMultiAssign__Alternatives5955);
+ rule__OpMultiAssign__Group_6__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAssignAccess().getGroup_6());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__OpMultiAssign__Alternatives"
+
+
+ // $ANTLR start "rule__OpEquality__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2818:1: rule__OpEquality__Alternatives : ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) );
+ public final void rule__OpEquality__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2822:1: ( ( '==' ) | ( '!=' ) | ( '===' ) | ( '!==' ) )
+ int alt9=4;
+ switch ( input.LA(1) ) {
+ case 21:
+ {
+ alt9=1;
+ }
+ break;
+ case 22:
+ {
+ alt9=2;
+ }
+ break;
+ case 23:
+ {
+ alt9=3;
+ }
+ break;
+ case 24:
+ {
+ alt9=4;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 9, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2823:1: ( '==' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2823:1: ( '==' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2824:1: '=='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
+ }
+ match(input,21,FOLLOW_21_in_rule__OpEquality__Alternatives5989); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2831:6: ( '!=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2831:6: ( '!=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2832:1: '!='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
+ }
+ match(input,22,FOLLOW_22_in_rule__OpEquality__Alternatives6009); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2839:6: ( '===' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2839:6: ( '===' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2840:1: '==='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
+ }
+ match(input,23,FOLLOW_23_in_rule__OpEquality__Alternatives6029); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2847:6: ( '!==' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2847:6: ( '!==' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2848:1: '!=='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
+ }
+ match(input,24,FOLLOW_24_in_rule__OpEquality__Alternatives6049); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__OpEquality__Alternatives"
+
+
+ // $ANTLR start "rule__XRelationalExpression__Alternatives_1"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2860:1: rule__XRelationalExpression__Alternatives_1 : ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) );
+ public final void rule__XRelationalExpression__Alternatives_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2864:1: ( ( ( rule__XRelationalExpression__Group_1_0__0 ) ) | ( ( rule__XRelationalExpression__Group_1_1__0 ) ) )
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==83) ) {
+ alt10=1;
+ }
+ else if ( ((LA10_0>=25 && LA10_0<=27)) ) {
+ alt10=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 10, 0, input);
+
+ throw nvae;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2865:1: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2865:1: ( ( rule__XRelationalExpression__Group_1_0__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2866:1: ( rule__XRelationalExpression__Group_1_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2867:1: ( rule__XRelationalExpression__Group_1_0__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2867:2: rule__XRelationalExpression__Group_1_0__0
+ {
+ pushFollow(FOLLOW_rule__XRelationalExpression__Group_1_0__0_in_rule__XRelationalExpression__Alternatives_16083);
+ rule__XRelationalExpression__Group_1_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2871:6: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2871:6: ( ( rule__XRelationalExpression__Group_1_1__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2872:1: ( rule__XRelationalExpression__Group_1_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2873:1: ( rule__XRelationalExpression__Group_1_1__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2873:2: rule__XRelationalExpression__Group_1_1__0
+ {
+ pushFollow(FOLLOW_rule__XRelationalExpression__Group_1_1__0_in_rule__XRelationalExpression__Alternatives_16101);
+ rule__XRelationalExpression__Group_1_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__XRelationalExpression__Alternatives_1"
+
+
+ // $ANTLR start "rule__OpCompare__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2882:1: rule__OpCompare__Alternatives : ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) );
+ public final void rule__OpCompare__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2886:1: ( ( '>=' ) | ( ( rule__OpCompare__Group_1__0 ) ) | ( '>' ) | ( '<' ) )
+ int alt11=4;
+ switch ( input.LA(1) ) {
+ case 25:
+ {
+ alt11=1;
+ }
+ break;
+ case 27:
+ {
+ int LA11_2 = input.LA(2);
+
+ if ( (LA11_2==13) ) {
+ alt11=2;
+ }
+ else if ( (LA11_2==EOF||(LA11_2>=RULE_ID && LA11_2<=RULE_STRING)||LA11_2==27||(LA11_2>=34 && LA11_2<=35)||LA11_2==40||(LA11_2>=45 && LA11_2<=50)||LA11_2==60||LA11_2==77||(LA11_2>=81 && LA11_2<=82)||LA11_2==86||LA11_2==88||(LA11_2>=91 && LA11_2<=99)||LA11_2==101||LA11_2==109) ) {
+ alt11=4;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 11, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 26:
+ {
+ alt11=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 11, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2887:1: ( '>=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2887:1: ( '>=' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2888:1: '>='
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
+ }
+ match(input,25,FOLLOW_25_in_rule__OpCompare__Alternatives6135); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2895:6: ( ( rule__OpCompare__Group_1__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2895:6: ( ( rule__OpCompare__Group_1__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2896:1: ( rule__OpCompare__Group_1__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpCompareAccess().getGroup_1());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2897:1: ( rule__OpCompare__Group_1__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2897:2: rule__OpCompare__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__OpCompare__Group_1__0_in_rule__OpCompare__Alternatives6154);
+ rule__OpCompare__Group_1__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpCompareAccess().getGroup_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2901:6: ( '>' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2901:6: ( '>' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2902:1: '>'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
+ }
+ match(input,26,FOLLOW_26_in_rule__OpCompare__Alternatives6173); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2909:6: ( '<' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2909:6: ( '<' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2910:1: '<'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
+ }
+ match(input,27,FOLLOW_27_in_rule__OpCompare__Alternatives6193); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__OpCompare__Alternatives"
+
+
+ // $ANTLR start "rule__OpOther__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2922:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );
+ public final void rule__OpOther__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2926:1: ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) )
+ int alt12=9;
+ alt12 = dfa12.predict(input);
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2927:1: ( '->' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2927:1: ( '->' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2928:1: '->'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
+ }
+ match(input,28,FOLLOW_28_in_rule__OpOther__Alternatives6228); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2935:6: ( '..<' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2935:6: ( '..<' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2936:1: '..<'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
+ }
+ match(input,29,FOLLOW_29_in_rule__OpOther__Alternatives6248); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2943:6: ( ( rule__OpOther__Group_2__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2943:6: ( ( rule__OpOther__Group_2__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2944:1: ( rule__OpOther__Group_2__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getGroup_2());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2945:1: ( rule__OpOther__Group_2__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2945:2: rule__OpOther__Group_2__0
+ {
+ pushFollow(FOLLOW_rule__OpOther__Group_2__0_in_rule__OpOther__Alternatives6267);
+ rule__OpOther__Group_2__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getGroup_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2949:6: ( '..' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2949:6: ( '..' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2950:1: '..'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
+ }
+ match(input,30,FOLLOW_30_in_rule__OpOther__Alternatives6286); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2957:6: ( '=>' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2957:6: ( '=>' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2958:1: '=>'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
+ }
+ match(input,31,FOLLOW_31_in_rule__OpOther__Alternatives6306); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
+ }
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2965:6: ( ( rule__OpOther__Group_5__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2965:6: ( ( rule__OpOther__Group_5__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2966:1: ( rule__OpOther__Group_5__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getGroup_5());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2967:1: ( rule__OpOther__Group_5__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2967:2: rule__OpOther__Group_5__0
+ {
+ pushFollow(FOLLOW_rule__OpOther__Group_5__0_in_rule__OpOther__Alternatives6325);
+ rule__OpOther__Group_5__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getGroup_5());
+ }
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2971:6: ( ( rule__OpOther__Group_6__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2971:6: ( ( rule__OpOther__Group_6__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2972:1: ( rule__OpOther__Group_6__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getGroup_6());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2973:1: ( rule__OpOther__Group_6__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2973:2: rule__OpOther__Group_6__0
+ {
+ pushFollow(FOLLOW_rule__OpOther__Group_6__0_in_rule__OpOther__Alternatives6343);
+ rule__OpOther__Group_6__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getGroup_6());
+ }
+
+ }
+
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2977:6: ( '<>' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2977:6: ( '<>' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2978:1: '<>'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
+ }
+ match(input,32,FOLLOW_32_in_rule__OpOther__Alternatives6362); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
+ }
+
+ }
+
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2985:6: ( '?:' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2985:6: ( '?:' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2986:1: '?:'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8());
+ }
+ match(input,33,FOLLOW_33_in_rule__OpOther__Alternatives6382); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__OpOther__Alternatives"
+
+
+ // $ANTLR start "rule__OpOther__Alternatives_5_1"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:2998:1: rule__OpOther__Alternatives_5_1 : ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) );
+ public final void rule__OpOther__Alternatives_5_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3002:1: ( ( ( rule__OpOther__Group_5_1_0__0 ) ) | ( '>' ) )
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==26) ) {
+ int LA13_1 = input.LA(2);
+
+ if ( (LA13_1==26) ) {
+ alt13=1;
+ }
+ else if ( (LA13_1==EOF||(LA13_1>=RULE_ID && LA13_1<=RULE_STRING)||LA13_1==27||(LA13_1>=34 && LA13_1<=35)||LA13_1==40||(LA13_1>=45 && LA13_1<=50)||LA13_1==60||LA13_1==77||(LA13_1>=81 && LA13_1<=82)||LA13_1==86||LA13_1==88||(LA13_1>=91 && LA13_1<=99)||LA13_1==101||LA13_1==109) ) {
+ alt13=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 13, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 13, 0, input);
+
+ throw nvae;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3003:1: ( ( rule__OpOther__Group_5_1_0__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3003:1: ( ( rule__OpOther__Group_5_1_0__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3004:1: ( rule__OpOther__Group_5_1_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getGroup_5_1_0());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3005:1: ( rule__OpOther__Group_5_1_0__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3005:2: rule__OpOther__Group_5_1_0__0
+ {
+ pushFollow(FOLLOW_rule__OpOther__Group_5_1_0__0_in_rule__OpOther__Alternatives_5_16416);
+ rule__OpOther__Group_5_1_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getGroup_5_1_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3009:6: ( '>' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3009:6: ( '>' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3010:1: '>'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1());
+ }
+ match(input,26,FOLLOW_26_in_rule__OpOther__Alternatives_5_16435); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__OpOther__Alternatives_5_1"
+
+
+ // $ANTLR start "rule__OpOther__Alternatives_6_1"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3022:1: rule__OpOther__Alternatives_6_1 : ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) );
+ public final void rule__OpOther__Alternatives_6_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3026:1: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) | ( '<' ) | ( '=>' ) )
+ int alt14=3;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0==27) ) {
+ int LA14_1 = input.LA(2);
+
+ if ( (synpred30_InternalStrategyDSL()) ) {
+ alt14=1;
+ }
+ else if ( (synpred31_InternalStrategyDSL()) ) {
+ alt14=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 14, 1, input);
+
+ throw nvae;
+ }
+ }
+ else if ( (LA14_0==31) ) {
+ alt14=3;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 14, 0, input);
+
+ throw nvae;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3027:1: ( ( rule__OpOther__Group_6_1_0__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3027:1: ( ( rule__OpOther__Group_6_1_0__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3028:1: ( rule__OpOther__Group_6_1_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getGroup_6_1_0());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3029:1: ( rule__OpOther__Group_6_1_0__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3029:2: rule__OpOther__Group_6_1_0__0
+ {
+ pushFollow(FOLLOW_rule__OpOther__Group_6_1_0__0_in_rule__OpOther__Alternatives_6_16469);
+ rule__OpOther__Group_6_1_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getGroup_6_1_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3033:6: ( '<' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3033:6: ( '<' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3034:1: '<'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1());
+ }
+ match(input,27,FOLLOW_27_in_rule__OpOther__Alternatives_6_16488); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3041:6: ( '=>' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3041:6: ( '=>' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3042:1: '=>'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2());
+ }
+ match(input,31,FOLLOW_31_in_rule__OpOther__Alternatives_6_16508); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__OpOther__Alternatives_6_1"
+
+
+ // $ANTLR start "rule__OpAdd__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3054:1: rule__OpAdd__Alternatives : ( ( '+' ) | ( '-' ) );
+ public final void rule__OpAdd__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3058:1: ( ( '+' ) | ( '-' ) )
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==34) ) {
+ alt15=1;
+ }
+ else if ( (LA15_0==35) ) {
+ alt15=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 0, input);
+
+ throw nvae;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3059:1: ( '+' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3059:1: ( '+' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3060:1: '+'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
+ }
+ match(input,34,FOLLOW_34_in_rule__OpAdd__Alternatives6543); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3067:6: ( '-' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3067:6: ( '-' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3068:1: '-'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
+ }
+ match(input,35,FOLLOW_35_in_rule__OpAdd__Alternatives6563); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__OpAdd__Alternatives"
+
+
+ // $ANTLR start "rule__OpMulti__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3080:1: rule__OpMulti__Alternatives : ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) );
+ public final void rule__OpMulti__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3084:1: ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) )
+ int alt16=4;
+ switch ( input.LA(1) ) {
+ case 36:
+ {
+ alt16=1;
+ }
+ break;
+ case 37:
+ {
+ alt16=2;
+ }
+ break;
+ case 38:
+ {
+ alt16=3;
+ }
+ break;
+ case 39:
+ {
+ alt16=4;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3085:1: ( '*' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3085:1: ( '*' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3086:1: '*'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0());
+ }
+ match(input,36,FOLLOW_36_in_rule__OpMulti__Alternatives6598); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3093:6: ( '**' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3093:6: ( '**' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3094:1: '**'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1());
+ }
+ match(input,37,FOLLOW_37_in_rule__OpMulti__Alternatives6618); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3101:6: ( '/' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3101:6: ( '/' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3102:1: '/'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2());
+ }
+ match(input,38,FOLLOW_38_in_rule__OpMulti__Alternatives6638); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2());
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3109:6: ( '%' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3109:6: ( '%' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3110:1: '%'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3());
+ }
+ match(input,39,FOLLOW_39_in_rule__OpMulti__Alternatives6658); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__OpMulti__Alternatives"
+
+
+ // $ANTLR start "rule__XUnaryOperation__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3122:1: rule__XUnaryOperation__Alternatives : ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) );
+ public final void rule__XUnaryOperation__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3126:1: ( ( ( rule__XUnaryOperation__Group_0__0 ) ) | ( ruleXCastedExpression ) )
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( ((LA17_0>=34 && LA17_0<=35)||LA17_0==40) ) {
+ alt17=1;
+ }
+ else if ( ((LA17_0>=RULE_ID && LA17_0<=RULE_STRING)||LA17_0==27||(LA17_0>=45 && LA17_0<=50)||LA17_0==60||LA17_0==77||(LA17_0>=81 && LA17_0<=82)||LA17_0==86||LA17_0==88||(LA17_0>=91 && LA17_0<=99)||LA17_0==101||LA17_0==109) ) {
+ alt17=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 17, 0, input);
+
+ throw nvae;
+ }
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3127:1: ( ( rule__XUnaryOperation__Group_0__0 ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3127:1: ( ( rule__XUnaryOperation__Group_0__0 ) )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3128:1: ( rule__XUnaryOperation__Group_0__0 )
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXUnaryOperationAccess().getGroup_0());
+ }
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3129:1: ( rule__XUnaryOperation__Group_0__0 )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3129:2: rule__XUnaryOperation__Group_0__0
+ {
+ pushFollow(FOLLOW_rule__XUnaryOperation__Group_0__0_in_rule__XUnaryOperation__Alternatives6692);
+ rule__XUnaryOperation__Group_0__0();
+
+ state._fsp--;
+ if (state.failed) return ;
+
+ }
+
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXUnaryOperationAccess().getGroup_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3133:6: ( ruleXCastedExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3133:6: ( ruleXCastedExpression )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3134:1: ruleXCastedExpression
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1());
+ }
+ pushFollow(FOLLOW_ruleXCastedExpression_in_rule__XUnaryOperation__Alternatives6710);
+ ruleXCastedExpression();
+
+ state._fsp--;
+ if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__XUnaryOperation__Alternatives"
+
+
+ // $ANTLR start "rule__OpUnary__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3144:1: rule__OpUnary__Alternatives : ( ( '!' ) | ( '-' ) | ( '+' ) );
+ public final void rule__OpUnary__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3148:1: ( ( '!' ) | ( '-' ) | ( '+' ) )
+ int alt18=3;
+ switch ( input.LA(1) ) {
+ case 40:
+ {
+ alt18=1;
+ }
+ break;
+ case 35:
+ {
+ alt18=2;
+ }
+ break;
+ case 34:
+ {
+ alt18=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return ;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 18, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3149:1: ( '!' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3149:1: ( '!' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3150:1: '!'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0());
+ }
+ match(input,40,FOLLOW_40_in_rule__OpUnary__Alternatives6743); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0());
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3157:6: ( '-' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3157:6: ( '-' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3158:1: '-'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1());
+ }
+ match(input,35,FOLLOW_35_in_rule__OpUnary__Alternatives6763); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1());
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3165:6: ( '+' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3165:6: ( '+' )
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3166:1: '+'
+ {
+ if ( state.backtracking==0 ) {
+ before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2());
+ }
+ match(input,34,FOLLOW_34_in_rule__OpUnary__Alternatives6783); if (state.failed) return ;
+ if ( state.backtracking==0 ) {
+ after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2());
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__OpUnary__Alternatives"
+
+
+ // $ANTLR start "rule__OpPostfix__Alternatives"
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3178:1: rule__OpPostfix__Alternatives : ( ( '++' ) | ( '--' ) );
+ public final void rule__OpPostfix__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/antlr/internal/InternalStrategyDSL.g:3182:1: ( ( '++' ) | ( '--' ) )
+ int alt19=2;
+ int LA19_0 = input.LA(1);
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/internal/StrategyDSLActivator.java b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/internal/StrategyDSLActivator.java
new file mode 100644
index 0000000..d49e484
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src-gen/org/eclipse/osbp/xtext/strategy/ui/internal/StrategyDSLActivator.java
@@ -0,0 +1,105 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.ui.internal;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.shared.SharedStateModule;
+import org.eclipse.xtext.util.Modules2;
+import org.osgi.framework.BundleContext;
+
+import com.google.common.collect.Maps;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class StrategyDSLActivator extends AbstractUIPlugin {
+
+ public static final String ORG_ECLIPSE_OSBP_XTEXT_STRATEGY_STRATEGYDSL = "org.eclipse.osbp.xtext.strategy.StrategyDSL";
+
+ private static final Logger logger = Logger.getLogger(StrategyDSLActivator.class);
+
+ private static StrategyDSLActivator INSTANCE;
+
+ private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ INSTANCE = this;
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ injectors.clear();
+ INSTANCE = null;
+ super.stop(context);
+ }
+
+ public static StrategyDSLActivator getInstance() {
+ return INSTANCE;
+ }
+
+ public Injector getInjector(String language) {
+ synchronized (injectors) {
+ Injector injector = injectors.get(language);
+ if (injector == null) {
+ injectors.put(language, injector = createInjector(language));
+ }
+ return injector;
+ }
+ }
+
+ protected Injector createInjector(String language) {
+ try {
+ Module runtimeModule = getRuntimeModule(language);
+ Module sharedStateModule = getSharedStateModule();
+ Module uiModule = getUiModule(language);
+ Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
+ return Guice.createInjector(mergedModule);
+ } catch (Exception e) {
+ logger.error("Failed to create injector for " + language);
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException("Failed to create injector for " + language, e);
+ }
+ }
+
+ protected Module getRuntimeModule(String grammar) {
+ if (ORG_ECLIPSE_OSBP_XTEXT_STRATEGY_STRATEGYDSL.equals(grammar)) {
+ return new org.eclipse.osbp.xtext.strategy.StrategyDSLRuntimeModule();
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getUiModule(String grammar) {
+ if (ORG_ECLIPSE_OSBP_XTEXT_STRATEGY_STRATEGYDSL.equals(grammar)) {
+ return new org.eclipse.osbp.xtext.strategy.ui.StrategyDSLUiModule(this);
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getSharedStateModule() {
+ return new SharedStateModule();
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLDocumentationTranslator.java b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLDocumentationTranslator.java
new file mode 100644
index 0000000..d61c133
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLDocumentationTranslator.java
@@ -0,0 +1,46 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.ui;
+
+import java.util.ResourceBundle;
+
+import org.eclipse.osbp.utils.constants.GeneratorConstants;
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLDocumentationTranslator;
+
+/**
+ * The Class DatamartDSLDocumentationTranslator.
+ */
+public class StrategyDSLDocumentationTranslator extends BasicDSLDocumentationTranslator {
+
+ /** The instance. */
+ private static StrategyDSLDocumentationTranslator INSTANCE = new StrategyDSLDocumentationTranslator();
+
+ /**
+ * Instance.
+ *
+ * @return the basic dsl documentation translator
+ */
+ public static BasicDSLDocumentationTranslator instance() {
+ return INSTANCE;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osbp.xtext.basic.ui.BasicDSLDocumentationTranslator#getResourceBundle()
+ */
+ @Override
+ protected ResourceBundle getResourceBundle() {
+ return java.util.ResourceBundle.getBundle(GeneratorConstants.I18N_RESOURCE_FULL_BUNDLE_NAME, getLocale(), getClass().getClassLoader());
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHover.java b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHover.java
new file mode 100644
index 0000000..a3de5ad
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHover.java
@@ -0,0 +1,33 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.ui;
+
+import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider;
+
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLEObjectHover;
+
+/**
+ * The Class DatamartDSLEObjectHover.
+ */
+public class StrategyDSLEObjectHover extends BasicDSLEObjectHover {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osbp.xtext.basic.ui.BasicDSLEObjectHover#getHoverProvider()
+ */
+ @Override
+ public IEObjectHoverProvider getHoverProvider() {
+ return StrategyDSLEObjectHoverProvider.instance();
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHoverDocumentationProvider.java b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHoverDocumentationProvider.java
new file mode 100644
index 0000000..ec0a3a4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHoverDocumentationProvider.java
@@ -0,0 +1,50 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.ui;
+
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLDocumentationTranslator;
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLEObjectHoverDocumentationProvider;
+
+/**
+ * The Class DatamartDSLEObjectHoverDocumentationProvider.
+ */
+public class StrategyDSLEObjectHoverDocumentationProvider extends BasicDSLEObjectHoverDocumentationProvider {
+
+ /** The instance. */
+ private static StrategyDSLEObjectHoverDocumentationProvider INSTANCE;
+
+ /** Instance.
+ *
+ * @return the datamart dsle object hover documentation provider
+ */
+ public static StrategyDSLEObjectHoverDocumentationProvider instance() {
+ return INSTANCE;
+ }
+
+ /** Instantiates a new datamart dsle object hover documentation provider.
+ */
+ public StrategyDSLEObjectHoverDocumentationProvider() {
+ super();
+ INSTANCE = this;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osbp.xtext.basic.ui.BasicDSLEObjectHoverDocumentationProvider#getTranslator()
+ */
+ @Override
+ protected BasicDSLDocumentationTranslator getTranslator() {
+ return StrategyDSLDocumentationTranslator.instance();
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHoverProvider.java b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHoverProvider.java
new file mode 100644
index 0000000..1501066
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLEObjectHoverProvider.java
@@ -0,0 +1,51 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.ui;
+
+import org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider;
+
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLEObjectHoverProvider;
+
+/**
+ * The Class DatamartDSLEObjectHoverProvider.
+ */
+public class StrategyDSLEObjectHoverProvider extends BasicDSLEObjectHoverProvider {
+
+ /** The instance. */
+ private static StrategyDSLEObjectHoverProvider INSTANCE;
+
+ /** Instance.
+ *
+ * @return the datamart dsle object hover provider
+ */
+ public static StrategyDSLEObjectHoverProvider instance() {
+ return INSTANCE;
+ }
+
+ /** Instantiates a new datamart dsle object hover provider.
+ */
+ public StrategyDSLEObjectHoverProvider() {
+ super();
+ INSTANCE = this;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osbp.xtext.basic.ui.BasicDSLEObjectHoverProvider#getDocumentationHoverProvider()
+ */
+ @Override
+ public IEObjectHoverDocumentationProvider getDocumentationHoverProvider() {
+ return StrategyDSLEObjectHoverDocumentationProvider.instance();
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLUiModule.java b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLUiModule.java
new file mode 100644
index 0000000..190b5e0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/StrategyDSLUiModule.java
@@ -0,0 +1,58 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.ui;
+
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLUiModuleHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.editor.hover.IEObjectHover;
+import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider;
+import org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Use this class to register components to be used within the IDE.
+ */
+public class StrategyDSLUiModule extends
+ org.eclipse.osbp.xtext.strategy.ui.AbstractStrategyDSLUiModule {
+ /** The logger. */
+ private static Logger LOGGER = LoggerFactory
+ .getLogger(StrategyDSLUiModule.class);
+
+ /**
+ * Instantiates a new strategy DSL ui module.
+ *
+ * @param plugin
+ * the plugin
+ */
+ public StrategyDSLUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ BasicDSLUiModuleHelper.unitTestTemplates(plugin, LOGGER);
+ }
+
+ @Override
+ public Class<? extends IEObjectHover> bindIEObjectHover() {
+ return StrategyDSLEObjectHover.class;
+ }
+
+ @Override
+ public Class<? extends IEObjectHoverProvider> bindIEObjectHoverProvider() {
+ return StrategyDSLEObjectHoverProvider.class;
+ }
+
+ @Override
+ public Class<? extends IEObjectHoverDocumentationProvider> bindIEObjectHoverDocumentationProvider() {
+ return StrategyDSLEObjectHoverDocumentationProvider.class;
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/contentassist/StrategyDSLProposalProvider.xtend b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/contentassist/StrategyDSLProposalProvider.xtend
new file mode 100644
index 0000000..05f8ea9
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/contentassist/StrategyDSLProposalProvider.xtend
@@ -0,0 +1,54 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.ui.contentassist
+
+import com.google.inject.Inject
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.osbp.xtext.basic.ui.contentassist.BasicDSLProposalProviderHelper
+import org.eclipse.xtext.Keyword
+import org.eclipse.xtext.RuleCall
+import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor
+
+/**
+ * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant
+ */
+class StrategyDSLProposalProvider extends AbstractStrategyDSLProposalProvider {
+ @Inject TerminalsProposalProvider provider
+ @Inject BasicDSLProposalProviderHelper providerHelper
+
+ /**
+ * This override will enable 1 length non letter characters as keyword.
+ */
+ override protected boolean isKeywordWorthyToPropose(Keyword keyword) {
+ true
+ }
+
+ override public void complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context,
+ ICompletionProposalAcceptor acceptor) {
+ providerHelper.complete_PackageName(model, ruleCall, context, acceptor, this)
+ }
+
+ // ------------------------ delegates to TerminalsProposalProvider -----------------
+ override public void complete_ID(EObject model, RuleCall ruleCall, ContentAssistContext context,
+ ICompletionProposalAcceptor acceptor) {
+ provider.complete_ID(model, ruleCall, context, acceptor)
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLDescriptionLabelProvider.xtend b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLDescriptionLabelProvider.xtend
new file mode 100644
index 0000000..7b383e5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLDescriptionLabelProvider.xtend
@@ -0,0 +1,38 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.ui.labeling
+
+//import org.eclipse.xtext.resource.IEObjectDescription
+
+/**
+ * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+class StrategyDSLDescriptionLabelProvider extends org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider {
+
+ // Labels and icons can be computed like this:
+
+// override text(IEObjectDescription ele) {
+// ele.name.toString
+// }
+//
+// override image(IEObjectDescription ele) {
+// ele.EClass.name + '.gif'
+// }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLLabelProvider.xtend b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLLabelProvider.xtend
new file mode 100644
index 0000000..0df4cab
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLLabelProvider.xtend
@@ -0,0 +1,73 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.ui.labeling
+
+import com.google.inject.Inject
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy
+import org.eclipse.osbp.xtext.strategy.StrategyTarget
+import org.eclipse.osbp.xtext.strategy.Strategy
+import org.eclipse.osbp.xtext.strategy.StrategyDefault
+import org.eclipse.osbp.xtext.strategy.StrategyModel
+import org.eclipse.osbp.xtext.strategy.StrategyPackage
+import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
+import org.eclipse.osbp.xtext.basic.ui.labeling.BasicDSLLabelProvider
+
+/**
+ * Provides labels for a EObjects.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+class StrategyDSLLabelProvider extends BasicDSLLabelProvider {
+
+ @Inject
+ new(AdapterFactoryLabelProvider delegate) {
+ super(delegate);
+ }
+
+ // Labels and icons can be computed like this:
+
+ override text ( Object o ) {
+ switch (o) {
+ StrategyPackage : generateText( o, 'package' , (o as StrategyPackage ).name )
+ Strategy : generateText( o, 'strategy model' )
+ StrategyTarget : generateText( o, 'strategies' )
+ LayoutingStrategy : generateText( o, 'layoutingStrategy', (o as LayoutingStrategy).name )
+ FocusingStrategy : generateText( o, 'focusingStrategy' , (o as FocusingStrategy).name )
+ FocusingEnhancer : generateText( o, 'focusingEnhancer' , (o as FocusingEnhancer).name )
+ StrategyDefault : generateText( o, 'default' )
+ default : super.text( o )
+ }
+ }
+
+ override image ( Object o ) {
+ switch (o) {
+ StrategyModel : getInternalImage( 'model.png', class)
+ StrategyPackage : getInternalImage( 'package.gif', class)
+ Strategy : getInternalImage( 'dsl_strategy.png', class)
+ StrategyTarget : getInternalImage( 'strategies.png', class)
+ LayoutingStrategy : getInternalImage( 'layout.png', class)
+ FocusingStrategy : getInternalImage( 'focus.png', class)
+ FocusingEnhancer : getInternalImage( 'focus-enhance.png', class)
+ StrategyDefault : getInternalImage( 'strategy-default.png', class)
+ default : super.image( o )
+ }
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/outline/StrategyDSLOutlineTreeProvider.xtend b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/outline/StrategyDSLOutlineTreeProvider.xtend
new file mode 100644
index 0000000..4fe8085
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/outline/StrategyDSLOutlineTreeProvider.xtend
@@ -0,0 +1,27 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.ui.outline
+
+/**
+ * Customization of the default outline structure.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#outline
+ */
+class StrategyDSLOutlineTreeProvider extends org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider {
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/quickfix/StrategyDSLQuickfixProvider.xtend b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/quickfix/StrategyDSLQuickfixProvider.xtend
new file mode 100644
index 0000000..bd794ed
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/src/org/eclipse/osbp/xtext/strategy/ui/quickfix/StrategyDSLQuickfixProvider.xtend
@@ -0,0 +1,40 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.ui.quickfix
+
+//import org.eclipse.xtext.ui.editor.quickfix.Fix
+//import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
+//import org.eclipse.xtext.validation.Issue
+
+/**
+ * Custom quickfixes.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ */
+class StrategyDSLQuickfixProvider extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider {
+
+// @Fix(MyDslValidator::INVALID_NAME)
+// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
+// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
+// context |
+// val xtextDocument = context.xtextDocument
+// val firstLetter = xtextDocument.get(issue.offset, 1)
+// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
+// ]
+// }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/StrategyDSLProposalProvider.java b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/StrategyDSLProposalProvider.java
new file mode 100644
index 0000000..0cec769
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/contentassist/StrategyDSLProposalProvider.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.ui.contentassist;
+
+import com.google.inject.Inject;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.xtext.basic.ui.contentassist.BasicDSLProposalProviderHelper;
+import org.eclipse.osbp.xtext.strategy.ui.contentassist.AbstractStrategyDSLProposalProvider;
+import org.eclipse.xtext.Keyword;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+
+/**
+ * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant
+ */
+@SuppressWarnings("all")
+public class StrategyDSLProposalProvider extends AbstractStrategyDSLProposalProvider {
+ @Inject
+ private TerminalsProposalProvider provider;
+
+ @Inject
+ private BasicDSLProposalProviderHelper providerHelper;
+
+ /**
+ * This override will enable 1 length non letter characters as keyword.
+ */
+ protected boolean isKeywordWorthyToPropose(final Keyword keyword) {
+ return true;
+ }
+
+ public void complete_QualifiedName(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+ this.providerHelper.complete_PackageName(model, ruleCall, context, acceptor, this);
+ }
+
+ public void complete_ID(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+ this.provider.complete_ID(model, ruleCall, context, acceptor);
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLDescriptionLabelProvider.java b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLDescriptionLabelProvider.java
new file mode 100644
index 0000000..8be81f5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLDescriptionLabelProvider.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.ui.labeling;
+
+import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
+
+/**
+ * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+@SuppressWarnings("all")
+public class StrategyDSLDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLLabelProvider.java b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLLabelProvider.java
new file mode 100644
index 0000000..a396d1b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/labeling/StrategyDSLLabelProvider.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.ui.labeling;
+
+import com.google.inject.Inject;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.osbp.xtext.basic.ui.labeling.BasicDSLLabelProvider;
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer;
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy;
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy;
+import org.eclipse.osbp.xtext.strategy.Strategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDefault;
+import org.eclipse.osbp.xtext.strategy.StrategyModel;
+import org.eclipse.osbp.xtext.strategy.StrategyPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyTarget;
+
+/**
+ * Provides labels for a EObjects.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+@SuppressWarnings("all")
+public class StrategyDSLLabelProvider extends BasicDSLLabelProvider {
+ @Inject
+ public StrategyDSLLabelProvider(final AdapterFactoryLabelProvider delegate) {
+ super(delegate);
+ }
+
+ public Object text(final Object o) {
+ Object _switchResult = null;
+ boolean _matched = false;
+ if (!_matched) {
+ if (o instanceof StrategyPackage) {
+ _matched=true;
+ String _name = ((StrategyPackage) o).getName();
+ _switchResult = this.generateText(o, "package", _name);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof Strategy) {
+ _matched=true;
+ _switchResult = this.generateText(o, "strategy model");
+ }
+ }
+ if (!_matched) {
+ if (o instanceof StrategyTarget) {
+ _matched=true;
+ _switchResult = this.generateText(o, "strategies");
+ }
+ }
+ if (!_matched) {
+ if (o instanceof LayoutingStrategy) {
+ _matched=true;
+ String _name = ((LayoutingStrategy) o).getName();
+ _switchResult = this.generateText(o, "layoutingStrategy", _name);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof FocusingStrategy) {
+ _matched=true;
+ String _name = ((FocusingStrategy) o).getName();
+ _switchResult = this.generateText(o, "focusingStrategy", _name);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof FocusingEnhancer) {
+ _matched=true;
+ String _name = ((FocusingEnhancer) o).getName();
+ _switchResult = this.generateText(o, "focusingEnhancer", _name);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof StrategyDefault) {
+ _matched=true;
+ _switchResult = this.generateText(o, "default");
+ }
+ }
+ if (!_matched) {
+ _switchResult = super.text(o);
+ }
+ return _switchResult;
+ }
+
+ public Object image(final Object o) {
+ Object _switchResult = null;
+ boolean _matched = false;
+ if (!_matched) {
+ if (o instanceof StrategyModel) {
+ _matched=true;
+ Class<? extends StrategyDSLLabelProvider> _class = this.getClass();
+ _switchResult = this.getInternalImage("model.png", _class);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof StrategyPackage) {
+ _matched=true;
+ Class<? extends StrategyDSLLabelProvider> _class = this.getClass();
+ _switchResult = this.getInternalImage("package.gif", _class);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof Strategy) {
+ _matched=true;
+ Class<? extends StrategyDSLLabelProvider> _class = this.getClass();
+ _switchResult = this.getInternalImage("dsl_strategy.png", _class);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof StrategyTarget) {
+ _matched=true;
+ Class<? extends StrategyDSLLabelProvider> _class = this.getClass();
+ _switchResult = this.getInternalImage("strategies.png", _class);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof LayoutingStrategy) {
+ _matched=true;
+ Class<? extends StrategyDSLLabelProvider> _class = this.getClass();
+ _switchResult = this.getInternalImage("layout.png", _class);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof FocusingStrategy) {
+ _matched=true;
+ Class<? extends StrategyDSLLabelProvider> _class = this.getClass();
+ _switchResult = this.getInternalImage("focus.png", _class);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof FocusingEnhancer) {
+ _matched=true;
+ Class<? extends StrategyDSLLabelProvider> _class = this.getClass();
+ _switchResult = this.getInternalImage("focus-enhance.png", _class);
+ }
+ }
+ if (!_matched) {
+ if (o instanceof StrategyDefault) {
+ _matched=true;
+ Class<? extends StrategyDSLLabelProvider> _class = this.getClass();
+ _switchResult = this.getInternalImage("strategy-default.png", _class);
+ }
+ }
+ if (!_matched) {
+ _switchResult = super.image(o);
+ }
+ return _switchResult;
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/outline/StrategyDSLOutlineTreeProvider.java b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/outline/StrategyDSLOutlineTreeProvider.java
new file mode 100644
index 0000000..400dc27
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/outline/StrategyDSLOutlineTreeProvider.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.ui.outline;
+
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
+
+/**
+ * Customization of the default outline structure.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#outline
+ */
+@SuppressWarnings("all")
+public class StrategyDSLOutlineTreeProvider extends DefaultOutlineTreeProvider {
+}
diff --git a/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/quickfix/StrategyDSLQuickfixProvider.java b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/quickfix/StrategyDSLQuickfixProvider.java
new file mode 100644
index 0000000..edbbf2c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy.ui/xtend-gen/org/eclipse/osbp/xtext/strategy/ui/quickfix/StrategyDSLQuickfixProvider.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.ui.quickfix;
+
+import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
+
+/**
+ * Custom quickfixes.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ */
+@SuppressWarnings("all")
+public class StrategyDSLQuickfixProvider extends DefaultQuickfixProvider {
+}
diff --git a/org.eclipse.osbp.xtext.strategy/.launch/Generate Language Infrastructure (org.eclipse.osbp.xtext.strategy).launch b/org.eclipse.osbp.xtext.strategy/.launch/Generate Language Infrastructure (org.eclipse.osbp.xtext.strategy).launch
new file mode 100644
index 0000000..adf8a00
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/.launch/Generate Language Infrastructure (org.eclipse.osbp.xtext.strategy).launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.osbp.xtext.strategy&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.osbp.xtext.strategy.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.osbp.xtext.strategy.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.osbp.xtext.strategy.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.osbp.xtext.strategy"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/de/osbp/xtext/strategy/GenerateStrategyDSL.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.osbp.xtext.strategy"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
+</launchConfiguration>
diff --git a/org.eclipse.osbp.xtext.strategy/.project b/org.eclipse.osbp.xtext.strategy/.project
new file mode 100644
index 0000000..bbc5ad0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.osbp.xtext.strategy</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>
+ <buildCommand>
+ <name>org.eclipse.babel.editor.rbeBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ <nature>org.eclipse.babel.editor.rbeNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.xtext.strategy/LICENSE.txt b/org.eclipse.osbp.xtext.strategy/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation. \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.strategy/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3bcaf33
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/META-INF/MANIFEST.MF
@@ -0,0 +1,73 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.xtext.strategy
+Bundle-Vendor: Eclipse OSBP
+Bundle-Localization: plugin
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-SymbolicName: org.eclipse.osbp.xtext.strategy;singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.slf4j.api;bundle-version="1.7.2",
+ org.apache.xerces;bundle-version="2.9.0",
+ org.apache.commons.logging,
+ org.eclipse.core.runtime,
+ org.eclipse.xtext;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.util;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.xbase;bundle-version="[2.7.3,2.8.0)";visibility:=reexport,
+ org.eclipse.xtext.xbase.lib;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.generator;bundle-version="[2.7.3,2.8.0)";resolution:=optional,
+ org.eclipse.xtext.common.types;bundle-version="[2.7.3,2.8.0)";visibility:=reexport,
+ org.eclipse.xtext.ecore;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.emf.codegen.ecore;resolution:=optional,
+ org.eclipse.emf.mwe.utils;resolution:=optional,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xcore.lib,
+ org.eclipse.emf.codegen.ecore.xtext;bundle-version="1.1.1",
+ org.eclipse.emf.common,
+ org.antlr.runtime,
+ org.objectweb.asm;bundle-version="[5.0.1,6.0.0)",
+ org.eclipse.emf.ecore.xcore,
+ ca.ecliptical.pde.ds.lib;bundle-version="1.0.0";resolution:=optional,
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.common.xtext;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.entity.xtext;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.xtext.lazyresolver;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.xtext.lazyresolver.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.common.xtext;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.common.model;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.extension.model;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.util.emf;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.utils;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.model;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.strategy;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.addons;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.basic;bundle-version="[0.9.0,0.10.0)";resolution:=optional,
+ org.eclipse.emf.mwe2.launch;bundle-version="2.7.1";resolution:=optional,
+ org.eclipse.osbp.gitinfo;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.i18n;bundle-version="[0.9.0,0.10.0)",
+ org.apache.commons.lang;bundle-version="2.6.0",
+ org.eclipse.osbp.xtext.builder.types.bundles;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.builder.types.loader.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.builder.types.loader.runtime;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.builder.xbase.setups;bundle-version="[0.9.0,0.10.0)"
+Import-Package: javax.validation,
+ javax.validation.constraints,
+ org.apache.log4j,
+ org.eclipse.osbp.dsl.mwe;version="0.9.0";resolution:=optional
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.xtext.strategy;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.constants;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.formatting;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.generator;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.impl;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.jvmmodel;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.parser.antlr;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.parser.antlr.internal;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.scoping;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.serializer;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.services;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.util;version="0.9.0",
+ org.eclipse.osbp.xtext.strategy.validation;version="0.9.0"
+Bundle-Activator: org.eclipse.osbp.xtext.strategy.Activator
diff --git a/org.eclipse.osbp.xtext.strategy/about.html b/org.eclipse.osbp.xtext.strategy/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 1, 2016</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy/about.ini b/org.eclipse.osbp.xtext.strategy/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.xtext.strategy/about.mappings b/org.eclipse.osbp.xtext.strategy/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/org.eclipse.osbp.xtext.strategy/about.properties b/org.eclipse.osbp.xtext.strategy/about.properties
new file mode 100644
index 0000000..a79e480
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/about.properties
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# 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:
+# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.xtext.strategy
+
+################ blurb property ####################################
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.xtext.strategy/build.properties b/org.eclipse.osbp.xtext.strategy/build.properties
new file mode 100644
index 0000000..b459963
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/build.properties
@@ -0,0 +1,18 @@
+source.. = emf-gen/,\
+ src-gen/,\
+ xtend-gen/,\
+ src/
+bin.includes = about.properties, about.mappings, about.ini, about.html, META-INF/,\
+ .,\
+ .settings/,\
+ plugin.xml,\
+ plugin.properties,\
+ .classpath,\
+ model/,\
+ license.html,\
+ LICENSE.txt,\
+ epl-v10.html
+src.includes = about.properties, about.mappings, about.ini, about.html, license.html,\
+ LICENSE.txt,\
+ epl-v10.html
+
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingEnhancer.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingEnhancer.java
new file mode 100644
index 0000000..6cb7825
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingEnhancer.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Focusing Enhancer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.FocusingEnhancer#getFocusingStrategies <em>Focusing Strategies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getFocusingEnhancer()
+ * @model
+ * @generated
+ */
+public interface FocusingEnhancer extends StrategyBase {
+ /**
+ * Returns the value of the '<em><b>Focusing Strategies</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.osbp.xtext.strategy.FocusingStrategy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Focusing Strategies</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Focusing Strategies</em>' reference list.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getFocusingEnhancer_FocusingStrategies()
+ * @model
+ * @generated
+ */
+ EList<FocusingStrategy> getFocusingStrategies();
+
+} // FocusingEnhancer
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingEnum.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingEnum.java
new file mode 100644
index 0000000..d7905c7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingEnum.java
@@ -0,0 +1,218 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Focusing Enum</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getFocusingEnum()
+ * @model
+ * @generated
+ */
+public enum FocusingEnum implements Enumerator {
+ /**
+ * The '<em><b>FORWARD</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FORWARD_VALUE
+ * @generated
+ * @ordered
+ */
+ FORWARD(0, "FORWARD", "Forward"),
+
+ /**
+ * The '<em><b>BACKWARD</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BACKWARD_VALUE
+ * @generated
+ * @ordered
+ */
+ BACKWARD(0, "BACKWARD", "Backward");
+
+ /**
+ * The '<em><b>FORWARD</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FORWARD</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FORWARD
+ * @model literal="Forward"
+ * @generated
+ * @ordered
+ */
+ public static final int FORWARD_VALUE = 0;
+
+ /**
+ * The '<em><b>BACKWARD</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>BACKWARD</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BACKWARD
+ * @model literal="Backward"
+ * @generated
+ * @ordered
+ */
+ public static final int BACKWARD_VALUE = 0;
+
+ /**
+ * An array of all the '<em><b>Focusing Enum</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final FocusingEnum[] VALUES_ARRAY =
+ new FocusingEnum[] {
+ FORWARD,
+ BACKWARD,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Focusing Enum</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<FocusingEnum> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Focusing Enum</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FocusingEnum get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ FocusingEnum result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Focusing Enum</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FocusingEnum getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ FocusingEnum result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Focusing Enum</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FocusingEnum get(int value) {
+ switch (value) {
+ case FORWARD_VALUE: return FORWARD;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private FocusingEnum(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //FocusingEnum
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingStrategy.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingStrategy.java
new file mode 100644
index 0000000..f1f8343
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/FocusingStrategy.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Focusing Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getEcviewFocusingId <em>Ecview Focusing Id</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getFocus <em>Focus</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getKeyCode <em>Key Code</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getModifierKeys <em>Modifier Keys</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getFocusingStrategy()
+ * @model
+ * @generated
+ */
+public interface FocusingStrategy extends StrategyBase {
+ /**
+ * Returns the value of the '<em><b>Ecview Focusing Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ecview Focusing Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ecview Focusing Id</em>' attribute.
+ * @see #setEcviewFocusingId(String)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getFocusingStrategy_EcviewFocusingId()
+ * @model unique="false"
+ * @generated
+ */
+ String getEcviewFocusingId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getEcviewFocusingId <em>Ecview Focusing Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ecview Focusing Id</em>' attribute.
+ * @see #getEcviewFocusingId()
+ * @generated
+ */
+ void setEcviewFocusingId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Focus</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.osbp.xtext.strategy.FocusingEnum}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Focus</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Focus</em>' attribute.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingEnum
+ * @see #setFocus(FocusingEnum)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getFocusingStrategy_Focus()
+ * @model unique="false"
+ * @generated
+ */
+ FocusingEnum getFocus();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getFocus <em>Focus</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Focus</em>' attribute.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingEnum
+ * @see #getFocus()
+ * @generated
+ */
+ void setFocus(FocusingEnum value);
+
+ /**
+ * Returns the value of the '<em><b>Key Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Key Code</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Key Code</em>' attribute.
+ * @see #setKeyCode(String)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getFocusingStrategy_KeyCode()
+ * @model unique="false"
+ * @generated
+ */
+ String getKeyCode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getKeyCode <em>Key Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Key Code</em>' attribute.
+ * @see #getKeyCode()
+ * @generated
+ */
+ void setKeyCode(String value);
+
+ /**
+ * Returns the value of the '<em><b>Modifier Keys</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Modifier Keys</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Modifier Keys</em>' attribute list.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getFocusingStrategy_ModifierKeys()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getModifierKeys();
+
+} // FocusingStrategy
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/LayoutingEnum.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/LayoutingEnum.java
new file mode 100644
index 0000000..acf4e61
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/LayoutingEnum.java
@@ -0,0 +1,322 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Layouting Enum</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getLayoutingEnum()
+ * @model
+ * @generated
+ */
+public enum LayoutingEnum implements Enumerator {
+ /**
+ * The '<em><b>HORIZONTAL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #HORIZONTAL_VALUE
+ * @generated
+ * @ordered
+ */
+ HORIZONTAL(0, "HORIZONTAL", "Horizontal"),
+
+ /**
+ * The '<em><b>VERTICAL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #VERTICAL_VALUE
+ * @generated
+ * @ordered
+ */
+ VERTICAL(0, "VERTICAL", "Vertical"),
+
+ /**
+ * The '<em><b>GRID</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #GRID_VALUE
+ * @generated
+ * @ordered
+ */
+ GRID(0, "GRID", "Grid"),
+
+ /**
+ * The '<em><b>FORM2</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FORM2_VALUE
+ * @generated
+ * @ordered
+ */
+ FORM2(0, "FORM2", "Form2"),
+
+ /**
+ * The '<em><b>FORM3</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FORM3_VALUE
+ * @generated
+ * @ordered
+ */
+ FORM3(0, "FORM3", "Form3"),
+
+ /**
+ * The '<em><b>CSS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CSS_VALUE
+ * @generated
+ * @ordered
+ */
+ CSS(0, "CSS", "Css");
+
+ /**
+ * The '<em><b>HORIZONTAL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>HORIZONTAL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #HORIZONTAL
+ * @model literal="Horizontal"
+ * @generated
+ * @ordered
+ */
+ public static final int HORIZONTAL_VALUE = 0;
+
+ /**
+ * The '<em><b>VERTICAL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>VERTICAL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #VERTICAL
+ * @model literal="Vertical"
+ * @generated
+ * @ordered
+ */
+ public static final int VERTICAL_VALUE = 0;
+
+ /**
+ * The '<em><b>GRID</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>GRID</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #GRID
+ * @model literal="Grid"
+ * @generated
+ * @ordered
+ */
+ public static final int GRID_VALUE = 0;
+
+ /**
+ * The '<em><b>FORM2</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FORM2</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FORM2
+ * @model literal="Form2"
+ * @generated
+ * @ordered
+ */
+ public static final int FORM2_VALUE = 0;
+
+ /**
+ * The '<em><b>FORM3</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FORM3</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FORM3
+ * @model literal="Form3"
+ * @generated
+ * @ordered
+ */
+ public static final int FORM3_VALUE = 0;
+
+ /**
+ * The '<em><b>CSS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CSS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CSS
+ * @model literal="Css"
+ * @generated
+ * @ordered
+ */
+ public static final int CSS_VALUE = 0;
+
+ /**
+ * An array of all the '<em><b>Layouting Enum</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final LayoutingEnum[] VALUES_ARRAY =
+ new LayoutingEnum[] {
+ HORIZONTAL,
+ VERTICAL,
+ GRID,
+ FORM2,
+ FORM3,
+ CSS,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Layouting Enum</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<LayoutingEnum> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Layouting Enum</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LayoutingEnum get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ LayoutingEnum result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layouting Enum</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LayoutingEnum getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ LayoutingEnum result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layouting Enum</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LayoutingEnum get(int value) {
+ switch (value) {
+ case HORIZONTAL_VALUE: return HORIZONTAL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private LayoutingEnum(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //LayoutingEnum
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/LayoutingStrategy.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/LayoutingStrategy.java
new file mode 100644
index 0000000..3054487
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/LayoutingStrategy.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Layouting Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.LayoutingStrategy#getLayout <em>Layout</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getLayoutingStrategy()
+ * @model
+ * @generated
+ */
+public interface LayoutingStrategy extends StrategyBase {
+ /**
+ * Returns the value of the '<em><b>Layout</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.osbp.xtext.strategy.LayoutingEnum}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Layout</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Layout</em>' attribute.
+ * @see org.eclipse.osbp.xtext.strategy.LayoutingEnum
+ * @see #setLayout(LayoutingEnum)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getLayoutingStrategy_Layout()
+ * @model unique="false"
+ * @generated
+ */
+ LayoutingEnum getLayout();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.LayoutingStrategy#getLayout <em>Layout</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Layout</em>' attribute.
+ * @see org.eclipse.osbp.xtext.strategy.LayoutingEnum
+ * @see #getLayout()
+ * @generated
+ */
+ void setLayout(LayoutingEnum value);
+
+} // LayoutingStrategy
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/Strategy.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/Strategy.java
new file mode 100644
index 0000000..c81f333
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/Strategy.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.Strategy#getTargets <em>Targets</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.Strategy#getStrategyDefault <em>Strategy Default</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategy()
+ * @model
+ * @generated
+ */
+public interface Strategy extends EObject {
+ /**
+ * Returns the value of the '<em><b>Targets</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Targets</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Targets</em>' containment reference.
+ * @see #setTargets(StrategyTarget)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategy_Targets()
+ * @model containment="true"
+ * @generated
+ */
+ StrategyTarget getTargets();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.Strategy#getTargets <em>Targets</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Targets</em>' containment reference.
+ * @see #getTargets()
+ * @generated
+ */
+ void setTargets(StrategyTarget value);
+
+ /**
+ * Returns the value of the '<em><b>Strategy Default</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Strategy Default</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Strategy Default</em>' containment reference.
+ * @see #setStrategyDefault(StrategyDefault)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategy_StrategyDefault()
+ * @model containment="true"
+ * @generated
+ */
+ StrategyDefault getStrategyDefault();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.Strategy#getStrategyDefault <em>Strategy Default</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Strategy Default</em>' containment reference.
+ * @see #getStrategyDefault()
+ * @generated
+ */
+ void setStrategyDefault(StrategyDefault value);
+
+} // Strategy
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyBase.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyBase.java
new file mode 100644
index 0000000..c1e57fc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyBase.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy Base</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.StrategyBase#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyBase()
+ * @model
+ * @generated
+ */
+public interface StrategyBase extends StrategyLazyResolver {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyBase_Name()
+ * @model unique="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.StrategyBase#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // StrategyBase
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLFactory.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLFactory.java
new file mode 100644
index 0000000..c552b1b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLFactory.java
@@ -0,0 +1,134 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage
+ * @generated
+ */
+public interface StrategyDSLFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ StrategyDSLFactory eINSTANCE = org.eclipse.osbp.xtext.strategy.impl.StrategyDSLFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Strategy Model</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Strategy Model</em>'.
+ * @generated
+ */
+ StrategyModel createStrategyModel();
+
+ /**
+ * Returns a new object of class '<em>Strategy Lazy Resolver</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Strategy Lazy Resolver</em>'.
+ * @generated
+ */
+ StrategyLazyResolver createStrategyLazyResolver();
+
+ /**
+ * Returns a new object of class '<em>Strategy Base</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Strategy Base</em>'.
+ * @generated
+ */
+ StrategyBase createStrategyBase();
+
+ /**
+ * Returns a new object of class '<em>Strategy Package</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Strategy Package</em>'.
+ * @generated
+ */
+ StrategyPackage createStrategyPackage();
+
+ /**
+ * Returns a new object of class '<em>Strategy</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Strategy</em>'.
+ * @generated
+ */
+ Strategy createStrategy();
+
+ /**
+ * Returns a new object of class '<em>Strategy Target</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Strategy Target</em>'.
+ * @generated
+ */
+ StrategyTarget createStrategyTarget();
+
+ /**
+ * Returns a new object of class '<em>Layouting Strategy</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Layouting Strategy</em>'.
+ * @generated
+ */
+ LayoutingStrategy createLayoutingStrategy();
+
+ /**
+ * Returns a new object of class '<em>Focusing Strategy</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Focusing Strategy</em>'.
+ * @generated
+ */
+ FocusingStrategy createFocusingStrategy();
+
+ /**
+ * Returns a new object of class '<em>Focusing Enhancer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Focusing Enhancer</em>'.
+ * @generated
+ */
+ FocusingEnhancer createFocusingEnhancer();
+
+ /**
+ * Returns a new object of class '<em>Strategy Default</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Strategy Default</em>'.
+ * @generated
+ */
+ StrategyDefault createStrategyDefault();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ StrategyDSLPackage getStrategyDSLPackage();
+
+} //StrategyDSLFactory
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLPackage.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLPackage.java
new file mode 100644
index 0000000..ebd3c19
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLPackage.java
@@ -0,0 +1,1267 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.osbp.dsl.semantic.common.types.OSBPTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel fileExtensions='strategy' modelName='StrategyDSL' prefix='StrategyDSL' updateClasspath='false' copyrightText='Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)\r\n All rights reserved. This program and the accompanying materials \r\n are made available under the terms of the Eclipse Public License v1.0 \r\n which accompanies this distribution, and is available at \r\n http{//www.eclipse.org/legal/epl-v10.html \r\n\r\n Based on ideas from Xtext, Xtend, Xcore\r\n \r\n Contributors{ \r\n \t\tChristophe Loetz (Loetz GmbH&Co.KG) - Initial implementation \r\n ' basePackage='org.eclipse.osbp.xtext'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore rootPackage='strategydsl'"
+ * @generated
+ */
+public interface StrategyDSLPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "strategy";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://osbp.eclipse.org/xtext/strategy/StrategyDSL";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "strategydsl";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ StrategyDSLPackage eINSTANCE = org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyModelImpl <em>Strategy Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyModelImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyModel()
+ * @generated
+ */
+ int STRATEGY_MODEL = 0;
+
+ /**
+ * The feature id for the '<em><b>Packages</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_MODEL__PACKAGES = 0;
+
+ /**
+ * The number of structural features of the '<em>Strategy Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_MODEL_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Strategy Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_MODEL_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyLazyResolverImpl <em>Strategy Lazy Resolver</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyLazyResolverImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyLazyResolver()
+ * @generated
+ */
+ int STRATEGY_LAZY_RESOLVER = 1;
+
+ /**
+ * The number of structural features of the '<em>Strategy Lazy Resolver</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_LAZY_RESOLVER_FEATURE_COUNT = 0;
+
+ /**
+ * The operation id for the '<em>EResolve Proxy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT = 0;
+
+ /**
+ * The number of operations of the '<em>Strategy Lazy Resolver</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_LAZY_RESOLVER_OPERATION_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyBaseImpl <em>Strategy Base</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyBaseImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyBase()
+ * @generated
+ */
+ int STRATEGY_BASE = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_BASE__NAME = STRATEGY_LAZY_RESOLVER_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Strategy Base</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_BASE_FEATURE_COUNT = STRATEGY_LAZY_RESOLVER_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>EResolve Proxy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_BASE___ERESOLVE_PROXY__INTERNALEOBJECT = STRATEGY_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+ /**
+ * The number of operations of the '<em>Strategy Base</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_BASE_OPERATION_COUNT = STRATEGY_LAZY_RESOLVER_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyPackageImpl <em>Strategy Package</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyPackageImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyPackage()
+ * @generated
+ */
+ int STRATEGY_PACKAGE = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_PACKAGE__NAME = OSBPTypesPackage.LPACKAGE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Imports</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_PACKAGE__IMPORTS = OSBPTypesPackage.LPACKAGE__IMPORTS;
+
+ /**
+ * The feature id for the '<em><b>Strategy</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_PACKAGE__STRATEGY = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Strategy Package</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_PACKAGE_FEATURE_COUNT = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>EResolve Proxy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_PACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT = OSBPTypesPackage.LPACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+ /**
+ * The number of operations of the '<em>Strategy Package</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_PACKAGE_OPERATION_COUNT = OSBPTypesPackage.LPACKAGE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyImpl <em>Strategy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategy()
+ * @generated
+ */
+ int STRATEGY = 4;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY__TARGETS = 0;
+
+ /**
+ * The feature id for the '<em><b>Strategy Default</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY__STRATEGY_DEFAULT = 1;
+
+ /**
+ * The number of structural features of the '<em>Strategy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Strategy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyTargetImpl <em>Strategy Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyTargetImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyTarget()
+ * @generated
+ */
+ int STRATEGY_TARGET = 5;
+
+ /**
+ * The feature id for the '<em><b>Layouting Strategies</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TARGET__LAYOUTING_STRATEGIES = 0;
+
+ /**
+ * The feature id for the '<em><b>Focusing Strategies</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TARGET__FOCUSING_STRATEGIES = 1;
+
+ /**
+ * The feature id for the '<em><b>Focusing Enhancer</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TARGET__FOCUSING_ENHANCER = 2;
+
+ /**
+ * The feature id for the '<em><b>Strategy Default</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TARGET__STRATEGY_DEFAULT = 3;
+
+ /**
+ * The number of structural features of the '<em>Strategy Target</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TARGET_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>Strategy Target</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_TARGET_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.LayoutingStrategyImpl <em>Layouting Strategy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.LayoutingStrategyImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getLayoutingStrategy()
+ * @generated
+ */
+ int LAYOUTING_STRATEGY = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUTING_STRATEGY__NAME = STRATEGY_BASE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUTING_STRATEGY__LAYOUT = STRATEGY_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Layouting Strategy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUTING_STRATEGY_FEATURE_COUNT = STRATEGY_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>EResolve Proxy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUTING_STRATEGY___ERESOLVE_PROXY__INTERNALEOBJECT = STRATEGY_BASE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+ /**
+ * The number of operations of the '<em>Layouting Strategy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUTING_STRATEGY_OPERATION_COUNT = STRATEGY_BASE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.FocusingStrategyImpl <em>Focusing Strategy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.FocusingStrategyImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getFocusingStrategy()
+ * @generated
+ */
+ int FOCUSING_STRATEGY = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_STRATEGY__NAME = STRATEGY_BASE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Ecview Focusing Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_STRATEGY__ECVIEW_FOCUSING_ID = STRATEGY_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Focus</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_STRATEGY__FOCUS = STRATEGY_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Key Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_STRATEGY__KEY_CODE = STRATEGY_BASE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Modifier Keys</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_STRATEGY__MODIFIER_KEYS = STRATEGY_BASE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Focusing Strategy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_STRATEGY_FEATURE_COUNT = STRATEGY_BASE_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>EResolve Proxy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_STRATEGY___ERESOLVE_PROXY__INTERNALEOBJECT = STRATEGY_BASE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+ /**
+ * The number of operations of the '<em>Focusing Strategy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_STRATEGY_OPERATION_COUNT = STRATEGY_BASE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.FocusingEnhancerImpl <em>Focusing Enhancer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.FocusingEnhancerImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getFocusingEnhancer()
+ * @generated
+ */
+ int FOCUSING_ENHANCER = 8;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_ENHANCER__NAME = STRATEGY_BASE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Focusing Strategies</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_ENHANCER__FOCUSING_STRATEGIES = STRATEGY_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Focusing Enhancer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_ENHANCER_FEATURE_COUNT = STRATEGY_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>EResolve Proxy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_ENHANCER___ERESOLVE_PROXY__INTERNALEOBJECT = STRATEGY_BASE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+ /**
+ * The number of operations of the '<em>Focusing Enhancer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOCUSING_ENHANCER_OPERATION_COUNT = STRATEGY_BASE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyDefaultImpl <em>Strategy Default</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDefaultImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyDefault()
+ * @generated
+ */
+ int STRATEGY_DEFAULT = 9;
+
+ /**
+ * The feature id for the '<em><b>Default Layouting</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_DEFAULT__DEFAULT_LAYOUTING = 0;
+
+ /**
+ * The feature id for the '<em><b>Default Focusing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_DEFAULT__DEFAULT_FOCUSING = 1;
+
+ /**
+ * The number of structural features of the '<em>Strategy Default</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_DEFAULT_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Strategy Default</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRATEGY_DEFAULT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.LayoutingEnum <em>Layouting Enum</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.LayoutingEnum
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getLayoutingEnum()
+ * @generated
+ */
+ int LAYOUTING_ENUM = 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.osbp.xtext.strategy.FocusingEnum <em>Focusing Enum</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.FocusingEnum
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getFocusingEnum()
+ * @generated
+ */
+ int FOCUSING_ENUM = 11;
+
+ /**
+ * The meta object id for the '<em>Internal EObject</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.InternalEObject
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getInternalEObject()
+ * @generated
+ */
+ int INTERNAL_EOBJECT = 12;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.StrategyModel <em>Strategy Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Strategy Model</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyModel
+ * @generated
+ */
+ EClass getStrategyModel();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.strategy.StrategyModel#getPackages <em>Packages</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Packages</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyModel#getPackages()
+ * @see #getStrategyModel()
+ * @generated
+ */
+ EReference getStrategyModel_Packages();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.StrategyLazyResolver <em>Strategy Lazy Resolver</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Strategy Lazy Resolver</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyLazyResolver
+ * @generated
+ */
+ EClass getStrategyLazyResolver();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.osbp.xtext.strategy.StrategyLazyResolver#eResolveProxy(org.eclipse.emf.ecore.InternalEObject) <em>EResolve Proxy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>EResolve Proxy</em>' operation.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyLazyResolver#eResolveProxy(org.eclipse.emf.ecore.InternalEObject)
+ * @generated
+ */
+ EOperation getStrategyLazyResolver__EResolveProxy__InternalEObject();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.StrategyBase <em>Strategy Base</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Strategy Base</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyBase
+ * @generated
+ */
+ EClass getStrategyBase();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.strategy.StrategyBase#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyBase#getName()
+ * @see #getStrategyBase()
+ * @generated
+ */
+ EAttribute getStrategyBase_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.StrategyPackage <em>Strategy Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Strategy Package</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyPackage
+ * @generated
+ */
+ EClass getStrategyPackage();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.strategy.StrategyPackage#getStrategy <em>Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Strategy</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyPackage#getStrategy()
+ * @see #getStrategyPackage()
+ * @generated
+ */
+ EReference getStrategyPackage_Strategy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.Strategy <em>Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Strategy</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.Strategy
+ * @generated
+ */
+ EClass getStrategy();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.strategy.Strategy#getTargets <em>Targets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Targets</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.Strategy#getTargets()
+ * @see #getStrategy()
+ * @generated
+ */
+ EReference getStrategy_Targets();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.strategy.Strategy#getStrategyDefault <em>Strategy Default</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Strategy Default</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.Strategy#getStrategyDefault()
+ * @see #getStrategy()
+ * @generated
+ */
+ EReference getStrategy_StrategyDefault();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.StrategyTarget <em>Strategy Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Strategy Target</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyTarget
+ * @generated
+ */
+ EClass getStrategyTarget();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.strategy.StrategyTarget#getLayoutingStrategies <em>Layouting Strategies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Layouting Strategies</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyTarget#getLayoutingStrategies()
+ * @see #getStrategyTarget()
+ * @generated
+ */
+ EReference getStrategyTarget_LayoutingStrategies();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.strategy.StrategyTarget#getFocusingStrategies <em>Focusing Strategies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Focusing Strategies</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyTarget#getFocusingStrategies()
+ * @see #getStrategyTarget()
+ * @generated
+ */
+ EReference getStrategyTarget_FocusingStrategies();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.strategy.StrategyTarget#getFocusingEnhancer <em>Focusing Enhancer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Focusing Enhancer</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyTarget#getFocusingEnhancer()
+ * @see #getStrategyTarget()
+ * @generated
+ */
+ EReference getStrategyTarget_FocusingEnhancer();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.strategy.StrategyTarget#getStrategyDefault <em>Strategy Default</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Strategy Default</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyTarget#getStrategyDefault()
+ * @see #getStrategyTarget()
+ * @generated
+ */
+ EReference getStrategyTarget_StrategyDefault();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.LayoutingStrategy <em>Layouting Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Layouting Strategy</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.LayoutingStrategy
+ * @generated
+ */
+ EClass getLayoutingStrategy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.strategy.LayoutingStrategy#getLayout <em>Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Layout</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.LayoutingStrategy#getLayout()
+ * @see #getLayoutingStrategy()
+ * @generated
+ */
+ EAttribute getLayoutingStrategy_Layout();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy <em>Focusing Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Focusing Strategy</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingStrategy
+ * @generated
+ */
+ EClass getFocusingStrategy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getEcviewFocusingId <em>Ecview Focusing Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ecview Focusing Id</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingStrategy#getEcviewFocusingId()
+ * @see #getFocusingStrategy()
+ * @generated
+ */
+ EAttribute getFocusingStrategy_EcviewFocusingId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getFocus <em>Focus</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Focus</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingStrategy#getFocus()
+ * @see #getFocusingStrategy()
+ * @generated
+ */
+ EAttribute getFocusingStrategy_Focus();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getKeyCode <em>Key Code</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Key Code</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingStrategy#getKeyCode()
+ * @see #getFocusingStrategy()
+ * @generated
+ */
+ EAttribute getFocusingStrategy_KeyCode();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy#getModifierKeys <em>Modifier Keys</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Modifier Keys</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingStrategy#getModifierKeys()
+ * @see #getFocusingStrategy()
+ * @generated
+ */
+ EAttribute getFocusingStrategy_ModifierKeys();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.FocusingEnhancer <em>Focusing Enhancer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Focusing Enhancer</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingEnhancer
+ * @generated
+ */
+ EClass getFocusingEnhancer();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.osbp.xtext.strategy.FocusingEnhancer#getFocusingStrategies <em>Focusing Strategies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Focusing Strategies</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingEnhancer#getFocusingStrategies()
+ * @see #getFocusingEnhancer()
+ * @generated
+ */
+ EReference getFocusingEnhancer_FocusingStrategies();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.osbp.xtext.strategy.StrategyDefault <em>Strategy Default</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Strategy Default</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDefault
+ * @generated
+ */
+ EClass getStrategyDefault();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.strategy.StrategyDefault#getDefaultLayouting <em>Default Layouting</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default Layouting</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDefault#getDefaultLayouting()
+ * @see #getStrategyDefault()
+ * @generated
+ */
+ EReference getStrategyDefault_DefaultLayouting();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.strategy.StrategyDefault#getDefaultFocusing <em>Default Focusing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default Focusing</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDefault#getDefaultFocusing()
+ * @see #getStrategyDefault()
+ * @generated
+ */
+ EReference getStrategyDefault_DefaultFocusing();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.osbp.xtext.strategy.LayoutingEnum <em>Layouting Enum</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Layouting Enum</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.LayoutingEnum
+ * @generated
+ */
+ EEnum getLayoutingEnum();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.osbp.xtext.strategy.FocusingEnum <em>Focusing Enum</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Focusing Enum</em>'.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingEnum
+ * @generated
+ */
+ EEnum getFocusingEnum();
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.emf.ecore.InternalEObject <em>Internal EObject</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Internal EObject</em>'.
+ * @see org.eclipse.emf.ecore.InternalEObject
+ * @model instanceClass="org.eclipse.emf.ecore.InternalEObject"
+ * @generated
+ */
+ EDataType getInternalEObject();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ StrategyDSLFactory getStrategyDSLFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyModelImpl <em>Strategy Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyModelImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyModel()
+ * @generated
+ */
+ EClass STRATEGY_MODEL = eINSTANCE.getStrategyModel();
+
+ /**
+ * The meta object literal for the '<em><b>Packages</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY_MODEL__PACKAGES = eINSTANCE.getStrategyModel_Packages();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyLazyResolverImpl <em>Strategy Lazy Resolver</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyLazyResolverImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyLazyResolver()
+ * @generated
+ */
+ EClass STRATEGY_LAZY_RESOLVER = eINSTANCE.getStrategyLazyResolver();
+
+ /**
+ * The meta object literal for the '<em><b>EResolve Proxy</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation STRATEGY_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT = eINSTANCE.getStrategyLazyResolver__EResolveProxy__InternalEObject();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyBaseImpl <em>Strategy Base</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyBaseImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyBase()
+ * @generated
+ */
+ EClass STRATEGY_BASE = eINSTANCE.getStrategyBase();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STRATEGY_BASE__NAME = eINSTANCE.getStrategyBase_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyPackageImpl <em>Strategy Package</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyPackageImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyPackage()
+ * @generated
+ */
+ EClass STRATEGY_PACKAGE = eINSTANCE.getStrategyPackage();
+
+ /**
+ * The meta object literal for the '<em><b>Strategy</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY_PACKAGE__STRATEGY = eINSTANCE.getStrategyPackage_Strategy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyImpl <em>Strategy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategy()
+ * @generated
+ */
+ EClass STRATEGY = eINSTANCE.getStrategy();
+
+ /**
+ * The meta object literal for the '<em><b>Targets</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY__TARGETS = eINSTANCE.getStrategy_Targets();
+
+ /**
+ * The meta object literal for the '<em><b>Strategy Default</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY__STRATEGY_DEFAULT = eINSTANCE.getStrategy_StrategyDefault();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyTargetImpl <em>Strategy Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyTargetImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyTarget()
+ * @generated
+ */
+ EClass STRATEGY_TARGET = eINSTANCE.getStrategyTarget();
+
+ /**
+ * The meta object literal for the '<em><b>Layouting Strategies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY_TARGET__LAYOUTING_STRATEGIES = eINSTANCE.getStrategyTarget_LayoutingStrategies();
+
+ /**
+ * The meta object literal for the '<em><b>Focusing Strategies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY_TARGET__FOCUSING_STRATEGIES = eINSTANCE.getStrategyTarget_FocusingStrategies();
+
+ /**
+ * The meta object literal for the '<em><b>Focusing Enhancer</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY_TARGET__FOCUSING_ENHANCER = eINSTANCE.getStrategyTarget_FocusingEnhancer();
+
+ /**
+ * The meta object literal for the '<em><b>Strategy Default</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY_TARGET__STRATEGY_DEFAULT = eINSTANCE.getStrategyTarget_StrategyDefault();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.LayoutingStrategyImpl <em>Layouting Strategy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.LayoutingStrategyImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getLayoutingStrategy()
+ * @generated
+ */
+ EClass LAYOUTING_STRATEGY = eINSTANCE.getLayoutingStrategy();
+
+ /**
+ * The meta object literal for the '<em><b>Layout</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYOUTING_STRATEGY__LAYOUT = eINSTANCE.getLayoutingStrategy_Layout();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.FocusingStrategyImpl <em>Focusing Strategy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.FocusingStrategyImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getFocusingStrategy()
+ * @generated
+ */
+ EClass FOCUSING_STRATEGY = eINSTANCE.getFocusingStrategy();
+
+ /**
+ * The meta object literal for the '<em><b>Ecview Focusing Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FOCUSING_STRATEGY__ECVIEW_FOCUSING_ID = eINSTANCE.getFocusingStrategy_EcviewFocusingId();
+
+ /**
+ * The meta object literal for the '<em><b>Focus</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FOCUSING_STRATEGY__FOCUS = eINSTANCE.getFocusingStrategy_Focus();
+
+ /**
+ * The meta object literal for the '<em><b>Key Code</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FOCUSING_STRATEGY__KEY_CODE = eINSTANCE.getFocusingStrategy_KeyCode();
+
+ /**
+ * The meta object literal for the '<em><b>Modifier Keys</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FOCUSING_STRATEGY__MODIFIER_KEYS = eINSTANCE.getFocusingStrategy_ModifierKeys();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.FocusingEnhancerImpl <em>Focusing Enhancer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.FocusingEnhancerImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getFocusingEnhancer()
+ * @generated
+ */
+ EClass FOCUSING_ENHANCER = eINSTANCE.getFocusingEnhancer();
+
+ /**
+ * The meta object literal for the '<em><b>Focusing Strategies</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FOCUSING_ENHANCER__FOCUSING_STRATEGIES = eINSTANCE.getFocusingEnhancer_FocusingStrategies();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.impl.StrategyDefaultImpl <em>Strategy Default</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDefaultImpl
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getStrategyDefault()
+ * @generated
+ */
+ EClass STRATEGY_DEFAULT = eINSTANCE.getStrategyDefault();
+
+ /**
+ * The meta object literal for the '<em><b>Default Layouting</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY_DEFAULT__DEFAULT_LAYOUTING = eINSTANCE.getStrategyDefault_DefaultLayouting();
+
+ /**
+ * The meta object literal for the '<em><b>Default Focusing</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRATEGY_DEFAULT__DEFAULT_FOCUSING = eINSTANCE.getStrategyDefault_DefaultFocusing();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.LayoutingEnum <em>Layouting Enum</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.LayoutingEnum
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getLayoutingEnum()
+ * @generated
+ */
+ EEnum LAYOUTING_ENUM = eINSTANCE.getLayoutingEnum();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.osbp.xtext.strategy.FocusingEnum <em>Focusing Enum</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.FocusingEnum
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getFocusingEnum()
+ * @generated
+ */
+ EEnum FOCUSING_ENUM = eINSTANCE.getFocusingEnum();
+
+ /**
+ * The meta object literal for the '<em>Internal EObject</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.InternalEObject
+ * @see org.eclipse.osbp.xtext.strategy.impl.StrategyDSLPackageImpl#getInternalEObject()
+ * @generated
+ */
+ EDataType INTERNAL_EOBJECT = eINSTANCE.getInternalEObject();
+
+ }
+
+} //StrategyDSLPackage
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDefault.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDefault.java
new file mode 100644
index 0000000..ec4fe66
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyDefault.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy Default</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.StrategyDefault#getDefaultLayouting <em>Default Layouting</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.StrategyDefault#getDefaultFocusing <em>Default Focusing</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyDefault()
+ * @model
+ * @generated
+ */
+public interface StrategyDefault extends EObject {
+ /**
+ * Returns the value of the '<em><b>Default Layouting</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Layouting</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Layouting</em>' reference.
+ * @see #setDefaultLayouting(LayoutingStrategy)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyDefault_DefaultLayouting()
+ * @model
+ * @generated
+ */
+ LayoutingStrategy getDefaultLayouting();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.StrategyDefault#getDefaultLayouting <em>Default Layouting</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Layouting</em>' reference.
+ * @see #getDefaultLayouting()
+ * @generated
+ */
+ void setDefaultLayouting(LayoutingStrategy value);
+
+ /**
+ * Returns the value of the '<em><b>Default Focusing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Focusing</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Focusing</em>' reference.
+ * @see #setDefaultFocusing(FocusingEnhancer)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyDefault_DefaultFocusing()
+ * @model
+ * @generated
+ */
+ FocusingEnhancer getDefaultFocusing();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.StrategyDefault#getDefaultFocusing <em>Default Focusing</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Focusing</em>' reference.
+ * @see #getDefaultFocusing()
+ * @generated
+ */
+ void setDefaultFocusing(FocusingEnhancer value);
+
+} // StrategyDefault
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyLazyResolver.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyLazyResolver.java
new file mode 100644
index 0000000..68ac876
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyLazyResolver.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy Lazy Resolver</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyLazyResolver()
+ * @model
+ * @generated
+ */
+public interface StrategyLazyResolver extends EObject {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model unique="false" proxyDataType="org.eclipse.osbp.xtext.strategy.InternalEObject" proxyUnique="false"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='<%org.eclipse.emf.ecore.resource.Resource%> _eResource = this.eResource();\n<%org.eclipse.emf.ecore.resource.ResourceSet%> _resourceSet = _eResource.getResourceSet();\nreturn <%org.eclipse.osbp.dsl.xtext.lazyresolver.api.EcoreUtil3%>.resolve(proxy, _resourceSet);'"
+ * @generated
+ */
+ EObject eResolveProxy(InternalEObject proxy);
+
+} // StrategyLazyResolver
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyModel.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyModel.java
new file mode 100644
index 0000000..cf2eebf
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyModel.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.StrategyModel#getPackages <em>Packages</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyModel()
+ * @model
+ * @generated
+ */
+public interface StrategyModel extends EObject {
+ /**
+ * Returns the value of the '<em><b>Packages</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.osbp.xtext.strategy.StrategyPackage}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Packages</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Packages</em>' containment reference list.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyModel_Packages()
+ * @model containment="true"
+ * @generated
+ */
+ EList<StrategyPackage> getPackages();
+
+} // StrategyModel
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyPackage.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyPackage.java
new file mode 100644
index 0000000..707834d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyPackage.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy Package</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.StrategyPackage#getStrategy <em>Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyPackage()
+ * @model
+ * @generated
+ */
+public interface StrategyPackage extends LPackage {
+ /**
+ * Returns the value of the '<em><b>Strategy</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Strategy</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Strategy</em>' containment reference.
+ * @see #setStrategy(Strategy)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyPackage_Strategy()
+ * @model containment="true"
+ * @generated
+ */
+ Strategy getStrategy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.StrategyPackage#getStrategy <em>Strategy</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Strategy</em>' containment reference.
+ * @see #getStrategy()
+ * @generated
+ */
+ void setStrategy(Strategy value);
+
+} // StrategyPackage
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyTarget.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyTarget.java
new file mode 100644
index 0000000..f9d6493
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/StrategyTarget.java
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Strategy Target</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.StrategyTarget#getLayoutingStrategies <em>Layouting Strategies</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.StrategyTarget#getFocusingStrategies <em>Focusing Strategies</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.StrategyTarget#getFocusingEnhancer <em>Focusing Enhancer</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.StrategyTarget#getStrategyDefault <em>Strategy Default</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyTarget()
+ * @model
+ * @generated
+ */
+public interface StrategyTarget extends EObject {
+ /**
+ * Returns the value of the '<em><b>Layouting Strategies</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.osbp.xtext.strategy.LayoutingStrategy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Layouting Strategies</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Layouting Strategies</em>' containment reference list.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyTarget_LayoutingStrategies()
+ * @model containment="true"
+ * @generated
+ */
+ EList<LayoutingStrategy> getLayoutingStrategies();
+
+ /**
+ * Returns the value of the '<em><b>Focusing Strategies</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.osbp.xtext.strategy.FocusingStrategy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Focusing Strategies</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Focusing Strategies</em>' containment reference list.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyTarget_FocusingStrategies()
+ * @model containment="true"
+ * @generated
+ */
+ EList<FocusingStrategy> getFocusingStrategies();
+
+ /**
+ * Returns the value of the '<em><b>Focusing Enhancer</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.osbp.xtext.strategy.FocusingEnhancer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Focusing Enhancer</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Focusing Enhancer</em>' containment reference list.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyTarget_FocusingEnhancer()
+ * @model containment="true"
+ * @generated
+ */
+ EList<FocusingEnhancer> getFocusingEnhancer();
+
+ /**
+ * Returns the value of the '<em><b>Strategy Default</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Strategy Default</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Strategy Default</em>' containment reference.
+ * @see #setStrategyDefault(StrategyDefault)
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#getStrategyTarget_StrategyDefault()
+ * @model containment="true"
+ * @generated
+ */
+ StrategyDefault getStrategyDefault();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osbp.xtext.strategy.StrategyTarget#getStrategyDefault <em>Strategy Default</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Strategy Default</em>' containment reference.
+ * @see #getStrategyDefault()
+ * @generated
+ */
+ void setStrategyDefault(StrategyDefault value);
+
+} // StrategyTarget
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/FocusingEnhancerImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/FocusingEnhancerImpl.java
new file mode 100644
index 0000000..0ad9fee
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/FocusingEnhancerImpl.java
@@ -0,0 +1,143 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer;
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Focusing Enhancer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.FocusingEnhancerImpl#getFocusingStrategies <em>Focusing Strategies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FocusingEnhancerImpl extends StrategyBaseImpl implements FocusingEnhancer {
+ /**
+ * The cached value of the '{@link #getFocusingStrategies() <em>Focusing Strategies</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFocusingStrategies()
+ * @generated
+ * @ordered
+ */
+ protected EList<FocusingStrategy> focusingStrategies;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FocusingEnhancerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.FOCUSING_ENHANCER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FocusingStrategy> getFocusingStrategies() {
+ if (focusingStrategies == null) {
+ focusingStrategies = new EObjectResolvingEList<FocusingStrategy>(FocusingStrategy.class, this, StrategyDSLPackage.FOCUSING_ENHANCER__FOCUSING_STRATEGIES);
+ }
+ return focusingStrategies;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StrategyDSLPackage.FOCUSING_ENHANCER__FOCUSING_STRATEGIES:
+ return getFocusingStrategies();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StrategyDSLPackage.FOCUSING_ENHANCER__FOCUSING_STRATEGIES:
+ getFocusingStrategies().clear();
+ getFocusingStrategies().addAll((Collection<? extends FocusingStrategy>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.FOCUSING_ENHANCER__FOCUSING_STRATEGIES:
+ getFocusingStrategies().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.FOCUSING_ENHANCER__FOCUSING_STRATEGIES:
+ return focusingStrategies != null && !focusingStrategies.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FocusingEnhancerImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/FocusingStrategyImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/FocusingStrategyImpl.java
new file mode 100644
index 0000000..717fd88
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/FocusingStrategyImpl.java
@@ -0,0 +1,325 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.osbp.xtext.strategy.FocusingEnum;
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Focusing Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.FocusingStrategyImpl#getEcviewFocusingId <em>Ecview Focusing Id</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.FocusingStrategyImpl#getFocus <em>Focus</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.FocusingStrategyImpl#getKeyCode <em>Key Code</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.FocusingStrategyImpl#getModifierKeys <em>Modifier Keys</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FocusingStrategyImpl extends StrategyBaseImpl implements FocusingStrategy {
+ /**
+ * The default value of the '{@link #getEcviewFocusingId() <em>Ecview Focusing Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEcviewFocusingId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ECVIEW_FOCUSING_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEcviewFocusingId() <em>Ecview Focusing Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEcviewFocusingId()
+ * @generated
+ * @ordered
+ */
+ protected String ecviewFocusingId = ECVIEW_FOCUSING_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFocus() <em>Focus</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFocus()
+ * @generated
+ * @ordered
+ */
+ protected static final FocusingEnum FOCUS_EDEFAULT = FocusingEnum.FORWARD;
+
+ /**
+ * The cached value of the '{@link #getFocus() <em>Focus</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFocus()
+ * @generated
+ * @ordered
+ */
+ protected FocusingEnum focus = FOCUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKeyCode() <em>Key Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKeyCode()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEY_CODE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getKeyCode() <em>Key Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKeyCode()
+ * @generated
+ * @ordered
+ */
+ protected String keyCode = KEY_CODE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getModifierKeys() <em>Modifier Keys</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getModifierKeys()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> modifierKeys;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FocusingStrategyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.FOCUSING_STRATEGY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEcviewFocusingId() {
+ return ecviewFocusingId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEcviewFocusingId(String newEcviewFocusingId) {
+ String oldEcviewFocusingId = ecviewFocusingId;
+ ecviewFocusingId = newEcviewFocusingId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.FOCUSING_STRATEGY__ECVIEW_FOCUSING_ID, oldEcviewFocusingId, ecviewFocusingId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FocusingEnum getFocus() {
+ return focus;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFocus(FocusingEnum newFocus) {
+ FocusingEnum oldFocus = focus;
+ focus = newFocus == null ? FOCUS_EDEFAULT : newFocus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.FOCUSING_STRATEGY__FOCUS, oldFocus, focus));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKeyCode() {
+ return keyCode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKeyCode(String newKeyCode) {
+ String oldKeyCode = keyCode;
+ keyCode = newKeyCode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.FOCUSING_STRATEGY__KEY_CODE, oldKeyCode, keyCode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getModifierKeys() {
+ if (modifierKeys == null) {
+ modifierKeys = new EDataTypeEList<String>(String.class, this, StrategyDSLPackage.FOCUSING_STRATEGY__MODIFIER_KEYS);
+ }
+ return modifierKeys;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StrategyDSLPackage.FOCUSING_STRATEGY__ECVIEW_FOCUSING_ID:
+ return getEcviewFocusingId();
+ case StrategyDSLPackage.FOCUSING_STRATEGY__FOCUS:
+ return getFocus();
+ case StrategyDSLPackage.FOCUSING_STRATEGY__KEY_CODE:
+ return getKeyCode();
+ case StrategyDSLPackage.FOCUSING_STRATEGY__MODIFIER_KEYS:
+ return getModifierKeys();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StrategyDSLPackage.FOCUSING_STRATEGY__ECVIEW_FOCUSING_ID:
+ setEcviewFocusingId((String)newValue);
+ return;
+ case StrategyDSLPackage.FOCUSING_STRATEGY__FOCUS:
+ setFocus((FocusingEnum)newValue);
+ return;
+ case StrategyDSLPackage.FOCUSING_STRATEGY__KEY_CODE:
+ setKeyCode((String)newValue);
+ return;
+ case StrategyDSLPackage.FOCUSING_STRATEGY__MODIFIER_KEYS:
+ getModifierKeys().clear();
+ getModifierKeys().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.FOCUSING_STRATEGY__ECVIEW_FOCUSING_ID:
+ setEcviewFocusingId(ECVIEW_FOCUSING_ID_EDEFAULT);
+ return;
+ case StrategyDSLPackage.FOCUSING_STRATEGY__FOCUS:
+ setFocus(FOCUS_EDEFAULT);
+ return;
+ case StrategyDSLPackage.FOCUSING_STRATEGY__KEY_CODE:
+ setKeyCode(KEY_CODE_EDEFAULT);
+ return;
+ case StrategyDSLPackage.FOCUSING_STRATEGY__MODIFIER_KEYS:
+ getModifierKeys().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.FOCUSING_STRATEGY__ECVIEW_FOCUSING_ID:
+ return ECVIEW_FOCUSING_ID_EDEFAULT == null ? ecviewFocusingId != null : !ECVIEW_FOCUSING_ID_EDEFAULT.equals(ecviewFocusingId);
+ case StrategyDSLPackage.FOCUSING_STRATEGY__FOCUS:
+ return focus != FOCUS_EDEFAULT;
+ case StrategyDSLPackage.FOCUSING_STRATEGY__KEY_CODE:
+ return KEY_CODE_EDEFAULT == null ? keyCode != null : !KEY_CODE_EDEFAULT.equals(keyCode);
+ case StrategyDSLPackage.FOCUSING_STRATEGY__MODIFIER_KEYS:
+ return modifierKeys != null && !modifierKeys.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (ecviewFocusingId: ");
+ result.append(ecviewFocusingId);
+ result.append(", focus: ");
+ result.append(focus);
+ result.append(", keyCode: ");
+ result.append(keyCode);
+ result.append(", modifierKeys: ");
+ result.append(modifierKeys);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FocusingStrategyImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/LayoutingStrategyImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/LayoutingStrategyImpl.java
new file mode 100644
index 0000000..71c6321
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/LayoutingStrategyImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.strategy.LayoutingEnum;
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Layouting Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.LayoutingStrategyImpl#getLayout <em>Layout</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LayoutingStrategyImpl extends StrategyBaseImpl implements LayoutingStrategy {
+ /**
+ * The default value of the '{@link #getLayout() <em>Layout</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected static final LayoutingEnum LAYOUT_EDEFAULT = LayoutingEnum.HORIZONTAL;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected LayoutingEnum layout = LAYOUT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LayoutingStrategyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.LAYOUTING_STRATEGY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LayoutingEnum getLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayout(LayoutingEnum newLayout) {
+ LayoutingEnum oldLayout = layout;
+ layout = newLayout == null ? LAYOUT_EDEFAULT : newLayout;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.LAYOUTING_STRATEGY__LAYOUT, oldLayout, layout));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StrategyDSLPackage.LAYOUTING_STRATEGY__LAYOUT:
+ return getLayout();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StrategyDSLPackage.LAYOUTING_STRATEGY__LAYOUT:
+ setLayout((LayoutingEnum)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.LAYOUTING_STRATEGY__LAYOUT:
+ setLayout(LAYOUT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.LAYOUTING_STRATEGY__LAYOUT:
+ return layout != LAYOUT_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (layout: ");
+ result.append(layout);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LayoutingStrategyImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyBaseImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyBaseImpl.java
new file mode 100644
index 0000000..5263b94
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyBaseImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.strategy.StrategyBase;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy Base</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyBaseImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StrategyBaseImpl extends StrategyLazyResolverImpl implements StrategyBase {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StrategyBaseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.STRATEGY_BASE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY_BASE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_BASE__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_BASE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_BASE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_BASE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StrategyBaseImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDSLFactoryImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDSLFactoryImpl.java
new file mode 100644
index 0000000..be4ff1b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDSLFactoryImpl.java
@@ -0,0 +1,303 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.osbp.xtext.strategy.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StrategyDSLFactoryImpl extends EFactoryImpl implements StrategyDSLFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static StrategyDSLFactory init() {
+ try {
+ StrategyDSLFactory theStrategyDSLFactory = (StrategyDSLFactory)EPackage.Registry.INSTANCE.getEFactory(StrategyDSLPackage.eNS_URI);
+ if (theStrategyDSLFactory != null) {
+ return theStrategyDSLFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new StrategyDSLFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyDSLFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case StrategyDSLPackage.STRATEGY_MODEL: return createStrategyModel();
+ case StrategyDSLPackage.STRATEGY_LAZY_RESOLVER: return createStrategyLazyResolver();
+ case StrategyDSLPackage.STRATEGY_BASE: return createStrategyBase();
+ case StrategyDSLPackage.STRATEGY_PACKAGE: return createStrategyPackage();
+ case StrategyDSLPackage.STRATEGY: return createStrategy();
+ case StrategyDSLPackage.STRATEGY_TARGET: return createStrategyTarget();
+ case StrategyDSLPackage.LAYOUTING_STRATEGY: return createLayoutingStrategy();
+ case StrategyDSLPackage.FOCUSING_STRATEGY: return createFocusingStrategy();
+ case StrategyDSLPackage.FOCUSING_ENHANCER: return createFocusingEnhancer();
+ case StrategyDSLPackage.STRATEGY_DEFAULT: return createStrategyDefault();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case StrategyDSLPackage.LAYOUTING_ENUM:
+ return createLayoutingEnumFromString(eDataType, initialValue);
+ case StrategyDSLPackage.FOCUSING_ENUM:
+ return createFocusingEnumFromString(eDataType, initialValue);
+ case StrategyDSLPackage.INTERNAL_EOBJECT:
+ return createInternalEObjectFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case StrategyDSLPackage.LAYOUTING_ENUM:
+ return convertLayoutingEnumToString(eDataType, instanceValue);
+ case StrategyDSLPackage.FOCUSING_ENUM:
+ return convertFocusingEnumToString(eDataType, instanceValue);
+ case StrategyDSLPackage.INTERNAL_EOBJECT:
+ return convertInternalEObjectToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyModel createStrategyModel() {
+ StrategyModelImpl strategyModel = new StrategyModelImpl();
+ return strategyModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyLazyResolver createStrategyLazyResolver() {
+ StrategyLazyResolverImpl strategyLazyResolver = new StrategyLazyResolverImpl();
+ return strategyLazyResolver;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyBase createStrategyBase() {
+ StrategyBaseImpl strategyBase = new StrategyBaseImpl();
+ return strategyBase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyPackage createStrategyPackage() {
+ StrategyPackageImpl strategyPackage = new StrategyPackageImpl();
+ return strategyPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Strategy createStrategy() {
+ StrategyImpl strategy = new StrategyImpl();
+ return strategy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyTarget createStrategyTarget() {
+ StrategyTargetImpl strategyTarget = new StrategyTargetImpl();
+ return strategyTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LayoutingStrategy createLayoutingStrategy() {
+ LayoutingStrategyImpl layoutingStrategy = new LayoutingStrategyImpl();
+ return layoutingStrategy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FocusingStrategy createFocusingStrategy() {
+ FocusingStrategyImpl focusingStrategy = new FocusingStrategyImpl();
+ return focusingStrategy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FocusingEnhancer createFocusingEnhancer() {
+ FocusingEnhancerImpl focusingEnhancer = new FocusingEnhancerImpl();
+ return focusingEnhancer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyDefault createStrategyDefault() {
+ StrategyDefaultImpl strategyDefault = new StrategyDefaultImpl();
+ return strategyDefault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LayoutingEnum createLayoutingEnumFromString(EDataType eDataType, String initialValue) {
+ LayoutingEnum result = LayoutingEnum.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertLayoutingEnumToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FocusingEnum createFocusingEnumFromString(EDataType eDataType, String initialValue) {
+ FocusingEnum result = FocusingEnum.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertFocusingEnumToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InternalEObject createInternalEObjectFromString(EDataType eDataType, String initialValue) {
+ return (InternalEObject)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertInternalEObjectToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyDSLPackage getStrategyDSLPackage() {
+ return (StrategyDSLPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static StrategyDSLPackage getPackage() {
+ return StrategyDSLPackage.eINSTANCE;
+ }
+
+} //StrategyDSLFactoryImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDSLPackageImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDSLPackageImpl.java
new file mode 100644
index 0000000..3d19f6a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDSLPackageImpl.java
@@ -0,0 +1,679 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.osbp.dsl.semantic.common.types.OSBPTypesPackage;
+
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer;
+import org.eclipse.osbp.xtext.strategy.FocusingEnum;
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy;
+import org.eclipse.osbp.xtext.strategy.LayoutingEnum;
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy;
+import org.eclipse.osbp.xtext.strategy.Strategy;
+import org.eclipse.osbp.xtext.strategy.StrategyBase;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLFactory;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyDefault;
+import org.eclipse.osbp.xtext.strategy.StrategyLazyResolver;
+import org.eclipse.osbp.xtext.strategy.StrategyModel;
+import org.eclipse.osbp.xtext.strategy.StrategyPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyTarget;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StrategyDSLPackageImpl extends EPackageImpl implements StrategyDSLPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass strategyModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass strategyLazyResolverEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass strategyBaseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass strategyPackageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass strategyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass strategyTargetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass layoutingStrategyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass focusingStrategyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass focusingEnhancerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass strategyDefaultEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum layoutingEnumEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum focusingEnumEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType internalEObjectEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private StrategyDSLPackageImpl() {
+ super(eNS_URI, StrategyDSLFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link StrategyDSLPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static StrategyDSLPackage init() {
+ if (isInited) return (StrategyDSLPackage)EPackage.Registry.INSTANCE.getEPackage(StrategyDSLPackage.eNS_URI);
+
+ // Obtain or create and register package
+ StrategyDSLPackageImpl theStrategyDSLPackage = (StrategyDSLPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StrategyDSLPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StrategyDSLPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ OSBPTypesPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theStrategyDSLPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theStrategyDSLPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theStrategyDSLPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(StrategyDSLPackage.eNS_URI, theStrategyDSLPackage);
+ return theStrategyDSLPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStrategyModel() {
+ return strategyModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategyModel_Packages() {
+ return (EReference)strategyModelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStrategyLazyResolver() {
+ return strategyLazyResolverEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStrategyLazyResolver__EResolveProxy__InternalEObject() {
+ return strategyLazyResolverEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStrategyBase() {
+ return strategyBaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStrategyBase_Name() {
+ return (EAttribute)strategyBaseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStrategyPackage() {
+ return strategyPackageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategyPackage_Strategy() {
+ return (EReference)strategyPackageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStrategy() {
+ return strategyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategy_Targets() {
+ return (EReference)strategyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategy_StrategyDefault() {
+ return (EReference)strategyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStrategyTarget() {
+ return strategyTargetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategyTarget_LayoutingStrategies() {
+ return (EReference)strategyTargetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategyTarget_FocusingStrategies() {
+ return (EReference)strategyTargetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategyTarget_FocusingEnhancer() {
+ return (EReference)strategyTargetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategyTarget_StrategyDefault() {
+ return (EReference)strategyTargetEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLayoutingStrategy() {
+ return layoutingStrategyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLayoutingStrategy_Layout() {
+ return (EAttribute)layoutingStrategyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFocusingStrategy() {
+ return focusingStrategyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFocusingStrategy_EcviewFocusingId() {
+ return (EAttribute)focusingStrategyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFocusingStrategy_Focus() {
+ return (EAttribute)focusingStrategyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFocusingStrategy_KeyCode() {
+ return (EAttribute)focusingStrategyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFocusingStrategy_ModifierKeys() {
+ return (EAttribute)focusingStrategyEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFocusingEnhancer() {
+ return focusingEnhancerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFocusingEnhancer_FocusingStrategies() {
+ return (EReference)focusingEnhancerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStrategyDefault() {
+ return strategyDefaultEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategyDefault_DefaultLayouting() {
+ return (EReference)strategyDefaultEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStrategyDefault_DefaultFocusing() {
+ return (EReference)strategyDefaultEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getLayoutingEnum() {
+ return layoutingEnumEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getFocusingEnum() {
+ return focusingEnumEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getInternalEObject() {
+ return internalEObjectEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyDSLFactory getStrategyDSLFactory() {
+ return (StrategyDSLFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ strategyModelEClass = createEClass(STRATEGY_MODEL);
+ createEReference(strategyModelEClass, STRATEGY_MODEL__PACKAGES);
+
+ strategyLazyResolverEClass = createEClass(STRATEGY_LAZY_RESOLVER);
+ createEOperation(strategyLazyResolverEClass, STRATEGY_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT);
+
+ strategyBaseEClass = createEClass(STRATEGY_BASE);
+ createEAttribute(strategyBaseEClass, STRATEGY_BASE__NAME);
+
+ strategyPackageEClass = createEClass(STRATEGY_PACKAGE);
+ createEReference(strategyPackageEClass, STRATEGY_PACKAGE__STRATEGY);
+
+ strategyEClass = createEClass(STRATEGY);
+ createEReference(strategyEClass, STRATEGY__TARGETS);
+ createEReference(strategyEClass, STRATEGY__STRATEGY_DEFAULT);
+
+ strategyTargetEClass = createEClass(STRATEGY_TARGET);
+ createEReference(strategyTargetEClass, STRATEGY_TARGET__LAYOUTING_STRATEGIES);
+ createEReference(strategyTargetEClass, STRATEGY_TARGET__FOCUSING_STRATEGIES);
+ createEReference(strategyTargetEClass, STRATEGY_TARGET__FOCUSING_ENHANCER);
+ createEReference(strategyTargetEClass, STRATEGY_TARGET__STRATEGY_DEFAULT);
+
+ layoutingStrategyEClass = createEClass(LAYOUTING_STRATEGY);
+ createEAttribute(layoutingStrategyEClass, LAYOUTING_STRATEGY__LAYOUT);
+
+ focusingStrategyEClass = createEClass(FOCUSING_STRATEGY);
+ createEAttribute(focusingStrategyEClass, FOCUSING_STRATEGY__ECVIEW_FOCUSING_ID);
+ createEAttribute(focusingStrategyEClass, FOCUSING_STRATEGY__FOCUS);
+ createEAttribute(focusingStrategyEClass, FOCUSING_STRATEGY__KEY_CODE);
+ createEAttribute(focusingStrategyEClass, FOCUSING_STRATEGY__MODIFIER_KEYS);
+
+ focusingEnhancerEClass = createEClass(FOCUSING_ENHANCER);
+ createEReference(focusingEnhancerEClass, FOCUSING_ENHANCER__FOCUSING_STRATEGIES);
+
+ strategyDefaultEClass = createEClass(STRATEGY_DEFAULT);
+ createEReference(strategyDefaultEClass, STRATEGY_DEFAULT__DEFAULT_LAYOUTING);
+ createEReference(strategyDefaultEClass, STRATEGY_DEFAULT__DEFAULT_FOCUSING);
+
+ // Create enums
+ layoutingEnumEEnum = createEEnum(LAYOUTING_ENUM);
+ focusingEnumEEnum = createEEnum(FOCUSING_ENUM);
+
+ // Create data types
+ internalEObjectEDataType = createEDataType(INTERNAL_EOBJECT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ OSBPTypesPackage theOSBPTypesPackage = (OSBPTypesPackage)EPackage.Registry.INSTANCE.getEPackage(OSBPTypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ strategyBaseEClass.getESuperTypes().add(this.getStrategyLazyResolver());
+ strategyPackageEClass.getESuperTypes().add(theOSBPTypesPackage.getLPackage());
+ layoutingStrategyEClass.getESuperTypes().add(this.getStrategyBase());
+ focusingStrategyEClass.getESuperTypes().add(this.getStrategyBase());
+ focusingEnhancerEClass.getESuperTypes().add(this.getStrategyBase());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(strategyModelEClass, StrategyModel.class, "StrategyModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStrategyModel_Packages(), this.getStrategyPackage(), null, "packages", null, 0, -1, StrategyModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(strategyLazyResolverEClass, StrategyLazyResolver.class, "StrategyLazyResolver", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ EOperation op = initEOperation(getStrategyLazyResolver__EResolveProxy__InternalEObject(), theEcorePackage.getEObject(), "eResolveProxy", 0, 1, !IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getInternalEObject(), "proxy", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+ initEClass(strategyBaseEClass, StrategyBase.class, "StrategyBase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStrategyBase_Name(), theEcorePackage.getEString(), "name", null, 0, 1, StrategyBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(strategyPackageEClass, StrategyPackage.class, "StrategyPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStrategyPackage_Strategy(), this.getStrategy(), null, "strategy", null, 0, 1, StrategyPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(strategyEClass, Strategy.class, "Strategy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStrategy_Targets(), this.getStrategyTarget(), null, "targets", null, 0, 1, Strategy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStrategy_StrategyDefault(), this.getStrategyDefault(), null, "strategyDefault", null, 0, 1, Strategy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(strategyTargetEClass, StrategyTarget.class, "StrategyTarget", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStrategyTarget_LayoutingStrategies(), this.getLayoutingStrategy(), null, "layoutingStrategies", null, 0, -1, StrategyTarget.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStrategyTarget_FocusingStrategies(), this.getFocusingStrategy(), null, "focusingStrategies", null, 0, -1, StrategyTarget.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStrategyTarget_FocusingEnhancer(), this.getFocusingEnhancer(), null, "focusingEnhancer", null, 0, -1, StrategyTarget.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStrategyTarget_StrategyDefault(), this.getStrategyDefault(), null, "strategyDefault", null, 0, 1, StrategyTarget.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(layoutingStrategyEClass, LayoutingStrategy.class, "LayoutingStrategy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLayoutingStrategy_Layout(), this.getLayoutingEnum(), "layout", null, 0, 1, LayoutingStrategy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(focusingStrategyEClass, FocusingStrategy.class, "FocusingStrategy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFocusingStrategy_EcviewFocusingId(), theEcorePackage.getEString(), "ecviewFocusingId", null, 0, 1, FocusingStrategy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFocusingStrategy_Focus(), this.getFocusingEnum(), "focus", null, 0, 1, FocusingStrategy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFocusingStrategy_KeyCode(), theEcorePackage.getEString(), "keyCode", null, 0, 1, FocusingStrategy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFocusingStrategy_ModifierKeys(), theEcorePackage.getEString(), "modifierKeys", null, 0, -1, FocusingStrategy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(focusingEnhancerEClass, FocusingEnhancer.class, "FocusingEnhancer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFocusingEnhancer_FocusingStrategies(), this.getFocusingStrategy(), null, "focusingStrategies", null, 0, -1, FocusingEnhancer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(strategyDefaultEClass, StrategyDefault.class, "StrategyDefault", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStrategyDefault_DefaultLayouting(), this.getLayoutingStrategy(), null, "defaultLayouting", null, 0, 1, StrategyDefault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStrategyDefault_DefaultFocusing(), this.getFocusingEnhancer(), null, "defaultFocusing", null, 0, 1, StrategyDefault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(layoutingEnumEEnum, LayoutingEnum.class, "LayoutingEnum");
+ addEEnumLiteral(layoutingEnumEEnum, LayoutingEnum.HORIZONTAL);
+ addEEnumLiteral(layoutingEnumEEnum, LayoutingEnum.VERTICAL);
+ addEEnumLiteral(layoutingEnumEEnum, LayoutingEnum.GRID);
+ addEEnumLiteral(layoutingEnumEEnum, LayoutingEnum.FORM2);
+ addEEnumLiteral(layoutingEnumEEnum, LayoutingEnum.FORM3);
+ addEEnumLiteral(layoutingEnumEEnum, LayoutingEnum.CSS);
+
+ initEEnum(focusingEnumEEnum, FocusingEnum.class, "FocusingEnum");
+ addEEnumLiteral(focusingEnumEEnum, FocusingEnum.FORWARD);
+ addEEnumLiteral(focusingEnumEEnum, FocusingEnum.BACKWARD);
+
+ // Initialize data types
+ initEDataType(internalEObjectEDataType, InternalEObject.class, "InternalEObject", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2002/Ecore
+ createEcoreAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createEcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "rootPackage", "strategydsl"
+ });
+ }
+
+} //StrategyDSLPackageImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDefaultImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDefaultImpl.java
new file mode 100644
index 0000000..06f6d3c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyDefaultImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer;
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyDefault;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy Default</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyDefaultImpl#getDefaultLayouting <em>Default Layouting</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyDefaultImpl#getDefaultFocusing <em>Default Focusing</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StrategyDefaultImpl extends MinimalEObjectImpl.Container implements StrategyDefault {
+ /**
+ * The cached value of the '{@link #getDefaultLayouting() <em>Default Layouting</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultLayouting()
+ * @generated
+ * @ordered
+ */
+ protected LayoutingStrategy defaultLayouting;
+
+ /**
+ * The cached value of the '{@link #getDefaultFocusing() <em>Default Focusing</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultFocusing()
+ * @generated
+ * @ordered
+ */
+ protected FocusingEnhancer defaultFocusing;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StrategyDefaultImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.STRATEGY_DEFAULT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LayoutingStrategy getDefaultLayouting() {
+ if (defaultLayouting != null && defaultLayouting.eIsProxy()) {
+ InternalEObject oldDefaultLayouting = (InternalEObject)defaultLayouting;
+ defaultLayouting = (LayoutingStrategy)eResolveProxy(oldDefaultLayouting);
+ if (defaultLayouting != oldDefaultLayouting) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_LAYOUTING, oldDefaultLayouting, defaultLayouting));
+ }
+ }
+ return defaultLayouting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LayoutingStrategy basicGetDefaultLayouting() {
+ return defaultLayouting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultLayouting(LayoutingStrategy newDefaultLayouting) {
+ LayoutingStrategy oldDefaultLayouting = defaultLayouting;
+ defaultLayouting = newDefaultLayouting;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_LAYOUTING, oldDefaultLayouting, defaultLayouting));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FocusingEnhancer getDefaultFocusing() {
+ if (defaultFocusing != null && defaultFocusing.eIsProxy()) {
+ InternalEObject oldDefaultFocusing = (InternalEObject)defaultFocusing;
+ defaultFocusing = (FocusingEnhancer)eResolveProxy(oldDefaultFocusing);
+ if (defaultFocusing != oldDefaultFocusing) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_FOCUSING, oldDefaultFocusing, defaultFocusing));
+ }
+ }
+ return defaultFocusing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FocusingEnhancer basicGetDefaultFocusing() {
+ return defaultFocusing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultFocusing(FocusingEnhancer newDefaultFocusing) {
+ FocusingEnhancer oldDefaultFocusing = defaultFocusing;
+ defaultFocusing = newDefaultFocusing;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_FOCUSING, oldDefaultFocusing, defaultFocusing));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_LAYOUTING:
+ if (resolve) return getDefaultLayouting();
+ return basicGetDefaultLayouting();
+ case StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_FOCUSING:
+ if (resolve) return getDefaultFocusing();
+ return basicGetDefaultFocusing();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_LAYOUTING:
+ setDefaultLayouting((LayoutingStrategy)newValue);
+ return;
+ case StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_FOCUSING:
+ setDefaultFocusing((FocusingEnhancer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_LAYOUTING:
+ setDefaultLayouting((LayoutingStrategy)null);
+ return;
+ case StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_FOCUSING:
+ setDefaultFocusing((FocusingEnhancer)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_LAYOUTING:
+ return defaultLayouting != null;
+ case StrategyDSLPackage.STRATEGY_DEFAULT__DEFAULT_FOCUSING:
+ return defaultFocusing != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StrategyDefaultImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyImpl.java
new file mode 100644
index 0000000..f07b43d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyImpl.java
@@ -0,0 +1,254 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.xtext.strategy.Strategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyDefault;
+import org.eclipse.osbp.xtext.strategy.StrategyTarget;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyImpl#getTargets <em>Targets</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyImpl#getStrategyDefault <em>Strategy Default</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StrategyImpl extends MinimalEObjectImpl.Container implements Strategy {
+ /**
+ * The cached value of the '{@link #getTargets() <em>Targets</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected StrategyTarget targets;
+
+ /**
+ * The cached value of the '{@link #getStrategyDefault() <em>Strategy Default</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrategyDefault()
+ * @generated
+ * @ordered
+ */
+ protected StrategyDefault strategyDefault;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StrategyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.STRATEGY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyTarget getTargets() {
+ return targets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTargets(StrategyTarget newTargets, NotificationChain msgs) {
+ StrategyTarget oldTargets = targets;
+ targets = newTargets;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY__TARGETS, oldTargets, newTargets);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargets(StrategyTarget newTargets) {
+ if (newTargets != targets) {
+ NotificationChain msgs = null;
+ if (targets != null)
+ msgs = ((InternalEObject)targets).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StrategyDSLPackage.STRATEGY__TARGETS, null, msgs);
+ if (newTargets != null)
+ msgs = ((InternalEObject)newTargets).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StrategyDSLPackage.STRATEGY__TARGETS, null, msgs);
+ msgs = basicSetTargets(newTargets, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY__TARGETS, newTargets, newTargets));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyDefault getStrategyDefault() {
+ return strategyDefault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStrategyDefault(StrategyDefault newStrategyDefault, NotificationChain msgs) {
+ StrategyDefault oldStrategyDefault = strategyDefault;
+ strategyDefault = newStrategyDefault;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY__STRATEGY_DEFAULT, oldStrategyDefault, newStrategyDefault);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStrategyDefault(StrategyDefault newStrategyDefault) {
+ if (newStrategyDefault != strategyDefault) {
+ NotificationChain msgs = null;
+ if (strategyDefault != null)
+ msgs = ((InternalEObject)strategyDefault).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StrategyDSLPackage.STRATEGY__STRATEGY_DEFAULT, null, msgs);
+ if (newStrategyDefault != null)
+ msgs = ((InternalEObject)newStrategyDefault).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StrategyDSLPackage.STRATEGY__STRATEGY_DEFAULT, null, msgs);
+ msgs = basicSetStrategyDefault(newStrategyDefault, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY__STRATEGY_DEFAULT, newStrategyDefault, newStrategyDefault));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY__TARGETS:
+ return basicSetTargets(null, msgs);
+ case StrategyDSLPackage.STRATEGY__STRATEGY_DEFAULT:
+ return basicSetStrategyDefault(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY__TARGETS:
+ return getTargets();
+ case StrategyDSLPackage.STRATEGY__STRATEGY_DEFAULT:
+ return getStrategyDefault();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY__TARGETS:
+ setTargets((StrategyTarget)newValue);
+ return;
+ case StrategyDSLPackage.STRATEGY__STRATEGY_DEFAULT:
+ setStrategyDefault((StrategyDefault)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY__TARGETS:
+ setTargets((StrategyTarget)null);
+ return;
+ case StrategyDSLPackage.STRATEGY__STRATEGY_DEFAULT:
+ setStrategyDefault((StrategyDefault)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY__TARGETS:
+ return targets != null;
+ case StrategyDSLPackage.STRATEGY__STRATEGY_DEFAULT:
+ return strategyDefault != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StrategyImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyLazyResolverImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyLazyResolverImpl.java
new file mode 100644
index 0000000..cc5ca8e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyLazyResolverImpl.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.osbp.dsl.xtext.lazyresolver.api.EcoreUtil3;
+
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyLazyResolver;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy Lazy Resolver</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class StrategyLazyResolverImpl extends MinimalEObjectImpl.Container implements StrategyLazyResolver {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StrategyLazyResolverImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.STRATEGY_LAZY_RESOLVER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject eResolveProxy(final InternalEObject proxy) {
+ Resource _eResource = this.eResource();
+ ResourceSet _resourceSet = _eResource.getResourceSet();
+ return EcoreUtil3.resolve(proxy, _resourceSet);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StrategyDSLPackage.STRATEGY_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT:
+ return eResolveProxy((InternalEObject)arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //StrategyLazyResolverImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyModelImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyModelImpl.java
new file mode 100644
index 0000000..bebdfc5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyModelImpl.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyModel;
+import org.eclipse.osbp.xtext.strategy.StrategyPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyModelImpl#getPackages <em>Packages</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StrategyModelImpl extends MinimalEObjectImpl.Container implements StrategyModel {
+ /**
+ * The cached value of the '{@link #getPackages() <em>Packages</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPackages()
+ * @generated
+ * @ordered
+ */
+ protected EList<StrategyPackage> packages;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StrategyModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.STRATEGY_MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<StrategyPackage> getPackages() {
+ if (packages == null) {
+ packages = new EObjectContainmentEList<StrategyPackage>(StrategyPackage.class, this, StrategyDSLPackage.STRATEGY_MODEL__PACKAGES);
+ }
+ return packages;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_MODEL__PACKAGES:
+ return ((InternalEList<?>)getPackages()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_MODEL__PACKAGES:
+ return getPackages();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_MODEL__PACKAGES:
+ getPackages().clear();
+ getPackages().addAll((Collection<? extends StrategyPackage>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_MODEL__PACKAGES:
+ getPackages().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_MODEL__PACKAGES:
+ return packages != null && !packages.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StrategyModelImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyPackageImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyPackageImpl.java
new file mode 100644
index 0000000..a6d93fc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyPackageImpl.java
@@ -0,0 +1,188 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.common.types.impl.LPackageImpl;
+
+import org.eclipse.osbp.xtext.strategy.Strategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy Package</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyPackageImpl#getStrategy <em>Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StrategyPackageImpl extends LPackageImpl implements StrategyPackage {
+ /**
+ * The cached value of the '{@link #getStrategy() <em>Strategy</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrategy()
+ * @generated
+ * @ordered
+ */
+ protected Strategy strategy;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StrategyPackageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.STRATEGY_PACKAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Strategy getStrategy() {
+ return strategy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStrategy(Strategy newStrategy, NotificationChain msgs) {
+ Strategy oldStrategy = strategy;
+ strategy = newStrategy;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY_PACKAGE__STRATEGY, oldStrategy, newStrategy);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStrategy(Strategy newStrategy) {
+ if (newStrategy != strategy) {
+ NotificationChain msgs = null;
+ if (strategy != null)
+ msgs = ((InternalEObject)strategy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StrategyDSLPackage.STRATEGY_PACKAGE__STRATEGY, null, msgs);
+ if (newStrategy != null)
+ msgs = ((InternalEObject)newStrategy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StrategyDSLPackage.STRATEGY_PACKAGE__STRATEGY, null, msgs);
+ msgs = basicSetStrategy(newStrategy, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY_PACKAGE__STRATEGY, newStrategy, newStrategy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_PACKAGE__STRATEGY:
+ return basicSetStrategy(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_PACKAGE__STRATEGY:
+ return getStrategy();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_PACKAGE__STRATEGY:
+ setStrategy((Strategy)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_PACKAGE__STRATEGY:
+ setStrategy((Strategy)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_PACKAGE__STRATEGY:
+ return strategy != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StrategyPackageImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyTargetImpl.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyTargetImpl.java
new file mode 100644
index 0000000..98c03b5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/impl/StrategyTargetImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer;
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy;
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyDefault;
+import org.eclipse.osbp.xtext.strategy.StrategyTarget;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Strategy Target</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyTargetImpl#getLayoutingStrategies <em>Layouting Strategies</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyTargetImpl#getFocusingStrategies <em>Focusing Strategies</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyTargetImpl#getFocusingEnhancer <em>Focusing Enhancer</em>}</li>
+ * <li>{@link org.eclipse.osbp.xtext.strategy.impl.StrategyTargetImpl#getStrategyDefault <em>Strategy Default</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StrategyTargetImpl extends MinimalEObjectImpl.Container implements StrategyTarget {
+ /**
+ * The cached value of the '{@link #getLayoutingStrategies() <em>Layouting Strategies</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayoutingStrategies()
+ * @generated
+ * @ordered
+ */
+ protected EList<LayoutingStrategy> layoutingStrategies;
+
+ /**
+ * The cached value of the '{@link #getFocusingStrategies() <em>Focusing Strategies</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFocusingStrategies()
+ * @generated
+ * @ordered
+ */
+ protected EList<FocusingStrategy> focusingStrategies;
+
+ /**
+ * The cached value of the '{@link #getFocusingEnhancer() <em>Focusing Enhancer</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFocusingEnhancer()
+ * @generated
+ * @ordered
+ */
+ protected EList<FocusingEnhancer> focusingEnhancer;
+
+ /**
+ * The cached value of the '{@link #getStrategyDefault() <em>Strategy Default</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrategyDefault()
+ * @generated
+ * @ordered
+ */
+ protected StrategyDefault strategyDefault;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StrategyTargetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StrategyDSLPackage.Literals.STRATEGY_TARGET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<LayoutingStrategy> getLayoutingStrategies() {
+ if (layoutingStrategies == null) {
+ layoutingStrategies = new EObjectContainmentEList<LayoutingStrategy>(LayoutingStrategy.class, this, StrategyDSLPackage.STRATEGY_TARGET__LAYOUTING_STRATEGIES);
+ }
+ return layoutingStrategies;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FocusingStrategy> getFocusingStrategies() {
+ if (focusingStrategies == null) {
+ focusingStrategies = new EObjectContainmentEList<FocusingStrategy>(FocusingStrategy.class, this, StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_STRATEGIES);
+ }
+ return focusingStrategies;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FocusingEnhancer> getFocusingEnhancer() {
+ if (focusingEnhancer == null) {
+ focusingEnhancer = new EObjectContainmentEList<FocusingEnhancer>(FocusingEnhancer.class, this, StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_ENHANCER);
+ }
+ return focusingEnhancer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyDefault getStrategyDefault() {
+ return strategyDefault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStrategyDefault(StrategyDefault newStrategyDefault, NotificationChain msgs) {
+ StrategyDefault oldStrategyDefault = strategyDefault;
+ strategyDefault = newStrategyDefault;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY_TARGET__STRATEGY_DEFAULT, oldStrategyDefault, newStrategyDefault);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStrategyDefault(StrategyDefault newStrategyDefault) {
+ if (newStrategyDefault != strategyDefault) {
+ NotificationChain msgs = null;
+ if (strategyDefault != null)
+ msgs = ((InternalEObject)strategyDefault).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StrategyDSLPackage.STRATEGY_TARGET__STRATEGY_DEFAULT, null, msgs);
+ if (newStrategyDefault != null)
+ msgs = ((InternalEObject)newStrategyDefault).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StrategyDSLPackage.STRATEGY_TARGET__STRATEGY_DEFAULT, null, msgs);
+ msgs = basicSetStrategyDefault(newStrategyDefault, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StrategyDSLPackage.STRATEGY_TARGET__STRATEGY_DEFAULT, newStrategyDefault, newStrategyDefault));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_TARGET__LAYOUTING_STRATEGIES:
+ return ((InternalEList<?>)getLayoutingStrategies()).basicRemove(otherEnd, msgs);
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_STRATEGIES:
+ return ((InternalEList<?>)getFocusingStrategies()).basicRemove(otherEnd, msgs);
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_ENHANCER:
+ return ((InternalEList<?>)getFocusingEnhancer()).basicRemove(otherEnd, msgs);
+ case StrategyDSLPackage.STRATEGY_TARGET__STRATEGY_DEFAULT:
+ return basicSetStrategyDefault(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_TARGET__LAYOUTING_STRATEGIES:
+ return getLayoutingStrategies();
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_STRATEGIES:
+ return getFocusingStrategies();
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_ENHANCER:
+ return getFocusingEnhancer();
+ case StrategyDSLPackage.STRATEGY_TARGET__STRATEGY_DEFAULT:
+ return getStrategyDefault();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_TARGET__LAYOUTING_STRATEGIES:
+ getLayoutingStrategies().clear();
+ getLayoutingStrategies().addAll((Collection<? extends LayoutingStrategy>)newValue);
+ return;
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_STRATEGIES:
+ getFocusingStrategies().clear();
+ getFocusingStrategies().addAll((Collection<? extends FocusingStrategy>)newValue);
+ return;
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_ENHANCER:
+ getFocusingEnhancer().clear();
+ getFocusingEnhancer().addAll((Collection<? extends FocusingEnhancer>)newValue);
+ return;
+ case StrategyDSLPackage.STRATEGY_TARGET__STRATEGY_DEFAULT:
+ setStrategyDefault((StrategyDefault)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_TARGET__LAYOUTING_STRATEGIES:
+ getLayoutingStrategies().clear();
+ return;
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_STRATEGIES:
+ getFocusingStrategies().clear();
+ return;
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_ENHANCER:
+ getFocusingEnhancer().clear();
+ return;
+ case StrategyDSLPackage.STRATEGY_TARGET__STRATEGY_DEFAULT:
+ setStrategyDefault((StrategyDefault)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StrategyDSLPackage.STRATEGY_TARGET__LAYOUTING_STRATEGIES:
+ return layoutingStrategies != null && !layoutingStrategies.isEmpty();
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_STRATEGIES:
+ return focusingStrategies != null && !focusingStrategies.isEmpty();
+ case StrategyDSLPackage.STRATEGY_TARGET__FOCUSING_ENHANCER:
+ return focusingEnhancer != null && !focusingEnhancer.isEmpty();
+ case StrategyDSLPackage.STRATEGY_TARGET__STRATEGY_DEFAULT:
+ return strategyDefault != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StrategyTargetImpl
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/util/StrategyDSLAdapterFactory.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/util/StrategyDSLAdapterFactory.java
new file mode 100644
index 0000000..f080948
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/util/StrategyDSLAdapterFactory.java
@@ -0,0 +1,332 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LLazyResolver;
+import org.eclipse.osbp.dsl.semantic.common.types.LPackage;
+
+import org.eclipse.osbp.xtext.strategy.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage
+ * @generated
+ */
+public class StrategyDSLAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static StrategyDSLPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyDSLAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = StrategyDSLPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StrategyDSLSwitch<Adapter> modelSwitch =
+ new StrategyDSLSwitch<Adapter>() {
+ @Override
+ public Adapter caseStrategyModel(StrategyModel object) {
+ return createStrategyModelAdapter();
+ }
+ @Override
+ public Adapter caseStrategyLazyResolver(StrategyLazyResolver object) {
+ return createStrategyLazyResolverAdapter();
+ }
+ @Override
+ public Adapter caseStrategyBase(StrategyBase object) {
+ return createStrategyBaseAdapter();
+ }
+ @Override
+ public Adapter caseStrategyPackage(StrategyPackage object) {
+ return createStrategyPackageAdapter();
+ }
+ @Override
+ public Adapter caseStrategy(Strategy object) {
+ return createStrategyAdapter();
+ }
+ @Override
+ public Adapter caseStrategyTarget(StrategyTarget object) {
+ return createStrategyTargetAdapter();
+ }
+ @Override
+ public Adapter caseLayoutingStrategy(LayoutingStrategy object) {
+ return createLayoutingStrategyAdapter();
+ }
+ @Override
+ public Adapter caseFocusingStrategy(FocusingStrategy object) {
+ return createFocusingStrategyAdapter();
+ }
+ @Override
+ public Adapter caseFocusingEnhancer(FocusingEnhancer object) {
+ return createFocusingEnhancerAdapter();
+ }
+ @Override
+ public Adapter caseStrategyDefault(StrategyDefault object) {
+ return createStrategyDefaultAdapter();
+ }
+ @Override
+ public Adapter caseLLazyResolver(LLazyResolver object) {
+ return createLLazyResolverAdapter();
+ }
+ @Override
+ public Adapter caseLPackage(LPackage object) {
+ return createLPackageAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.StrategyModel <em>Strategy Model</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyModel
+ * @generated
+ */
+ public Adapter createStrategyModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.StrategyLazyResolver <em>Strategy Lazy Resolver</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyLazyResolver
+ * @generated
+ */
+ public Adapter createStrategyLazyResolverAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.StrategyBase <em>Strategy Base</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyBase
+ * @generated
+ */
+ public Adapter createStrategyBaseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.StrategyPackage <em>Strategy Package</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyPackage
+ * @generated
+ */
+ public Adapter createStrategyPackageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.Strategy <em>Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.Strategy
+ * @generated
+ */
+ public Adapter createStrategyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.StrategyTarget <em>Strategy Target</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyTarget
+ * @generated
+ */
+ public Adapter createStrategyTargetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.LayoutingStrategy <em>Layouting Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.LayoutingStrategy
+ * @generated
+ */
+ public Adapter createLayoutingStrategyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.FocusingStrategy <em>Focusing Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingStrategy
+ * @generated
+ */
+ public Adapter createFocusingStrategyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.FocusingEnhancer <em>Focusing Enhancer</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.FocusingEnhancer
+ * @generated
+ */
+ public Adapter createFocusingEnhancerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.strategy.StrategyDefault <em>Strategy Default</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDefault
+ * @generated
+ */
+ public Adapter createStrategyDefaultAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.dsl.semantic.common.types.LLazyResolver <em>LLazy Resolver</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.dsl.semantic.common.types.LLazyResolver
+ * @generated
+ */
+ public Adapter createLLazyResolverAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.osbp.dsl.semantic.common.types.LPackage <em>LPackage</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.osbp.dsl.semantic.common.types.LPackage
+ * @generated
+ */
+ public Adapter createLPackageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //StrategyDSLAdapterFactory
diff --git a/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/util/StrategyDSLSwitch.java b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/util/StrategyDSLSwitch.java
new file mode 100644
index 0000000..6fafb6e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/emf-gen/org/eclipse/osbp/xtext/strategy/util/StrategyDSLSwitch.java
@@ -0,0 +1,352 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 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
+ *
+ * Based on ideas from Xtext, Xtend, Xcore
+ *
+ * Contributors{
+ * Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LLazyResolver;
+import org.eclipse.osbp.dsl.semantic.common.types.LPackage;
+
+import org.eclipse.osbp.xtext.strategy.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.strategy.StrategyDSLPackage
+ * @generated
+ */
+public class StrategyDSLSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static StrategyDSLPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StrategyDSLSwitch() {
+ if (modelPackage == null) {
+ modelPackage = StrategyDSLPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case StrategyDSLPackage.STRATEGY_MODEL: {
+ StrategyModel strategyModel = (StrategyModel)theEObject;
+ T result = caseStrategyModel(strategyModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StrategyDSLPackage.STRATEGY_LAZY_RESOLVER: {
+ StrategyLazyResolver strategyLazyResolver = (StrategyLazyResolver)theEObject;
+ T result = caseStrategyLazyResolver(strategyLazyResolver);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StrategyDSLPackage.STRATEGY_BASE: {
+ StrategyBase strategyBase = (StrategyBase)theEObject;
+ T result = caseStrategyBase(strategyBase);
+ if (result == null) result = caseStrategyLazyResolver(strategyBase);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StrategyDSLPackage.STRATEGY_PACKAGE: {
+ StrategyPackage strategyPackage = (StrategyPackage)theEObject;
+ T result = caseStrategyPackage(strategyPackage);
+ if (result == null) result = caseLPackage(strategyPackage);
+ if (result == null) result = caseLLazyResolver(strategyPackage);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StrategyDSLPackage.STRATEGY: {
+ Strategy strategy = (Strategy)theEObject;
+ T result = caseStrategy(strategy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StrategyDSLPackage.STRATEGY_TARGET: {
+ StrategyTarget strategyTarget = (StrategyTarget)theEObject;
+ T result = caseStrategyTarget(strategyTarget);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StrategyDSLPackage.LAYOUTING_STRATEGY: {
+ LayoutingStrategy layoutingStrategy = (LayoutingStrategy)theEObject;
+ T result = caseLayoutingStrategy(layoutingStrategy);
+ if (result == null) result = caseStrategyBase(layoutingStrategy);
+ if (result == null) result = caseStrategyLazyResolver(layoutingStrategy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StrategyDSLPackage.FOCUSING_STRATEGY: {
+ FocusingStrategy focusingStrategy = (FocusingStrategy)theEObject;
+ T result = caseFocusingStrategy(focusingStrategy);
+ if (result == null) result = caseStrategyBase(focusingStrategy);
+ if (result == null) result = caseStrategyLazyResolver(focusingStrategy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StrategyDSLPackage.FOCUSING_ENHANCER: {
+ FocusingEnhancer focusingEnhancer = (FocusingEnhancer)theEObject;
+ T result = caseFocusingEnhancer(focusingEnhancer);
+ if (result == null) result = caseStrategyBase(focusingEnhancer);
+ if (result == null) result = caseStrategyLazyResolver(focusingEnhancer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StrategyDSLPackage.STRATEGY_DEFAULT: {
+ StrategyDefault strategyDefault = (StrategyDefault)theEObject;
+ T result = caseStrategyDefault(strategyDefault);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy Model</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Strategy Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategyModel(StrategyModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy Lazy Resolver</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Strategy Lazy Resolver</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategyLazyResolver(StrategyLazyResolver object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy Base</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Strategy Base</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategyBase(StrategyBase object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy Package</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Strategy Package</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategyPackage(StrategyPackage object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Strategy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategy(Strategy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy Target</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Strategy Target</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategyTarget(StrategyTarget object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Layouting Strategy</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Layouting Strategy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLayoutingStrategy(LayoutingStrategy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Focusing Strategy</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Focusing Strategy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFocusingStrategy(FocusingStrategy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Focusing Enhancer</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Focusing Enhancer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFocusingEnhancer(FocusingEnhancer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Strategy Default</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Strategy Default</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStrategyDefault(StrategyDefault object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>LLazy Resolver</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>LLazy Resolver</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLLazyResolver(LLazyResolver object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>LPackage</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>LPackage</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLPackage(LPackage object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //StrategyDSLSwitch
diff --git a/org.eclipse.osbp.xtext.strategy/epl-v10.html b/org.eclipse.osbp.xtext.strategy/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy/license.html b/org.eclipse.osbp.xtext.strategy/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code,
+documentation and other files maintained in the Eclipse Foundation
+source code
+ repository ("Repository") in software modules ("Modules") and made
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to
+facilitate delivering, extending, and upgrading the Content. Typical
+modules may include plug-ins ("Plug-ins"), plug-in fragments
+("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or
+Fragments and associated material. Each Feature may be packaged as a
+sub-directory in a directory named "features". Within a Feature, files
+named "feature.xml" may contain a list of the names and version numbers
+of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included
+Features"). Within a Feature, files named "feature.xml" may contain a
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be
+contained in files named "about.html" ("Abouts"). The terms and
+conditions governing Features and
+Included Features should be contained in files named "license.html"
+("Feature Licenses"). Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the
+Feature Update License should either provide you with the terms and
+conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be
+found in the "license" property of files named "feature.properties"
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the
+terms and conditions (or references to such terms and conditions) that
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+ SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
+CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software,
+examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of
+allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This
+capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning
+Technology
+ in accordance with the Specification. By using Provisioning
+Technology in such a manner and making it available in accordance with
+the
+ Specification, you further acknowledge your agreement to, and the
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in
+which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing,
+extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology
+may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user
+the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable
+Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable
+Software Agreement must inform the user of the terms and conditions that
+ govern
+ the Installable Software and must solicit acceptance by the end
+user in the manner prescribed in such Installable Software Agreement.
+Upon such
+ indication of agreement by the user, the provisioning Technology
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use,
+and/or re-export to
+ another country, of encryption software. BEFORE using any encryption
+software, please check the country's laws, regulations and policies
+concerning the import,
+ possession, or use, and re-export of encryption software, to see if
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy/model/StrategyDSL.xcore b/org.eclipse.osbp.xtext.strategy/model/StrategyDSL.xcore
new file mode 100644
index 0000000..0253b4e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/model/StrategyDSL.xcore
@@ -0,0 +1,97 @@
+@GenModel(fileExtensions="strategy")
+@GenModel(modelName="StrategyDSL")
+@GenModel(prefix="StrategyDSL")
+@GenModel(updateClasspath="false")
+@GenModel(copyrightText="Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ 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
+
+ Based on ideas from Xtext, Xtend, Xcore
+
+ Contributors{
+ Jose C. Dominguez - Initial implementation
+ ")
+@Ecore(nsURI="http://osbp.eclipse.org/xtext/strategy/StrategyDSL")
+@Ecore(nsPrefix="strategydsl")
+@Ecore(rootPackage="strategydsl")
+package org.eclipse.osbp.xtext.strategy
+
+import GenModel
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.emf.ecore.InternalEObject
+import org.eclipse.osbp.dsl.xtext.lazyresolver.api.EcoreUtil3
+import org.eclipse.osbp.dsl.semantic.common.types.LPackage
+
+class StrategyModel {
+ contains StrategyPackage[] packages
+}
+
+type InternalEObject wraps InternalEObject
+
+class StrategyLazyResolver {
+ op EObject eResolveProxy(InternalEObject proxy) {
+ return EcoreUtil3.resolve(proxy, this.eResource().resourceSet);
+ }
+}
+
+class StrategyBase extends StrategyLazyResolver {
+ String name
+}
+
+class StrategyPackage extends LPackage{
+ contains Strategy strategy
+}
+
+class Strategy{
+ contains StrategyTarget targets
+ contains StrategyDefault strategyDefault
+}
+
+class StrategyTarget{
+ contains LayoutingStrategy[] layoutingStrategies
+ contains FocusingStrategy[] focusingStrategies
+ contains FocusingEnhancer[] focusingEnhancer
+ contains StrategyDefault strategyDefault
+}
+
+class LayoutingStrategy extends StrategyBase {
+ LayoutingEnum layout
+}
+
+class FocusingStrategy extends StrategyBase {
+ String ecviewFocusingId
+ FocusingEnum focus
+ String keyCode
+ String[] modifierKeys
+}
+
+class FocusingEnhancer extends StrategyBase {
+ refers FocusingStrategy[] focusingStrategies
+}
+
+class StrategyDefault {
+ refers LayoutingStrategy defaultLayouting
+ refers FocusingEnhancer defaultFocusing
+}
+
+enum LayoutingEnum{
+ HORIZONTAL as'Horizontal'
+ ,
+ VERTICAL as 'Vertical'
+ ,
+ GRID as 'Grid'
+ ,
+ FORM2 as 'Form2'
+ ,
+ FORM3 as 'Form3'
+ ,
+ CSS as 'Css'
+}
+
+enum FocusingEnum{
+ FORWARD as 'Forward'
+ ,
+ BACKWARD as 'Backward'
+} \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy/notice.html b/org.eclipse.osbp.xtext.strategy/notice.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/notice.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.xtext.strategy/plugin.properties b/org.eclipse.osbp.xtext.strategy/plugin.properties
new file mode 100644
index 0000000..4ef903a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = OSBP Strategy Model
+providerName = Loetz GmbH&Co.KG, 69115 Heidelberg, Germany
diff --git a/org.eclipse.osbp.xtext.strategy/plugin.xml b/org.eclipse.osbp.xtext.strategy/plugin.xml
new file mode 100644
index 0000000..60cd014
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/plugin.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated StrategyDSL -->
+ <package
+ uri="http://osbp.eclipse.org/xtext/strategy/StrategyDSL"
+ class="org.eclipse.osbp.xtext.strategy.StrategyDSLPackage"
+ genModel="model/StrategyDSL.xcore"/>
+ </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.xtext.strategy/pom.xml b/org.eclipse.osbp.xtext.strategy/pom.xml
new file mode 100644
index 0000000..615afc4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.osbp.xtext.strategy</groupId>
+ <artifactId>org.eclipse.osbp.xtext.strategy.aggregator</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <artifactId>org.eclipse.osbp.xtext.strategy</artifactId>
+ <dependencies>
+ </dependencies>
+ <build>
+ <sourceDirectory>emf-gen</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>src</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ <resource>
+ <directory>src-gen</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ <resource>
+ <directory>xtend-gen</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.1</version>
+ <configuration>
+ <source>1.8</source>
+ <target>1.8</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/AbstractStrategyDSLRuntimeModule.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/AbstractStrategyDSLRuntimeModule.java
new file mode 100644
index 0000000..d5da41c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/AbstractStrategyDSLRuntimeModule.java
@@ -0,0 +1,347 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+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.osbp.xtext.strategy.StrategyDSLRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractStrategyDSLRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/osbp/xtext/strategy/StrategyDSL.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.osbp.xtext.strategy.StrategyDSL");
+ }
+
+ 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("strategy");
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
+ return org.eclipse.osbp.xtext.strategy.serializer.StrategyDSLSemanticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
+ return org.eclipse.osbp.xtext.strategy.serializer.StrategyDSLSyntacticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
+ return org.eclipse.xtext.serializer.impl.Serializer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.osbp.xtext.strategy.parser.antlr.StrategyDSLParser.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.osbp.xtext.strategy.parser.antlr.StrategyDSLAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.osbp.xtext.strategy.parser.antlr.internal.InternalStrategyDSLLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.osbp.xtext.strategy.parser.antlr.internal.InternalStrategyDSLLexer> provideInternalStrategyDSLLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.osbp.xtext.strategy.parser.antlr.internal.InternalStrategyDSLLexer.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.osbp.xtext.strategy.parser.antlr.internal.InternalStrategyDSLLexer.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.ValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.osbp.xtext.strategy.validation.StrategyDSLValidator> bindStrategyDSLValidator() {
+ return org.eclipse.osbp.xtext.strategy.validation.StrategyDSLValidator.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.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 configureIResourceDescriptionsPersisted(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.PERSISTED_DESCRIPTIONS)).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.osbp.xtext.strategy.formatting.StrategyDSLFormatter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
+ return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+ return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.interpreter.IEvaluationContext> bindIEvaluationContext() {
+ return org.eclipse.xtext.xbase.interpreter.impl.DefaultEvaluationContext.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.interpreter.IExpressionInterpreter> bindIExpressionInterpreter() {
+ return org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameConverter> bindIQualifiedNameConverter() {
+ return org.eclipse.xtext.xbase.XbaseQualifiedNameConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return org.eclipse.xtext.xbase.scoping.XbaseQualifiedNameProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() {
+ return org.eclipse.xtext.xbase.conversion.XbaseValueConverterService.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.xtext.xbase.scoping.batch.IBatchScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public void configureLinkingIScopeProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(org.eclipse.xtext.linking.LinkingScopeProviderBinding.class).to(org.eclipse.xtext.xbase.scoping.batch.IBatchScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public void configureSerializerIScopeProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(org.eclipse.xtext.serializer.tokens.SerializerScopeProviderBinding.class).to(org.eclipse.xtext.xbase.serializer.SerializerScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.xbase.scoping.XbaseImportedNamespaceScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.linking.ILinker> bindILinker() {
+ return org.eclipse.xtext.xbase.linking.XbaseLazyLinker.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.resource.XtextResource> bindXtextResource() {
+ return org.eclipse.xtext.xbase.resource.BatchLinkableResource.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.xtext.xbase.validation.JvmTypeReferencesValidator> bindJvmTypeReferencesValidator() {
+ return org.eclipse.xtext.xbase.validation.JvmTypeReferencesValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.featurecalls.IdentifiableSimpleNameProvider> bindIdentifiableSimpleNameProvider() {
+ return org.eclipse.xtext.xbase.featurecalls.IdentifiableSimpleNameProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.resource.IDerivedStateComputer> bindIDerivedStateComputer() {
+ return org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.resource.IResourceDescription.Manager> bindIResourceDescription$Manager() {
+ return org.eclipse.xtext.resource.DerivedStateAwareResourceDescriptionManager.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
+ return org.eclipse.xtext.xbase.compiler.JvmModelGenerator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public org.eclipse.xtext.xtype.XtypeFactory bindXtypeFactoryToInstance() {
+ return org.eclipse.xtext.xtype.XtypeFactory.eINSTANCE;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.debug.IStratumBreakpointSupport> bindIStratumBreakpointSupport() {
+ return org.eclipse.xtext.xbase.debug.XbaseStratumBreakpointSupport.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.generator.LineSeparatorHarmonizer> bindLineSeparatorHarmonizer() {
+ return org.eclipse.xtext.xbase.compiler.output.TraceAwarePostProcessor.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() {
+ return org.eclipse.xtext.xbase.resource.XbaseResourceDescriptionStrategy.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.validation.SeverityConverter> bindSeverityConverter() {
+ return org.eclipse.xtext.xbase.validation.XbaseSeverityConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.validation.ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() {
+ return org.eclipse.xtext.xbase.validation.XbaseConfigurableIssueCodes.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.resource.EObjectAtOffsetHelper> bindEObjectAtOffsetHelper() {
+ return org.eclipse.xtext.xbase.linking.BrokenConstructorCallAwareEObjectAtOffsetHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.validation.CancelableDiagnostician> bindCancelableDiagnostician() {
+ return org.eclipse.xtext.xbase.validation.XbaseDiagnostician.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.scoping.featurecalls.StaticImplicitMethodsFeatureForTypeProvider.ExtensionClassNameProvider> bindStaticImplicitMethodsFeatureForTypeProvider$ExtensionClassNameProvider() {
+ return org.eclipse.xtext.xbase.scoping.batch.ImplicitlyImportedTypesAdapter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtend.lib.macro.file.MutableFileSystemSupport> bindMutableFileSystemSupport() {
+ return org.eclipse.xtext.xbase.file.JavaIOFileSystemSupport.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtend.lib.macro.file.FileLocations> bindFileLocations() {
+ return org.eclipse.xtext.xbase.file.FileLocationsImpl.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends com.google.inject.Provider<org.eclipse.xtext.xbase.file.WorkspaceConfig>> provideWorkspaceConfig() {
+ return org.eclipse.xtext.xbase.file.RuntimeWorkspaceConfigProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.typesystem.computation.ITypeComputer> bindITypeComputer() {
+ return org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsTypeComputer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.scoping.batch.XbaseBatchScopeProvider> bindXbaseBatchScopeProvider() {
+ return org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsBatchScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.linking.ILinkingDiagnosticMessageProvider> bindILinkingDiagnosticMessageProvider() {
+ return org.eclipse.xtext.xbase.annotations.validation.UnresolvedAnnotationTypeAwareMessageProducer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.resource.ILocationInFileProvider> bindILocationInFileProvider() {
+ return org.eclipse.xtext.xbase.jvmmodel.JvmLocationInFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.validation.FeatureNameValidator> bindFeatureNameValidator() {
+ return org.eclipse.xtext.xbase.validation.LogicalContainerAwareFeatureNameValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver> bindDefaultBatchTypeResolver() {
+ return org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareBatchTypeResolver.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver> bindDefaultReentrantTypeResolver() {
+ return org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.validation.IResourceValidator> bindIResourceValidator() {
+ return org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+ public Class<? extends org.eclipse.xtext.xbase.jvmmodel.IJvmModelInferrer> bindIJvmModelInferrer() {
+ return org.eclipse.osbp.xtext.strategy.jvmmodel.StrategyDSLJvmModelInferrer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public java.lang.ClassLoader bindClassLoaderToInstance() {
+ return getClass().getClassLoader();
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.osbp.xtext.strategy.services.StrategyDSLGrammarAccess.class;
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLStandaloneSetupGenerated.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLStandaloneSetupGenerated.java
new file mode 100644
index 0000000..83fc2d6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/StrategyDSLStandaloneSetupGenerated.java
@@ -0,0 +1,52 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+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 StrategyDSLStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ org.eclipse.xtext.xbase.annotations.XbaseWithAnnotationsStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.osbp.xtext.strategy.StrategyDSLRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+
+ org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+ org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("strategy", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("strategy", serviceProvider);
+
+
+
+
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/StrategyDSLAntlrTokenFileProvider.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/StrategyDSLAntlrTokenFileProvider.java
new file mode 100644
index 0000000..f00ff04
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/StrategyDSLAntlrTokenFileProvider.java
@@ -0,0 +1,25 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class StrategyDSLAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.tokens");
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/StrategyDSLParser.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/StrategyDSLParser.java
new file mode 100644
index 0000000..2132891
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/StrategyDSLParser.java
@@ -0,0 +1,49 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.osbp.xtext.strategy.services.StrategyDSLGrammarAccess;
+
+public class StrategyDSLParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private StrategyDSLGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.osbp.xtext.strategy.parser.antlr.internal.InternalStrategyDSLParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.osbp.xtext.strategy.parser.antlr.internal.InternalStrategyDSLParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "StrategyModel";
+ }
+
+ public StrategyDSLGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(StrategyDSLGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g
new file mode 100644
index 0000000..7b65d28
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g
@@ -0,0 +1,7310 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+grammar InternalStrategyDSL;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.osbp.xtext.strategy.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.osbp.xtext.strategy.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.osbp.xtext.strategy.services.StrategyDSLGrammarAccess;
+
+}
+
+@parser::members {
+
+ private StrategyDSLGrammarAccess grammarAccess;
+
+ public InternalStrategyDSLParser(TokenStream input, StrategyDSLGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "StrategyModel";
+ }
+
+ @Override
+ protected StrategyDSLGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+// Entry rule entryRuleStrategyModel
+entryRuleStrategyModel returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStrategyModelRule()); }
+ iv_ruleStrategyModel=ruleStrategyModel
+ { $current=$iv_ruleStrategyModel.current; }
+ EOF
+;
+
+// Rule StrategyModel
+ruleStrategyModel returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyModelAccess().getPackagesStrategyPackageParserRuleCall_0());
+ }
+ lv_packages_0_0=ruleStrategyPackage {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyModelRule());
+ }
+ add(
+ $current,
+ "packages",
+ lv_packages_0_0,
+ "StrategyPackage");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*
+;
+
+
+
+
+
+// Entry rule entryRuleStrategyPackage
+entryRuleStrategyPackage returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStrategyPackageRule()); }
+ iv_ruleStrategyPackage=ruleStrategyPackage
+ { $current=$iv_ruleStrategyPackage.current; }
+ EOF
+;
+
+// Rule StrategyPackage
+ruleStrategyPackage returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getStrategyPackageAccess().getStrategyPackageAction_0(),
+ $current);
+ }
+) otherlv_1='package'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getStrategyPackageAccess().getPackageKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyPackageAccess().getNameQualifiedNameParserRuleCall_2_0());
+ }
+ lv_name_2_0=ruleQualifiedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyPackageRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_2_0,
+ "QualifiedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getStrategyPackageAccess().getLeftCurlyBracketKeyword_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyPackageAccess().getImportsStrategyImportParserRuleCall_3_1_0());
+ }
+ lv_imports_4_0=ruleStrategyImport {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyPackageRule());
+ }
+ add(
+ $current,
+ "imports",
+ lv_imports_4_0,
+ "StrategyImport");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyPackageAccess().getStrategyStrategyParserRuleCall_3_2_0());
+ }
+ lv_strategy_5_0=ruleStrategy {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyPackageRule());
+ }
+ set(
+ $current,
+ "strategy",
+ lv_strategy_5_0,
+ "Strategy");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getStrategyPackageAccess().getRightCurlyBracketKeyword_3_3());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleStrategyImport
+entryRuleStrategyImport returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStrategyImportRule()); }
+ iv_ruleStrategyImport=ruleStrategyImport
+ { $current=$iv_ruleStrategyImport.current; }
+ EOF
+;
+
+// Rule StrategyImport
+ruleStrategyImport returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getStrategyImportAccess().getImportKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyImportAccess().getImportedNamespaceStrategyQualifiedNameWithWildCardParserRuleCall_1_0());
+ }
+ lv_importedNamespace_1_0=ruleStrategyQualifiedNameWithWildCard {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyImportRule());
+ }
+ set(
+ $current,
+ "importedNamespace",
+ lv_importedNamespace_1_0,
+ "StrategyQualifiedNameWithWildCard");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleStrategyQualifiedNameWithWildCard
+entryRuleStrategyQualifiedNameWithWildCard returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getStrategyQualifiedNameWithWildCardRule()); }
+ iv_ruleStrategyQualifiedNameWithWildCard=ruleStrategyQualifiedNameWithWildCard
+ { $current=$iv_ruleStrategyQualifiedNameWithWildCard.current.getText(); }
+ EOF
+;
+
+// Rule StrategyQualifiedNameWithWildCard
+ruleStrategyQualifiedNameWithWildCard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0());
+ }
+ this_QualifiedName_0=ruleQualifiedName {
+ $current.merge(this_QualifiedName_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+(
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0());
+ }
+
+ kw='*'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1());
+ }
+)?)
+ ;
+
+
+
+
+
+// Entry rule entryRuleStrategy
+entryRuleStrategy returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStrategyRule()); }
+ iv_ruleStrategy=ruleStrategy
+ { $current=$iv_ruleStrategy.current; }
+ EOF
+;
+
+// Rule Strategy
+ruleStrategy returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getStrategyAccess().getStrategyAction_0(),
+ $current);
+ }
+) otherlv_1='strategy'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getStrategyAccess().getStrategyKeyword_1());
+ }
+ otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyAccess().getTargetsStrategyTargetParserRuleCall_3_0());
+ }
+ lv_targets_3_0=ruleStrategyTarget {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyRule());
+ }
+ set(
+ $current,
+ "targets",
+ lv_targets_3_0,
+ "StrategyTarget");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyAccess().getStrategyDefaultStrategyDefaultParserRuleCall_4_0());
+ }
+ lv_strategyDefault_4_0=ruleStrategyDefault {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyRule());
+ }
+ set(
+ $current,
+ "strategyDefault",
+ lv_strategyDefault_4_0,
+ "StrategyDefault");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStrategyTarget
+entryRuleStrategyTarget returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStrategyTargetRule()); }
+ iv_ruleStrategyTarget=ruleStrategyTarget
+ { $current=$iv_ruleStrategyTarget.current; }
+ EOF
+;
+
+// Rule StrategyTarget
+ruleStrategyTarget returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getStrategyTargetAccess().getStrategyTargetAction_0(),
+ $current);
+ }
+) otherlv_1='targets'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getStrategyTargetAccess().getTargetsKeyword_1());
+ }
+( otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getStrategyTargetAccess().getLeftCurlyBracketKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyTargetAccess().getLayoutingStrategiesLayoutingStrategyParserRuleCall_2_1_0());
+ }
+ lv_layoutingStrategies_3_0=ruleLayoutingStrategy {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyTargetRule());
+ }
+ add(
+ $current,
+ "layoutingStrategies",
+ lv_layoutingStrategies_3_0,
+ "LayoutingStrategy");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyTargetAccess().getFocusingStrategiesFocusingStrategyParserRuleCall_2_2_0());
+ }
+ lv_focusingStrategies_4_0=ruleFocusingStrategy {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyTargetRule());
+ }
+ add(
+ $current,
+ "focusingStrategies",
+ lv_focusingStrategies_4_0,
+ "FocusingStrategy");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getStrategyTargetAccess().getFocusingEnhancerFocusingEnhancerParserRuleCall_2_3_0());
+ }
+ lv_focusingEnhancer_5_0=ruleFocusingEnhancer {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStrategyTargetRule());
+ }
+ add(
+ $current,
+ "focusingEnhancer",
+ lv_focusingEnhancer_5_0,
+ "FocusingEnhancer");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getStrategyTargetAccess().getRightCurlyBracketKeyword_2_4());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleLayoutingStrategy
+entryRuleLayoutingStrategy returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLayoutingStrategyRule()); }
+ iv_ruleLayoutingStrategy=ruleLayoutingStrategy
+ { $current=$iv_ruleLayoutingStrategy.current; }
+ EOF
+;
+
+// Rule LayoutingStrategy
+ruleLayoutingStrategy returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getLayoutingStrategyAccess().getLayoutingStrategyAction_0(),
+ $current);
+ }
+) otherlv_1='layoutingStrategy'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getLayoutingStrategyAccess().getLayoutingStrategyKeyword_1());
+ }
+(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getLayoutingStrategyAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLayoutingStrategyRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+) otherlv_3='layout='
+ {
+ newLeafNode(otherlv_3, grammarAccess.getLayoutingStrategyAccess().getLayoutKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLayoutingStrategyAccess().getLayoutLayoutingEnumEnumRuleCall_4_0());
+ }
+ lv_layout_4_0=ruleLayoutingEnum {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLayoutingStrategyRule());
+ }
+ set(
+ $current,
+ "layout",
+ lv_layout_4_0,
+ "LayoutingEnum");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleFocusingStrategy
+entryRuleFocusingStrategy returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFocusingStrategyRule()); }
+ iv_ruleFocusingStrategy=ruleFocusingStrategy
+ { $current=$iv_ruleFocusingStrategy.current; }
+ EOF
+;
+
+// Rule FocusingStrategy
+ruleFocusingStrategy returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getFocusingStrategyAccess().getFocusingStrategyAction_0(),
+ $current);
+ }
+) otherlv_1='focusingStrategy'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getFocusingStrategyAccess().getFocusingStrategyKeyword_1());
+ }
+(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getFocusingStrategyAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFocusingStrategyRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+) otherlv_3='ecviewFocusingId='
+ {
+ newLeafNode(otherlv_3, grammarAccess.getFocusingStrategyAccess().getEcviewFocusingIdKeyword_3());
+ }
+(
+(
+ lv_ecviewFocusingId_4_0=RULE_ID
+ {
+ newLeafNode(lv_ecviewFocusingId_4_0, grammarAccess.getFocusingStrategyAccess().getEcviewFocusingIdIDTerminalRuleCall_4_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFocusingStrategyRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "ecviewFocusingId",
+ lv_ecviewFocusingId_4_0,
+ "ID");
+ }
+
+)
+) otherlv_5='focus='
+ {
+ newLeafNode(otherlv_5, grammarAccess.getFocusingStrategyAccess().getFocusKeyword_5());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getFocusingStrategyAccess().getFocusFocusingEnumEnumRuleCall_6_0());
+ }
+ lv_focus_6_0=ruleFocusingEnum {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFocusingStrategyRule());
+ }
+ set(
+ $current,
+ "focus",
+ lv_focus_6_0,
+ "FocusingEnum");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_7='keyStrokeDefinition'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getFocusingStrategyAccess().getKeyStrokeDefinitionKeyword_7_0());
+ }
+ otherlv_8='{'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getFocusingStrategyAccess().getLeftCurlyBracketKeyword_7_1());
+ }
+ otherlv_9='keyCode='
+ {
+ newLeafNode(otherlv_9, grammarAccess.getFocusingStrategyAccess().getKeyCodeKeyword_7_2());
+ }
+(
+(
+ lv_keyCode_10_0=RULE_ID
+ {
+ newLeafNode(lv_keyCode_10_0, grammarAccess.getFocusingStrategyAccess().getKeyCodeIDTerminalRuleCall_7_3_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFocusingStrategyRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "keyCode",
+ lv_keyCode_10_0,
+ "ID");
+ }
+
+)
+)( otherlv_11='modifierKeys'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getFocusingStrategyAccess().getModifierKeysKeyword_7_4_0());
+ }
+ otherlv_12='{'
+ {
+ newLeafNode(otherlv_12, grammarAccess.getFocusingStrategyAccess().getLeftCurlyBracketKeyword_7_4_1());
+ }
+(
+(
+ lv_modifierKeys_13_0=RULE_ID
+ {
+ newLeafNode(lv_modifierKeys_13_0, grammarAccess.getFocusingStrategyAccess().getModifierKeysIDTerminalRuleCall_7_4_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFocusingStrategyRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "modifierKeys",
+ lv_modifierKeys_13_0,
+ "ID");
+ }
+
+)
+)* otherlv_14='}'
+ {
+ newLeafNode(otherlv_14, grammarAccess.getFocusingStrategyAccess().getRightCurlyBracketKeyword_7_4_3());
+ }
+)? otherlv_15='}'
+ {
+ newLeafNode(otherlv_15, grammarAccess.getFocusingStrategyAccess().getRightCurlyBracketKeyword_7_5());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleFocusingEnhancer
+entryRuleFocusingEnhancer returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFocusingEnhancerRule()); }
+ iv_ruleFocusingEnhancer=ruleFocusingEnhancer
+ { $current=$iv_ruleFocusingEnhancer.current; }
+ EOF
+;
+
+// Rule FocusingEnhancer
+ruleFocusingEnhancer returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getFocusingEnhancerAccess().getFocusingEnhancerAction_0(),
+ $current);
+ }
+) otherlv_1='focusingEnhancer'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getFocusingEnhancerAccess().getFocusingEnhancerKeyword_1());
+ }
+(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getFocusingEnhancerAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFocusingEnhancerRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+) otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getFocusingEnhancerAccess().getLeftCurlyBracketKeyword_3());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFocusingEnhancerRule());
+ }
+ }
+ otherlv_4=RULE_ID
+ {
+ newLeafNode(otherlv_4, grammarAccess.getFocusingEnhancerAccess().getFocusingStrategiesFocusingStrategyCrossReference_4_0());
+ }
+
+)
+)+ otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getFocusingEnhancerAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStrategyDefault
+entryRuleStrategyDefault returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStrategyDefaultRule()); }
+ iv_ruleStrategyDefault=ruleStrategyDefault
+ { $current=$iv_ruleStrategyDefault.current; }
+ EOF
+;
+
+// Rule StrategyDefault
+ruleStrategyDefault returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getStrategyDefaultAccess().getStrategyDefaultAction_0(),
+ $current);
+ }
+) otherlv_1='default'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getStrategyDefaultAccess().getDefaultKeyword_1());
+ }
+ otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getStrategyDefaultAccess().getLeftCurlyBracketKeyword_2());
+ }
+ otherlv_3='defaultLayouting='
+ {
+ newLeafNode(otherlv_3, grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingKeyword_3());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getStrategyDefaultRule());
+ }
+ }
+ otherlv_4=RULE_ID
+ {
+ newLeafNode(otherlv_4, grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingLayoutingStrategyCrossReference_4_0());
+ }
+
+)
+) otherlv_5='defaultFocusing='
+ {
+ newLeafNode(otherlv_5, grammarAccess.getStrategyDefaultAccess().getDefaultFocusingKeyword_5());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getStrategyDefaultRule());
+ }
+ }
+ otherlv_6=RULE_ID
+ {
+ newLeafNode(otherlv_6, grammarAccess.getStrategyDefaultAccess().getDefaultFocusingFocusingEnhancerCrossReference_6_0());
+ }
+
+)
+) otherlv_7='}'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getStrategyDefaultAccess().getRightCurlyBracketKeyword_7());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXAnnotation
+entryRuleXAnnotation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXAnnotationRule()); }
+ iv_ruleXAnnotation=ruleXAnnotation
+ { $current=$iv_ruleXAnnotation.current; }
+ EOF
+;
+
+// Rule XAnnotation
+ruleXAnnotation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXAnnotationAccess().getXAnnotationAction_0(),
+ $current);
+ }
+) otherlv_1='@'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXAnnotationRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0());
+ }
+ ruleQualifiedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((( '('
+)=> otherlv_3='('
+ {
+ newLeafNode(otherlv_3, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0());
+ }
+)((((((
+(
+ ruleValidID
+)
+) '='
+))=>
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0());
+ }
+ lv_elementValuePairs_4_0=ruleXAnnotationElementValuePair {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAnnotationRule());
+ }
+ add(
+ $current,
+ "elementValuePairs",
+ lv_elementValuePairs_4_0,
+ "XAnnotationElementValuePair");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_5=','
+ {
+ newLeafNode(otherlv_5, grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0());
+ }
+((((
+(
+ ruleValidID
+)
+) '='
+))=>
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0());
+ }
+ lv_elementValuePairs_6_0=ruleXAnnotationElementValuePair {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAnnotationRule());
+ }
+ add(
+ $current,
+ "elementValuePairs",
+ lv_elementValuePairs_6_0,
+ "XAnnotationElementValuePair");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0());
+ }
+ lv_value_7_0=ruleXAnnotationElementValueOrCommaList {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAnnotationRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_7_0,
+ "XAnnotationElementValueOrCommaList");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_8=')'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleXAnnotationElementValuePair
+entryRuleXAnnotationElementValuePair returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXAnnotationElementValuePairRule()); }
+ iv_ruleXAnnotationElementValuePair=ruleXAnnotationElementValuePair
+ { $current=$iv_ruleXAnnotationElementValuePair.current; }
+ EOF
+;
+
+// Rule XAnnotationElementValuePair
+ruleXAnnotationElementValuePair returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((((
+(
+ ruleValidID
+)
+) '='
+))=>((
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXAnnotationElementValuePairRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0());
+ }
+ ruleValidID {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1='='
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1());
+ }
+))(
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getValueXAnnotationElementValueParserRuleCall_1_0());
+ }
+ lv_value_2_0=ruleXAnnotationElementValue {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAnnotationElementValuePairRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_2_0,
+ "XAnnotationElementValue");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXAnnotationElementValueOrCommaList
+entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListRule()); }
+ iv_ruleXAnnotationElementValueOrCommaList=ruleXAnnotationElementValueOrCommaList
+ { $current=$iv_ruleXAnnotationElementValueOrCommaList.current; }
+ EOF
+;
+
+// Rule XAnnotationElementValueOrCommaList
+ruleXAnnotationElementValueOrCommaList returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((((((
+) '#'
+ '['
+))=>((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0(),
+ $current);
+ }
+) otherlv_1='#'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1());
+ }
+ otherlv_2='['
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2());
+ }
+))((
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
+ }
+ lv_elements_3_0=ruleXAnnotationOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+ }
+ add(
+ $current,
+ "elements",
+ lv_elements_3_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
+ }
+ lv_elements_5_0=ruleXAnnotationOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+ }
+ add(
+ $current,
+ "elements",
+ lv_elements_5_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_6=']'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2());
+ }
+)
+ |(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0());
+ }
+ this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression
+ {
+ $current = $this_XAnnotationOrExpression_7.current;
+ afterParserOrEnumRuleCall();
+ }
+((
+ {
+ $current = forceCreateModelElementAndAdd(
+ grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0(),
+ $current);
+ }
+)( otherlv_9=','
+ {
+ newLeafNode(otherlv_9, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0());
+ }
+ lv_elements_10_0=ruleXAnnotationOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+ }
+ add(
+ $current,
+ "elements",
+ lv_elements_10_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))+)?))
+;
+
+
+
+
+
+// Entry rule entryRuleXAnnotationElementValue
+entryRuleXAnnotationElementValue returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXAnnotationElementValueRule()); }
+ iv_ruleXAnnotationElementValue=ruleXAnnotationElementValue
+ { $current=$iv_ruleXAnnotationElementValue.current; }
+ EOF
+;
+
+// Rule XAnnotationElementValue
+ruleXAnnotationElementValue returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((((((
+) '#'
+ '['
+))=>((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0(),
+ $current);
+ }
+) otherlv_1='#'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1());
+ }
+ otherlv_2='['
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2());
+ }
+))((
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
+ }
+ lv_elements_3_0=ruleXAnnotationOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
+ }
+ add(
+ $current,
+ "elements",
+ lv_elements_3_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
+ }
+ lv_elements_5_0=ruleXAnnotationOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
+ }
+ add(
+ $current,
+ "elements",
+ lv_elements_5_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_6=']'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2());
+ }
+)
+ |
+ {
+ newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1());
+ }
+ this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression
+ {
+ $current = $this_XAnnotationOrExpression_7.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXAnnotationOrExpression
+entryRuleXAnnotationOrExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXAnnotationOrExpressionRule()); }
+ iv_ruleXAnnotationOrExpression=ruleXAnnotationOrExpression
+ { $current=$iv_ruleXAnnotationOrExpression.current; }
+ EOF
+;
+
+// Rule XAnnotationOrExpression
+ruleXAnnotationOrExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0());
+ }
+ this_XAnnotation_0=ruleXAnnotation
+ {
+ $current = $this_XAnnotation_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1());
+ }
+ this_XExpression_1=ruleXExpression
+ {
+ $current = $this_XExpression_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXExpression
+entryRuleXExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXExpressionRule()); }
+ iv_ruleXExpression=ruleXExpression
+ { $current=$iv_ruleXExpression.current; }
+ EOF
+;
+
+// Rule XExpression
+ruleXExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall());
+ }
+ this_XAssignment_0=ruleXAssignment
+ {
+ $current = $this_XAssignment_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+;
+
+
+
+
+
+// Entry rule entryRuleXAssignment
+entryRuleXAssignment returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXAssignmentRule()); }
+ iv_ruleXAssignment=ruleXAssignment
+ { $current=$iv_ruleXAssignment.current; }
+ EOF
+;
+
+// Rule XAssignment
+ruleXAssignment returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXAssignmentRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
+ }
+ ruleFeatureCallID {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ {
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2());
+ }
+ruleOpSingleAssign
+ {
+ afterParserOrEnumRuleCall();
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0());
+ }
+ lv_value_3_0=ruleXAssignment {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAssignmentRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_3_0,
+ "XAssignment");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |(
+ {
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0());
+ }
+ this_XOrExpression_4=ruleXOrExpression
+ {
+ $current = $this_XOrExpression_4.current;
+ afterParserOrEnumRuleCall();
+ }
+(((((
+)(
+(
+ ruleOpMultiAssign
+)
+)))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXAssignmentRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
+ }
+ ruleOpMultiAssign {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0());
+ }
+ lv_rightOperand_7_0=ruleXAssignment {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAssignmentRule());
+ }
+ set(
+ $current,
+ "rightOperand",
+ lv_rightOperand_7_0,
+ "XAssignment");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?))
+;
+
+
+
+
+
+// Entry rule entryRuleOpSingleAssign
+entryRuleOpSingleAssign returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpSingleAssignRule()); }
+ iv_ruleOpSingleAssign=ruleOpSingleAssign
+ { $current=$iv_ruleOpSingleAssign.current.getText(); }
+ EOF
+;
+
+// Rule OpSingleAssign
+ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ kw='='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword());
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRuleOpMultiAssign
+entryRuleOpMultiAssign returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpMultiAssignRule()); }
+ iv_ruleOpMultiAssign=ruleOpMultiAssign
+ { $current=$iv_ruleOpMultiAssign.current.getText(); }
+ EOF
+;
+
+// Rule OpMultiAssign
+ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='+='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0());
+ }
+
+ |
+ kw='-='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1());
+ }
+
+ |
+ kw='*='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2());
+ }
+
+ |
+ kw='/='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3());
+ }
+
+ |
+ kw='%='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4());
+ }
+
+ |(
+ kw='<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0());
+ }
+
+ kw='<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1());
+ }
+
+ kw='='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2());
+ }
+)
+ |(
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0());
+ }
+(
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1());
+ }
+)?
+ kw='>='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2());
+ }
+))
+ ;
+
+
+
+
+
+// Entry rule entryRuleXOrExpression
+entryRuleXOrExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXOrExpressionRule()); }
+ iv_ruleXOrExpression=ruleXOrExpression
+ { $current=$iv_ruleXOrExpression.current; }
+ EOF
+;
+
+// Rule XOrExpression
+ruleXOrExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0());
+ }
+ this_XAndExpression_0=ruleXAndExpression
+ {
+ $current = $this_XAndExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+(((((
+)(
+(
+ ruleOpOr
+)
+)))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXOrExpressionRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+ }
+ ruleOpOr {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0());
+ }
+ lv_rightOperand_3_0=ruleXAndExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXOrExpressionRule());
+ }
+ set(
+ $current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XAndExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpOr
+entryRuleOpOr returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpOrRule()); }
+ iv_ruleOpOr=ruleOpOr
+ { $current=$iv_ruleOpOr.current.getText(); }
+ EOF
+;
+
+// Rule OpOr
+ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ kw='||'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRuleXAndExpression
+entryRuleXAndExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXAndExpressionRule()); }
+ iv_ruleXAndExpression=ruleXAndExpression
+ { $current=$iv_ruleXAndExpression.current; }
+ EOF
+;
+
+// Rule XAndExpression
+ruleXAndExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
+ }
+ this_XEqualityExpression_0=ruleXEqualityExpression
+ {
+ $current = $this_XEqualityExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+(((((
+)(
+(
+ ruleOpAnd
+)
+)))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXAndExpressionRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+ }
+ ruleOpAnd {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
+ }
+ lv_rightOperand_3_0=ruleXEqualityExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
+ }
+ set(
+ $current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XEqualityExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpAnd
+entryRuleOpAnd returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpAndRule()); }
+ iv_ruleOpAnd=ruleOpAnd
+ { $current=$iv_ruleOpAnd.current.getText(); }
+ EOF
+;
+
+// Rule OpAnd
+ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ kw='&&'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRuleXEqualityExpression
+entryRuleXEqualityExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXEqualityExpressionRule()); }
+ iv_ruleXEqualityExpression=ruleXEqualityExpression
+ { $current=$iv_ruleXEqualityExpression.current; }
+ EOF
+;
+
+// Rule XEqualityExpression
+ruleXEqualityExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
+ }
+ this_XRelationalExpression_0=ruleXRelationalExpression
+ {
+ $current = $this_XRelationalExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+(((((
+)(
+(
+ ruleOpEquality
+)
+)))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXEqualityExpressionRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+ }
+ ruleOpEquality {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
+ }
+ lv_rightOperand_3_0=ruleXRelationalExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
+ }
+ set(
+ $current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XRelationalExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpEquality
+entryRuleOpEquality returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpEqualityRule()); }
+ iv_ruleOpEquality=ruleOpEquality
+ { $current=$iv_ruleOpEquality.current.getText(); }
+ EOF
+;
+
+// Rule OpEquality
+ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='=='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
+ }
+
+ |
+ kw='!='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
+ }
+
+ |
+ kw='==='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
+ }
+
+ |
+ kw='!=='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleXRelationalExpression
+entryRuleXRelationalExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXRelationalExpressionRule()); }
+ iv_ruleXRelationalExpression=ruleXRelationalExpression
+ { $current=$iv_ruleXRelationalExpression.current; }
+ EOF
+;
+
+// Rule XRelationalExpression
+ruleXRelationalExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0());
+ }
+ this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression
+ {
+ $current = $this_XOtherOperatorExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+((((((
+) 'instanceof'
+))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(),
+ $current);
+ }
+) otherlv_2='instanceof'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
+ }
+))(
+(
+ {
+ newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0());
+ }
+ lv_type_3_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_3_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |(((((
+)(
+(
+ ruleOpCompare
+)
+)))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXRelationalExpressionRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
+ }
+ ruleOpCompare {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0());
+ }
+ lv_rightOperand_6_0=ruleXOtherOperatorExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
+ }
+ set(
+ $current,
+ "rightOperand",
+ lv_rightOperand_6_0,
+ "XOtherOperatorExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpCompare
+entryRuleOpCompare returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpCompareRule()); }
+ iv_ruleOpCompare=ruleOpCompare
+ { $current=$iv_ruleOpCompare.current.getText(); }
+ EOF
+;
+
+// Rule OpCompare
+ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='>='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
+ }
+
+ |(
+ kw='<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0());
+ }
+
+ kw='='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1());
+ }
+)
+ |
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
+ }
+
+ |
+ kw='<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleXOtherOperatorExpression
+entryRuleXOtherOperatorExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); }
+ iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression
+ { $current=$iv_ruleXOtherOperatorExpression.current; }
+ EOF
+;
+
+// Rule XOtherOperatorExpression
+ruleXOtherOperatorExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0());
+ }
+ this_XAdditiveExpression_0=ruleXAdditiveExpression
+ {
+ $current = $this_XAdditiveExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+(((((
+)(
+(
+ ruleOpOther
+)
+)))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+ }
+ ruleOpOther {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0());
+ }
+ lv_rightOperand_3_0=ruleXAdditiveExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule());
+ }
+ set(
+ $current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XAdditiveExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpOther
+entryRuleOpOther returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpOtherRule()); }
+ iv_ruleOpOther=ruleOpOther
+ { $current=$iv_ruleOpOther.current.getText(); }
+ EOF
+;
+
+// Rule OpOther
+ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='->'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
+ }
+
+ |
+ kw='..<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
+ }
+
+ |(
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0());
+ }
+
+ kw='..'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1());
+ }
+)
+ |
+ kw='..'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
+ }
+
+ |
+ kw='=>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
+ }
+
+ |(
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0());
+ }
+((((
+ '>'
+
+ '>'
+))=>(
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0());
+ }
+
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1());
+ }
+))
+ |
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1());
+ }
+))
+ |(
+ kw='<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0());
+ }
+((((
+ '<'
+
+ '<'
+))=>(
+ kw='<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0());
+ }
+
+ kw='<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1());
+ }
+))
+ |
+ kw='<'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1());
+ }
+
+ |
+ kw='=>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2());
+ }
+))
+ |
+ kw='<>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
+ }
+
+ |
+ kw='?:'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleXAdditiveExpression
+entryRuleXAdditiveExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); }
+ iv_ruleXAdditiveExpression=ruleXAdditiveExpression
+ { $current=$iv_ruleXAdditiveExpression.current; }
+ EOF
+;
+
+// Rule XAdditiveExpression
+ruleXAdditiveExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0());
+ }
+ this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression
+ {
+ $current = $this_XMultiplicativeExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+(((((
+)(
+(
+ ruleOpAdd
+)
+)))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXAdditiveExpressionRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+ }
+ ruleOpAdd {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0());
+ }
+ lv_rightOperand_3_0=ruleXMultiplicativeExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule());
+ }
+ set(
+ $current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XMultiplicativeExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpAdd
+entryRuleOpAdd returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpAddRule()); }
+ iv_ruleOpAdd=ruleOpAdd
+ { $current=$iv_ruleOpAdd.current.getText(); }
+ EOF
+;
+
+// Rule OpAdd
+ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
+ }
+
+ |
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleXMultiplicativeExpression
+entryRuleXMultiplicativeExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); }
+ iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression
+ { $current=$iv_ruleXMultiplicativeExpression.current; }
+ EOF
+;
+
+// Rule XMultiplicativeExpression
+ruleXMultiplicativeExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0());
+ }
+ this_XUnaryOperation_0=ruleXUnaryOperation
+ {
+ $current = $this_XUnaryOperation_0.current;
+ afterParserOrEnumRuleCall();
+ }
+(((((
+)(
+(
+ ruleOpMulti
+)
+)))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+ }
+ ruleOpMulti {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0());
+ }
+ lv_rightOperand_3_0=ruleXUnaryOperation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule());
+ }
+ set(
+ $current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XUnaryOperation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpMulti
+entryRuleOpMulti returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpMultiRule()); }
+ iv_ruleOpMulti=ruleOpMulti
+ { $current=$iv_ruleOpMulti.current.getText(); }
+ EOF
+;
+
+// Rule OpMulti
+ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='*'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0());
+ }
+
+ |
+ kw='**'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1());
+ }
+
+ |
+ kw='/'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2());
+ }
+
+ |
+ kw='%'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleXUnaryOperation
+entryRuleXUnaryOperation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXUnaryOperationRule()); }
+ iv_ruleXUnaryOperation=ruleXUnaryOperation
+ { $current=$iv_ruleXUnaryOperation.current; }
+ EOF
+;
+
+// Rule XUnaryOperation
+ruleXUnaryOperation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXUnaryOperationRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
+ }
+ ruleOpUnary {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0());
+ }
+ lv_operand_2_0=ruleXUnaryOperation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXUnaryOperationRule());
+ }
+ set(
+ $current,
+ "operand",
+ lv_operand_2_0,
+ "XUnaryOperation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |
+ {
+ newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1());
+ }
+ this_XCastedExpression_3=ruleXCastedExpression
+ {
+ $current = $this_XCastedExpression_3.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleOpUnary
+entryRuleOpUnary returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpUnaryRule()); }
+ iv_ruleOpUnary=ruleOpUnary
+ { $current=$iv_ruleOpUnary.current.getText(); }
+ EOF
+;
+
+// Rule OpUnary
+ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='!'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0());
+ }
+
+ |
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1());
+ }
+
+ |
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleXCastedExpression
+entryRuleXCastedExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXCastedExpressionRule()); }
+ iv_ruleXCastedExpression=ruleXCastedExpression
+ { $current=$iv_ruleXCastedExpression.current; }
+ EOF
+;
+
+// Rule XCastedExpression
+ruleXCastedExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0());
+ }
+ this_XPostfixOperation_0=ruleXPostfixOperation
+ {
+ $current = $this_XPostfixOperation_0.current;
+ afterParserOrEnumRuleCall();
+ }
+(((((
+) 'as'
+))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(),
+ $current);
+ }
+) otherlv_2='as'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1());
+ }
+))(
+(
+ {
+ newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0());
+ }
+ lv_type_3_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXCastedExpressionRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_3_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleXPostfixOperation
+entryRuleXPostfixOperation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXPostfixOperationRule()); }
+ iv_ruleXPostfixOperation=ruleXPostfixOperation
+ { $current=$iv_ruleXPostfixOperation.current; }
+ EOF
+;
+
+// Rule XPostfixOperation
+ruleXPostfixOperation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0());
+ }
+ this_XMemberFeatureCall_0=ruleXMemberFeatureCall
+ {
+ $current = $this_XMemberFeatureCall_0.current;
+ afterParserOrEnumRuleCall();
+ }
+((((
+)(
+(
+ ruleOpPostfix
+)
+)))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(),
+ $current);
+ }
+)(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXPostfixOperationRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0());
+ }
+ ruleOpPostfix {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))?)
+;
+
+
+
+
+
+// Entry rule entryRuleOpPostfix
+entryRuleOpPostfix returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOpPostfixRule()); }
+ iv_ruleOpPostfix=ruleOpPostfix
+ { $current=$iv_ruleOpPostfix.current.getText(); }
+ EOF
+;
+
+// Rule OpPostfix
+ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='++'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0());
+ }
+
+ |
+ kw='--'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleXMemberFeatureCall
+entryRuleXMemberFeatureCall returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); }
+ iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall
+ { $current=$iv_ruleXMemberFeatureCall.current; }
+ EOF
+;
+
+// Rule XMemberFeatureCall
+ruleXMemberFeatureCall returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0());
+ }
+ this_XPrimaryExpression_0=ruleXPrimaryExpression
+ {
+ $current = $this_XPrimaryExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+((((((
+)( '.'
+
+ |(
+(
+ '::'
+
+
+)
+))(
+(
+ ruleFeatureCallID
+)
+) ruleOpSingleAssign))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(),
+ $current);
+ }
+)( otherlv_2='.'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0());
+ }
+
+ |(
+(
+ lv_explicitStatic_3_0= '::'
+ {
+ newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ setWithLastConsumed($current, "explicitStatic", true, "::");
+ }
+
+)
+))(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0());
+ }
+ ruleFeatureCallID {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3());
+ }
+ruleOpSingleAssign
+ {
+ afterParserOrEnumRuleCall();
+ }
+))(
+(
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0());
+ }
+ lv_value_6_0=ruleXAssignment {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_6_0,
+ "XAssignment");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |(((((
+)( '.'
+
+ |(
+(
+ '?.'
+
+
+)
+)
+ |(
+(
+ '::'
+
+
+)
+))))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(),
+ $current);
+ }
+)( otherlv_8='.'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0());
+ }
+
+ |(
+(
+ lv_nullSafe_9_0= '?.'
+ {
+ newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ setWithLastConsumed($current, "nullSafe", true, "?.");
+ }
+
+)
+)
+ |(
+(
+ lv_explicitStatic_10_0= '::'
+ {
+ newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ setWithLastConsumed($current, "explicitStatic", true, "::");
+ }
+
+)
+))))( otherlv_11='<'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0());
+ }
+ lv_typeArguments_12_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ $current,
+ "typeArguments",
+ lv_typeArguments_12_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_13=','
+ {
+ newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0());
+ }
+ lv_typeArguments_14_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ $current,
+ "typeArguments",
+ lv_typeArguments_14_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_15='>'
+ {
+ newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3());
+ }
+)?(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0());
+ }
+ ruleIdOrSuper {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(((
+(
+ '('
+
+
+)
+)=>
+(
+ lv_explicitOperationCall_17_0= '('
+ {
+ newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ setWithLastConsumed($current, "explicitOperationCall", true, "(");
+ }
+
+)
+)(((((
+)((
+(
+ruleJvmFormalParameter
+)
+)( ','
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+ '|'
+
+
+)
+)))=>
+(
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0());
+ }
+ lv_memberCallArguments_18_0=ruleXShortClosure {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ $current,
+ "memberCallArguments",
+ lv_memberCallArguments_18_0,
+ "XShortClosure");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0());
+ }
+ lv_memberCallArguments_19_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ $current,
+ "memberCallArguments",
+ lv_memberCallArguments_19_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_20=','
+ {
+ newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0());
+ }
+ lv_memberCallArguments_21_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ $current,
+ "memberCallArguments",
+ lv_memberCallArguments_21_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*))? otherlv_22=')'
+ {
+ newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
+ }
+)?((((
+) '['
+))=>
+(
+ {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0());
+ }
+ lv_memberCallArguments_23_0=ruleXClosure {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ $current,
+ "memberCallArguments",
+ lv_memberCallArguments_23_0,
+ "XClosure");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?))*)
+;
+
+
+
+
+
+// Entry rule entryRuleXPrimaryExpression
+entryRuleXPrimaryExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); }
+ iv_ruleXPrimaryExpression=ruleXPrimaryExpression
+ { $current=$iv_ruleXPrimaryExpression.current; }
+ EOF
+;
+
+// Rule XPrimaryExpression
+ruleXPrimaryExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0());
+ }
+ this_XConstructorCall_0=ruleXConstructorCall
+ {
+ $current = $this_XConstructorCall_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1());
+ }
+ this_XBlockExpression_1=ruleXBlockExpression
+ {
+ $current = $this_XBlockExpression_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2());
+ }
+ this_XSwitchExpression_2=ruleXSwitchExpression
+ {
+ $current = $this_XSwitchExpression_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |((((
+) 'synchronized'
+ '('
+))=>
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3());
+ }
+ this_XSynchronizedExpression_3=ruleXSynchronizedExpression
+ {
+ $current = $this_XSynchronizedExpression_3.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4());
+ }
+ this_XFeatureCall_4=ruleXFeatureCall
+ {
+ $current = $this_XFeatureCall_4.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5());
+ }
+ this_XLiteral_5=ruleXLiteral
+ {
+ $current = $this_XLiteral_5.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6());
+ }
+ this_XIfExpression_6=ruleXIfExpression
+ {
+ $current = $this_XIfExpression_6.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |((((
+) 'for'
+ '('
+(
+(
+ruleJvmFormalParameter
+)
+) ':'
+))=>
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7());
+ }
+ this_XForLoopExpression_7=ruleXForLoopExpression
+ {
+ $current = $this_XForLoopExpression_7.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8());
+ }
+ this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression
+ {
+ $current = $this_XBasicForLoopExpression_8.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9());
+ }
+ this_XWhileExpression_9=ruleXWhileExpression
+ {
+ $current = $this_XWhileExpression_9.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10());
+ }
+ this_XDoWhileExpression_10=ruleXDoWhileExpression
+ {
+ $current = $this_XDoWhileExpression_10.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11());
+ }
+ this_XThrowExpression_11=ruleXThrowExpression
+ {
+ $current = $this_XThrowExpression_11.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12());
+ }
+ this_XReturnExpression_12=ruleXReturnExpression
+ {
+ $current = $this_XReturnExpression_12.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13());
+ }
+ this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression
+ {
+ $current = $this_XTryCatchFinallyExpression_13.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14());
+ }
+ this_XParenthesizedExpression_14=ruleXParenthesizedExpression
+ {
+ $current = $this_XParenthesizedExpression_14.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXLiteral
+entryRuleXLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXLiteralRule()); }
+ iv_ruleXLiteral=ruleXLiteral
+ { $current=$iv_ruleXLiteral.current; }
+ EOF
+;
+
+// Rule XLiteral
+ruleXLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0());
+ }
+ this_XCollectionLiteral_0=ruleXCollectionLiteral
+ {
+ $current = $this_XCollectionLiteral_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |((((
+) '['
+))=>
+ {
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1());
+ }
+ this_XClosure_1=ruleXClosure
+ {
+ $current = $this_XClosure_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+ |
+ {
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2());
+ }
+ this_XBooleanLiteral_2=ruleXBooleanLiteral
+ {
+ $current = $this_XBooleanLiteral_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3());
+ }
+ this_XNumberLiteral_3=ruleXNumberLiteral
+ {
+ $current = $this_XNumberLiteral_3.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4());
+ }
+ this_XNullLiteral_4=ruleXNullLiteral
+ {
+ $current = $this_XNullLiteral_4.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5());
+ }
+ this_XStringLiteral_5=ruleXStringLiteral
+ {
+ $current = $this_XStringLiteral_5.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6());
+ }
+ this_XTypeLiteral_6=ruleXTypeLiteral
+ {
+ $current = $this_XTypeLiteral_6.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXCollectionLiteral
+entryRuleXCollectionLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXCollectionLiteralRule()); }
+ iv_ruleXCollectionLiteral=ruleXCollectionLiteral
+ { $current=$iv_ruleXCollectionLiteral.current; }
+ EOF
+;
+
+// Rule XCollectionLiteral
+ruleXCollectionLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0());
+ }
+ this_XSetLiteral_0=ruleXSetLiteral
+ {
+ $current = $this_XSetLiteral_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1());
+ }
+ this_XListLiteral_1=ruleXListLiteral
+ {
+ $current = $this_XListLiteral_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXSetLiteral
+entryRuleXSetLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXSetLiteralRule()); }
+ iv_ruleXSetLiteral=ruleXSetLiteral
+ { $current=$iv_ruleXSetLiteral.current; }
+ EOF
+;
+
+// Rule XSetLiteral
+ruleXSetLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(),
+ $current);
+ }
+) otherlv_1='#'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1());
+ }
+ otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
+ }
+ lv_elements_3_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
+ }
+ add(
+ $current,
+ "elements",
+ lv_elements_3_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
+ }
+ lv_elements_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
+ }
+ add(
+ $current,
+ "elements",
+ lv_elements_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXListLiteral
+entryRuleXListLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXListLiteralRule()); }
+ iv_ruleXListLiteral=ruleXListLiteral
+ { $current=$iv_ruleXListLiteral.current; }
+ EOF
+;
+
+// Rule XListLiteral
+ruleXListLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(),
+ $current);
+ }
+) otherlv_1='#'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1());
+ }
+ otherlv_2='['
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
+ }
+ lv_elements_3_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXListLiteralRule());
+ }
+ add(
+ $current,
+ "elements",
+ lv_elements_3_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
+ }
+ lv_elements_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXListLiteralRule());
+ }
+ add(
+ $current,
+ "elements",
+ lv_elements_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_6=']'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXClosure
+entryRuleXClosure returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXClosureRule()); }
+ iv_ruleXClosure=ruleXClosure
+ { $current=$iv_ruleXClosure.current; }
+ EOF
+;
+
+// Rule XClosure
+ruleXClosure returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((((
+) '['
+))=>((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(),
+ $current);
+ }
+) otherlv_1='['
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1());
+ }
+))(((((
+(
+ruleJvmFormalParameter
+)
+)( ','
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+ '|'
+
+
+)
+)))=>(((
+(
+ {
+ newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0());
+ }
+ lv_declaredFormalParameters_2_0=ruleJvmFormalParameter {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXClosureRule());
+ }
+ add(
+ $current,
+ "declaredFormalParameters",
+ lv_declaredFormalParameters_2_0,
+ "JvmFormalParameter");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0());
+ }
+ lv_declaredFormalParameters_4_0=ruleJvmFormalParameter {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXClosureRule());
+ }
+ add(
+ $current,
+ "declaredFormalParameters",
+ lv_declaredFormalParameters_4_0,
+ "JvmFormalParameter");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)?(
+(
+ lv_explicitSyntax_5_0= '|'
+ {
+ newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXClosureRule());
+ }
+ setWithLastConsumed($current, "explicitSyntax", true, "|");
+ }
+
+)
+)))?(
+(
+ {
+ newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0());
+ }
+ lv_expression_6_0=ruleXExpressionInClosure {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXClosureRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_6_0,
+ "XExpressionInClosure");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_7=']'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXExpressionInClosure
+entryRuleXExpressionInClosure returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXExpressionInClosureRule()); }
+ iv_ruleXExpressionInClosure=ruleXExpressionInClosure
+ { $current=$iv_ruleXExpressionInClosure.current; }
+ EOF
+;
+
+// Rule XExpressionInClosure
+ruleXExpressionInClosure returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(),
+ $current);
+ }
+)((
+(
+ {
+ newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0());
+ }
+ lv_expressions_1_0=ruleXExpressionOrVarDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule());
+ }
+ add(
+ $current,
+ "expressions",
+ lv_expressions_1_0,
+ "XExpressionOrVarDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2=';'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
+ }
+)?)*)
+;
+
+
+
+
+
+// Entry rule entryRuleXShortClosure
+entryRuleXShortClosure returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXShortClosureRule()); }
+ iv_ruleXShortClosure=ruleXShortClosure
+ { $current=$iv_ruleXShortClosure.current; }
+ EOF
+;
+
+// Rule XShortClosure
+ruleXShortClosure returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((((
+)((
+(
+ruleJvmFormalParameter
+)
+)( ','
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+ '|'
+
+
+)
+)))=>((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(),
+ $current);
+ }
+)((
+(
+ {
+ newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0());
+ }
+ lv_declaredFormalParameters_1_0=ruleJvmFormalParameter {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXShortClosureRule());
+ }
+ add(
+ $current,
+ "declaredFormalParameters",
+ lv_declaredFormalParameters_1_0,
+ "JvmFormalParameter");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2=','
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0());
+ }
+ lv_declaredFormalParameters_3_0=ruleJvmFormalParameter {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXShortClosureRule());
+ }
+ add(
+ $current,
+ "declaredFormalParameters",
+ lv_declaredFormalParameters_3_0,
+ "JvmFormalParameter");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)?(
+(
+ lv_explicitSyntax_4_0= '|'
+ {
+ newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXShortClosureRule());
+ }
+ setWithLastConsumed($current, "explicitSyntax", true, "|");
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0());
+ }
+ lv_expression_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXShortClosureRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXParenthesizedExpression
+entryRuleXParenthesizedExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); }
+ iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression
+ { $current=$iv_ruleXParenthesizedExpression.current; }
+ EOF
+;
+
+// Rule XParenthesizedExpression
+ruleXParenthesizedExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='('
+ {
+ newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
+ }
+
+ {
+ newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1());
+ }
+ this_XExpression_1=ruleXExpression
+ {
+ $current = $this_XExpression_1.current;
+ afterParserOrEnumRuleCall();
+ }
+ otherlv_2=')'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXIfExpression
+entryRuleXIfExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXIfExpressionRule()); }
+ iv_ruleXIfExpression=ruleXIfExpression
+ { $current=$iv_ruleXIfExpression.current; }
+ EOF
+;
+
+// Rule XIfExpression
+ruleXIfExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='if'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1());
+ }
+ otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0());
+ }
+ lv_if_3_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
+ }
+ set(
+ $current,
+ "if",
+ lv_if_3_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4=')'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0());
+ }
+ lv_then_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
+ }
+ set(
+ $current,
+ "then",
+ lv_then_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((( 'else'
+)=> otherlv_6='else'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0());
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0());
+ }
+ lv_else_7_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
+ }
+ set(
+ $current,
+ "else",
+ lv_else_7_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleXSwitchExpression
+entryRuleXSwitchExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXSwitchExpressionRule()); }
+ iv_ruleXSwitchExpression=ruleXSwitchExpression
+ { $current=$iv_ruleXSwitchExpression.current; }
+ EOF
+;
+
+// Rule XSwitchExpression
+ruleXSwitchExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='switch'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1());
+ }
+((((( '('
+(
+(
+ruleJvmFormalParameter
+)
+) ':'
+))=>( otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0());
+ }
+ lv_declaredParam_3_0=ruleJvmFormalParameter {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+ }
+ set(
+ $current,
+ "declaredParam",
+ lv_declaredParam_3_0,
+ "JvmFormalParameter");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4=':'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2());
+ }
+))(
+(
+ {
+ newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0());
+ }
+ lv_switch_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+ }
+ set(
+ $current,
+ "switch",
+ lv_switch_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_6=')'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2());
+ }
+)
+ |(((((
+(
+ruleJvmFormalParameter
+)
+) ':'
+))=>((
+(
+ {
+ newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0());
+ }
+ lv_declaredParam_7_0=ruleJvmFormalParameter {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+ }
+ set(
+ $current,
+ "declaredParam",
+ lv_declaredParam_7_0,
+ "JvmFormalParameter");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_8=':'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1());
+ }
+))?(
+(
+ {
+ newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0());
+ }
+ lv_switch_9_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+ }
+ set(
+ $current,
+ "switch",
+ lv_switch_9_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))) otherlv_10='{'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0());
+ }
+ lv_cases_11_0=ruleXCasePart {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+ }
+ add(
+ $current,
+ "cases",
+ lv_cases_11_0,
+ "XCasePart");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*( otherlv_12='default'
+ {
+ newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0());
+ }
+ otherlv_13=':'
+ {
+ newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0());
+ }
+ lv_default_14_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+ }
+ set(
+ $current,
+ "default",
+ lv_default_14_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_15='}'
+ {
+ newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXCasePart
+entryRuleXCasePart returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXCasePartRule()); }
+ iv_ruleXCasePart=ruleXCasePart
+ { $current=$iv_ruleXCasePart.current; }
+ EOF
+;
+
+// Rule XCasePart
+ruleXCasePart returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXCasePartAccess().getXCasePartAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0());
+ }
+ lv_typeGuard_1_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXCasePartRule());
+ }
+ set(
+ $current,
+ "typeGuard",
+ lv_typeGuard_1_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?( otherlv_2='case'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0());
+ }
+ lv_case_3_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXCasePartRule());
+ }
+ set(
+ $current,
+ "case",
+ lv_case_3_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?(( otherlv_4=':'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0());
+ }
+ lv_then_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXCasePartRule());
+ }
+ set(
+ $current,
+ "then",
+ lv_then_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |(
+(
+ lv_fallThrough_6_0= ','
+ {
+ newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXCasePartRule());
+ }
+ setWithLastConsumed($current, "fallThrough", true, ",");
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleXForLoopExpression
+entryRuleXForLoopExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXForLoopExpressionRule()); }
+ iv_ruleXForLoopExpression=ruleXForLoopExpression
+ { $current=$iv_ruleXForLoopExpression.current; }
+ EOF
+;
+
+// Rule XForLoopExpression
+ruleXForLoopExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((((
+) 'for'
+ '('
+(
+(
+ruleJvmFormalParameter
+)
+) ':'
+))=>((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(),
+ $current);
+ }
+) otherlv_1='for'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1());
+ }
+ otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0());
+ }
+ lv_declaredParam_3_0=ruleJvmFormalParameter {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
+ }
+ set(
+ $current,
+ "declaredParam",
+ lv_declaredParam_3_0,
+ "JvmFormalParameter");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4=':'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4());
+ }
+))(
+(
+ {
+ newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0());
+ }
+ lv_forExpression_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
+ }
+ set(
+ $current,
+ "forExpression",
+ lv_forExpression_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_6=')'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0());
+ }
+ lv_eachExpression_7_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
+ }
+ set(
+ $current,
+ "eachExpression",
+ lv_eachExpression_7_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXBasicForLoopExpression
+entryRuleXBasicForLoopExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); }
+ iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression
+ { $current=$iv_ruleXBasicForLoopExpression.current; }
+ EOF
+;
+
+// Rule XBasicForLoopExpression
+ruleXBasicForLoopExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='for'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1());
+ }
+ otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0());
+ }
+ lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+ }
+ add(
+ $current,
+ "initExpressions",
+ lv_initExpressions_3_0,
+ "XExpressionOrVarDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0());
+ }
+ lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+ }
+ add(
+ $current,
+ "initExpressions",
+ lv_initExpressions_5_0,
+ "XExpressionOrVarDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_6=';'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0());
+ }
+ lv_expression_7_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_7_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_8=';'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0());
+ }
+ lv_updateExpressions_9_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+ }
+ add(
+ $current,
+ "updateExpressions",
+ lv_updateExpressions_9_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_10=','
+ {
+ newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0());
+ }
+ lv_updateExpressions_11_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+ }
+ add(
+ $current,
+ "updateExpressions",
+ lv_updateExpressions_11_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_12=')'
+ {
+ newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0());
+ }
+ lv_eachExpression_13_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+ }
+ set(
+ $current,
+ "eachExpression",
+ lv_eachExpression_13_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXWhileExpression
+entryRuleXWhileExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXWhileExpressionRule()); }
+ iv_ruleXWhileExpression=ruleXWhileExpression
+ { $current=$iv_ruleXWhileExpression.current; }
+ EOF
+;
+
+// Rule XWhileExpression
+ruleXWhileExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='while'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1());
+ }
+ otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0());
+ }
+ lv_predicate_3_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule());
+ }
+ set(
+ $current,
+ "predicate",
+ lv_predicate_3_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4=')'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0());
+ }
+ lv_body_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule());
+ }
+ set(
+ $current,
+ "body",
+ lv_body_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXDoWhileExpression
+entryRuleXDoWhileExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); }
+ iv_ruleXDoWhileExpression=ruleXDoWhileExpression
+ { $current=$iv_ruleXDoWhileExpression.current; }
+ EOF
+;
+
+// Rule XDoWhileExpression
+ruleXDoWhileExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='do'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0());
+ }
+ lv_body_2_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule());
+ }
+ set(
+ $current,
+ "body",
+ lv_body_2_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3='while'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3());
+ }
+ otherlv_4='('
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0());
+ }
+ lv_predicate_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule());
+ }
+ set(
+ $current,
+ "predicate",
+ lv_predicate_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_6=')'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXBlockExpression
+entryRuleXBlockExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXBlockExpressionRule()); }
+ iv_ruleXBlockExpression=ruleXBlockExpression
+ { $current=$iv_ruleXBlockExpression.current; }
+ EOF
+;
+
+// Rule XBlockExpression
+ruleXBlockExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='{'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0());
+ }
+ lv_expressions_2_0=ruleXExpressionOrVarDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXBlockExpressionRule());
+ }
+ add(
+ $current,
+ "expressions",
+ lv_expressions_2_0,
+ "XExpressionOrVarDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=';'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
+ }
+)?)* otherlv_4='}'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXExpressionOrVarDeclaration
+entryRuleXExpressionOrVarDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); }
+ iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration
+ { $current=$iv_ruleXExpressionOrVarDeclaration.current; }
+ EOF
+;
+
+// Rule XExpressionOrVarDeclaration
+ruleXExpressionOrVarDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0());
+ }
+ this_XVariableDeclaration_0=ruleXVariableDeclaration
+ {
+ $current = $this_XVariableDeclaration_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1());
+ }
+ this_XExpression_1=ruleXExpression
+ {
+ $current = $this_XExpression_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXVariableDeclaration
+entryRuleXVariableDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXVariableDeclarationRule()); }
+ iv_ruleXVariableDeclaration=ruleXVariableDeclaration
+ { $current=$iv_ruleXVariableDeclaration.current; }
+ EOF
+;
+
+// Rule XVariableDeclaration
+ruleXVariableDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(),
+ $current);
+ }
+)((
+(
+ lv_writeable_1_0= 'var'
+ {
+ newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXVariableDeclarationRule());
+ }
+ setWithLastConsumed($current, "writeable", true, "var");
+ }
+
+)
+)
+ | otherlv_2='val'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1());
+ }
+)(((((
+(
+ruleJvmTypeReference
+)
+)(
+(
+ruleValidID
+)
+)))=>((
+(
+ {
+ newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0());
+ }
+ lv_type_3_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_3_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0());
+ }
+ lv_name_4_0=ruleValidID {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_4_0,
+ "ValidID");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0());
+ }
+ lv_name_5_0=ruleValidID {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_5_0,
+ "ValidID");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))( otherlv_6='='
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0());
+ }
+ lv_right_7_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
+ }
+ set(
+ $current,
+ "right",
+ lv_right_7_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleJvmFormalParameter
+entryRuleJvmFormalParameter returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getJvmFormalParameterRule()); }
+ iv_ruleJvmFormalParameter=ruleJvmFormalParameter
+ { $current=$iv_ruleJvmFormalParameter.current; }
+ EOF
+;
+
+// Rule JvmFormalParameter
+ruleJvmFormalParameter returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0());
+ }
+ lv_parameterType_0_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule());
+ }
+ set(
+ $current,
+ "parameterType",
+ lv_parameterType_0_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleValidID {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ValidID");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleFullJvmFormalParameter
+entryRuleFullJvmFormalParameter returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); }
+ iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter
+ { $current=$iv_ruleFullJvmFormalParameter.current; }
+ EOF
+;
+
+// Rule FullJvmFormalParameter
+ruleFullJvmFormalParameter returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0());
+ }
+ lv_parameterType_0_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule());
+ }
+ set(
+ $current,
+ "parameterType",
+ lv_parameterType_0_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleValidID {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ValidID");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXFeatureCall
+entryRuleXFeatureCall returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXFeatureCallRule()); }
+ iv_ruleXFeatureCall=ruleXFeatureCall
+ { $current=$iv_ruleXFeatureCall.current; }
+ EOF
+;
+
+// Rule XFeatureCall
+ruleXFeatureCall returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(),
+ $current);
+ }
+)( otherlv_1='<'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
+ }
+ lv_typeArguments_2_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+ }
+ add(
+ $current,
+ "typeArguments",
+ lv_typeArguments_2_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
+ }
+ lv_typeArguments_4_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+ }
+ add(
+ $current,
+ "typeArguments",
+ lv_typeArguments_4_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_5='>'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3());
+ }
+)?(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXFeatureCallRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0());
+ }
+ ruleIdOrSuper {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(((
+(
+ '('
+
+
+)
+)=>
+(
+ lv_explicitOperationCall_7_0= '('
+ {
+ newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXFeatureCallRule());
+ }
+ setWithLastConsumed($current, "explicitOperationCall", true, "(");
+ }
+
+)
+)(((((
+)((
+(
+ruleJvmFormalParameter
+)
+)( ','
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+ '|'
+
+
+)
+)))=>
+(
+ {
+ newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0());
+ }
+ lv_featureCallArguments_8_0=ruleXShortClosure {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+ }
+ add(
+ $current,
+ "featureCallArguments",
+ lv_featureCallArguments_8_0,
+ "XShortClosure");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0());
+ }
+ lv_featureCallArguments_9_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+ }
+ add(
+ $current,
+ "featureCallArguments",
+ lv_featureCallArguments_9_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_10=','
+ {
+ newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0());
+ }
+ lv_featureCallArguments_11_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+ }
+ add(
+ $current,
+ "featureCallArguments",
+ lv_featureCallArguments_11_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*))? otherlv_12=')'
+ {
+ newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2());
+ }
+)?((((
+) '['
+))=>
+(
+ {
+ newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0());
+ }
+ lv_featureCallArguments_13_0=ruleXClosure {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+ }
+ add(
+ $current,
+ "featureCallArguments",
+ lv_featureCallArguments_13_0,
+ "XClosure");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleFeatureCallID
+entryRuleFeatureCallID returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getFeatureCallIDRule()); }
+ iv_ruleFeatureCallID=ruleFeatureCallID
+ { $current=$iv_ruleFeatureCallID.current.getText(); }
+ EOF
+;
+
+// Rule FeatureCallID
+ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0());
+ }
+ this_ValidID_0=ruleValidID {
+ $current.merge(this_ValidID_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ kw='extends'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1());
+ }
+
+ |
+ kw='static'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2());
+ }
+
+ |
+ kw='import'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3());
+ }
+
+ |
+ kw='extension'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleIdOrSuper
+entryRuleIdOrSuper returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getIdOrSuperRule()); }
+ iv_ruleIdOrSuper=ruleIdOrSuper
+ { $current=$iv_ruleIdOrSuper.current.getText(); }
+ EOF
+;
+
+// Rule IdOrSuper
+ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0());
+ }
+ this_FeatureCallID_0=ruleFeatureCallID {
+ $current.merge(this_FeatureCallID_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ kw='super'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleXConstructorCall
+entryRuleXConstructorCall returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXConstructorCallRule()); }
+ iv_ruleXConstructorCall=ruleXConstructorCall
+ { $current=$iv_ruleXConstructorCall.current; }
+ EOF
+;
+
+// Rule XConstructorCall
+ruleXConstructorCall returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(),
+ $current);
+ }
+) otherlv_1='new'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXConstructorCallRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0());
+ }
+ ruleQualifiedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((( '<'
+)=> otherlv_3='<'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0());
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0());
+ }
+ lv_typeArguments_4_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+ }
+ add(
+ $current,
+ "typeArguments",
+ lv_typeArguments_4_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_5=','
+ {
+ newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0());
+ }
+ lv_typeArguments_6_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+ }
+ add(
+ $current,
+ "typeArguments",
+ lv_typeArguments_6_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_7='>'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3());
+ }
+)?(((
+(
+ '('
+
+
+)
+)=>
+(
+ lv_explicitConstructorCall_8_0= '('
+ {
+ newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXConstructorCallRule());
+ }
+ setWithLastConsumed($current, "explicitConstructorCall", true, "(");
+ }
+
+)
+)(((((
+)((
+(
+ruleJvmFormalParameter
+)
+)( ','
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+ '|'
+
+
+)
+)))=>
+(
+ {
+ newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0());
+ }
+ lv_arguments_9_0=ruleXShortClosure {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_9_0,
+ "XShortClosure");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0());
+ }
+ lv_arguments_10_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_10_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_11=','
+ {
+ newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0());
+ }
+ lv_arguments_12_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_12_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*))? otherlv_13=')'
+ {
+ newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2());
+ }
+)?((((
+) '['
+))=>
+(
+ {
+ newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0());
+ }
+ lv_arguments_14_0=ruleXClosure {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_14_0,
+ "XClosure");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleXBooleanLiteral
+entryRuleXBooleanLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXBooleanLiteralRule()); }
+ iv_ruleXBooleanLiteral=ruleXBooleanLiteral
+ { $current=$iv_ruleXBooleanLiteral.current; }
+ EOF
+;
+
+// Rule XBooleanLiteral
+ruleXBooleanLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(),
+ $current);
+ }
+)( otherlv_1='false'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0());
+ }
+
+ |(
+(
+ lv_isTrue_2_0= 'true'
+ {
+ newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXBooleanLiteralRule());
+ }
+ setWithLastConsumed($current, "isTrue", true, "true");
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleXNullLiteral
+entryRuleXNullLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXNullLiteralRule()); }
+ iv_ruleXNullLiteral=ruleXNullLiteral
+ { $current=$iv_ruleXNullLiteral.current; }
+ EOF
+;
+
+// Rule XNullLiteral
+ruleXNullLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(),
+ $current);
+ }
+) otherlv_1='null'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXNumberLiteral
+entryRuleXNumberLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXNumberLiteralRule()); }
+ iv_ruleXNumberLiteral=ruleXNumberLiteral
+ { $current=$iv_ruleXNumberLiteral.current; }
+ EOF
+;
+
+// Rule XNumberLiteral
+ruleXNumberLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0());
+ }
+ lv_value_1_0=ruleNumber {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXNumberLiteralRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_1_0,
+ "Number");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXStringLiteral
+entryRuleXStringLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXStringLiteralRule()); }
+ iv_ruleXStringLiteral=ruleXStringLiteral
+ { $current=$iv_ruleXStringLiteral.current; }
+ EOF
+;
+
+// Rule XStringLiteral
+ruleXStringLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(),
+ $current);
+ }
+)(
+(
+ lv_value_1_0=RULE_STRING
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXStringLiteralRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "STRING");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXTypeLiteral
+entryRuleXTypeLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXTypeLiteralRule()); }
+ iv_ruleXTypeLiteral=ruleXTypeLiteral
+ { $current=$iv_ruleXTypeLiteral.current; }
+ EOF
+;
+
+// Rule XTypeLiteral
+ruleXTypeLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(),
+ $current);
+ }
+) otherlv_1='typeof'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1());
+ }
+ otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXTypeLiteralRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0());
+ }
+ ruleQualifiedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0());
+ }
+ lv_arrayDimensions_4_0=ruleArrayBrackets {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXTypeLiteralRule());
+ }
+ add(
+ $current,
+ "arrayDimensions",
+ lv_arrayDimensions_4_0,
+ "ArrayBrackets");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXThrowExpression
+entryRuleXThrowExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXThrowExpressionRule()); }
+ iv_ruleXThrowExpression=ruleXThrowExpression
+ { $current=$iv_ruleXThrowExpression.current; }
+ EOF
+;
+
+// Rule XThrowExpression
+ruleXThrowExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='throw'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
+ }
+ lv_expression_2_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXThrowExpressionRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_2_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXReturnExpression
+entryRuleXReturnExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXReturnExpressionRule()); }
+ iv_ruleXReturnExpression=ruleXReturnExpression
+ { $current=$iv_ruleXReturnExpression.current; }
+ EOF
+;
+
+// Rule XReturnExpression
+ruleXReturnExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='return'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1());
+ }
+(( 'extends'
+ | 'static'
+ | 'import'
+ | 'extension'
+ | '!'
+ | '-'
+ | '+'
+ | 'new'
+ | '{'
+ | 'switch'
+ | 'synchronized'
+ | '<'
+ | 'super'
+ | '#'
+ | '['
+ | 'false'
+ | 'true'
+ | 'null'
+ | 'typeof'
+ | 'if'
+ | 'for'
+ | 'while'
+ | 'do'
+ | 'throw'
+ | 'return'
+ | 'try'
+ | '('
+ | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING)=>
+(
+ {
+ newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
+ }
+ lv_expression_2_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXReturnExpressionRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_2_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleXTryCatchFinallyExpression
+entryRuleXTryCatchFinallyExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); }
+ iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression
+ { $current=$iv_ruleXTryCatchFinallyExpression.current; }
+ EOF
+;
+
+// Rule XTryCatchFinallyExpression
+ruleXTryCatchFinallyExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='try'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
+ }
+ lv_expression_2_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_2_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(((( 'catch'
+)=>
+(
+ {
+ newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0());
+ }
+ lv_catchClauses_3_0=ruleXCatchClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
+ }
+ add(
+ $current,
+ "catchClauses",
+ lv_catchClauses_3_0,
+ "XCatchClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+((( 'finally'
+)=> otherlv_4='finally'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0());
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0());
+ }
+ lv_finallyExpression_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
+ }
+ set(
+ $current,
+ "finallyExpression",
+ lv_finallyExpression_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+ |( otherlv_6='finally'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0());
+ }
+ lv_finallyExpression_7_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
+ }
+ set(
+ $current,
+ "finallyExpression",
+ lv_finallyExpression_7_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))))
+;
+
+
+
+
+
+// Entry rule entryRuleXSynchronizedExpression
+entryRuleXSynchronizedExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); }
+ iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression
+ { $current=$iv_ruleXSynchronizedExpression.current; }
+ EOF
+;
+
+// Rule XSynchronizedExpression
+ruleXSynchronizedExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((((
+) 'synchronized'
+ '('
+))=>((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(),
+ $current);
+ }
+) otherlv_1='synchronized'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1());
+ }
+ otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2());
+ }
+))(
+(
+ {
+ newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0());
+ }
+ lv_param_3_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule());
+ }
+ set(
+ $current,
+ "param",
+ lv_param_3_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4=')'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0());
+ }
+ lv_expression_5_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_5_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXCatchClause
+entryRuleXCatchClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXCatchClauseRule()); }
+ iv_ruleXCatchClause=ruleXCatchClause
+ { $current=$iv_ruleXCatchClause.current; }
+ EOF
+;
+
+// Rule XCatchClause
+ruleXCatchClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((( 'catch'
+)=> otherlv_0='catch'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0());
+ }
+) otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0());
+ }
+ lv_declaredParam_2_0=ruleFullJvmFormalParameter {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXCatchClauseRule());
+ }
+ set(
+ $current,
+ "declaredParam",
+ lv_declaredParam_2_0,
+ "FullJvmFormalParameter");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=')'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0());
+ }
+ lv_expression_4_0=ruleXExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXCatchClauseRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_4_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleQualifiedName
+entryRuleQualifiedName returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getQualifiedNameRule()); }
+ iv_ruleQualifiedName=ruleQualifiedName
+ { $current=$iv_ruleQualifiedName.current.getText(); }
+ EOF
+;
+
+// Rule QualifiedName
+ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
+ }
+ this_ValidID_0=ruleValidID {
+ $current.merge(this_ValidID_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+(((
+ '.'
+)=>
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0());
+ }
+)
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1());
+ }
+ this_ValidID_2=ruleValidID {
+ $current.merge(this_ValidID_2);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+)*)
+ ;
+
+
+
+
+
+// Entry rule entryRuleNumber
+entryRuleNumber returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getNumberRule()); }
+ iv_ruleNumber=ruleNumber
+ { $current=$iv_ruleNumber.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule Number
+ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+( this_HEX_0=RULE_HEX {
+ $current.merge(this_HEX_0);
+ }
+
+ {
+ newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0());
+ }
+
+ |(( this_INT_1=RULE_INT {
+ $current.merge(this_INT_1);
+ }
+
+ {
+ newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0());
+ }
+
+ | this_DECIMAL_2=RULE_DECIMAL {
+ $current.merge(this_DECIMAL_2);
+ }
+
+ {
+ newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1());
+ }
+)(
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0());
+ }
+( this_INT_4=RULE_INT {
+ $current.merge(this_INT_4);
+ }
+
+ {
+ newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0());
+ }
+
+ | this_DECIMAL_5=RULE_DECIMAL {
+ $current.merge(this_DECIMAL_5);
+ }
+
+ {
+ newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1());
+ }
+))?))
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+
+
+// Entry rule entryRuleJvmTypeReference
+entryRuleJvmTypeReference returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); }
+ iv_ruleJvmTypeReference=ruleJvmTypeReference
+ { $current=$iv_ruleJvmTypeReference.current; }
+ EOF
+;
+
+// Rule JvmTypeReference
+ruleJvmTypeReference returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0());
+ }
+ this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference
+ {
+ $current = $this_JvmParameterizedTypeReference_0.current;
+ afterParserOrEnumRuleCall();
+ }
+((((
+) ruleArrayBrackets))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(),
+ $current);
+ }
+)
+ {
+ newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1());
+ }
+ruleArrayBrackets
+ {
+ afterParserOrEnumRuleCall();
+ }
+))*)
+ |
+ {
+ newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1());
+ }
+ this_XFunctionTypeRef_3=ruleXFunctionTypeRef
+ {
+ $current = $this_XFunctionTypeRef_3.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleArrayBrackets
+entryRuleArrayBrackets returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getArrayBracketsRule()); }
+ iv_ruleArrayBrackets=ruleArrayBrackets
+ { $current=$iv_ruleArrayBrackets.current.getText(); }
+ EOF
+;
+
+// Rule ArrayBrackets
+ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='['
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0());
+ }
+
+ kw=']'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleXFunctionTypeRef
+entryRuleXFunctionTypeRef returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); }
+ iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef
+ { $current=$iv_ruleXFunctionTypeRef.current; }
+ EOF
+;
+
+// Rule XFunctionTypeRef
+ruleXFunctionTypeRef returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(( otherlv_0='('
+ {
+ newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0());
+ }
+ lv_paramTypes_1_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule());
+ }
+ add(
+ $current,
+ "paramTypes",
+ lv_paramTypes_1_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2=','
+ {
+ newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0());
+ }
+ lv_paramTypes_3_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule());
+ }
+ add(
+ $current,
+ "paramTypes",
+ lv_paramTypes_3_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_4=')'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2());
+ }
+)? otherlv_5='=>'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0());
+ }
+ lv_returnType_6_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule());
+ }
+ set(
+ $current,
+ "returnType",
+ lv_returnType_6_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleJvmParameterizedTypeReference
+entryRuleJvmParameterizedTypeReference returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); }
+ iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference
+ { $current=$iv_ruleJvmParameterizedTypeReference.current; }
+ EOF
+;
+
+// Rule JvmParameterizedTypeReference
+ruleJvmParameterizedTypeReference returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0());
+ }
+ ruleQualifiedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((( '<'
+)=> otherlv_1='<'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0());
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
+ }
+ lv_arguments_2_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_2_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
+ }
+ lv_arguments_4_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_4_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_5='>'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3());
+ }
+(((((
+) '.'
+))=>((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(),
+ $current);
+ }
+) otherlv_7='.'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1());
+ }
+))(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0());
+ }
+ ruleValidID {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((( '<'
+)=> otherlv_9='<'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0());
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0());
+ }
+ lv_arguments_10_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_10_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_11=','
+ {
+ newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0());
+ }
+ lv_arguments_12_0=ruleJvmArgumentTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_12_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_13='>'
+ {
+ newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3());
+ }
+)?)*)?)
+;
+
+
+
+
+
+// Entry rule entryRuleJvmArgumentTypeReference
+entryRuleJvmArgumentTypeReference returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); }
+ iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference
+ { $current=$iv_ruleJvmArgumentTypeReference.current; }
+ EOF
+;
+
+// Rule JvmArgumentTypeReference
+ruleJvmArgumentTypeReference returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0());
+ }
+ this_JvmTypeReference_0=ruleJvmTypeReference
+ {
+ $current = $this_JvmTypeReference_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1());
+ }
+ this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference
+ {
+ $current = $this_JvmWildcardTypeReference_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleJvmWildcardTypeReference
+entryRuleJvmWildcardTypeReference returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); }
+ iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference
+ { $current=$iv_ruleJvmWildcardTypeReference.current; }
+ EOF
+;
+
+// Rule JvmWildcardTypeReference
+ruleJvmWildcardTypeReference returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(),
+ $current);
+ }
+) otherlv_1='?'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1());
+ }
+(((
+(
+ {
+ newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0());
+ }
+ lv_constraints_2_0=ruleJvmUpperBound {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
+ }
+ add(
+ $current,
+ "constraints",
+ lv_constraints_2_0,
+ "JvmUpperBound");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0());
+ }
+ lv_constraints_3_0=ruleJvmUpperBoundAnded {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
+ }
+ add(
+ $current,
+ "constraints",
+ lv_constraints_3_0,
+ "JvmUpperBoundAnded");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0());
+ }
+ lv_constraints_4_0=ruleJvmLowerBound {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
+ }
+ add(
+ $current,
+ "constraints",
+ lv_constraints_4_0,
+ "JvmLowerBound");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0());
+ }
+ lv_constraints_5_0=ruleJvmLowerBoundAnded {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
+ }
+ add(
+ $current,
+ "constraints",
+ lv_constraints_5_0,
+ "JvmLowerBoundAnded");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*))?)
+;
+
+
+
+
+
+// Entry rule entryRuleJvmUpperBound
+entryRuleJvmUpperBound returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getJvmUpperBoundRule()); }
+ iv_ruleJvmUpperBound=ruleJvmUpperBound
+ { $current=$iv_ruleJvmUpperBound.current; }
+ EOF
+;
+
+// Rule JvmUpperBound
+ruleJvmUpperBound returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='extends'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
+ }
+ lv_typeReference_1_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule());
+ }
+ set(
+ $current,
+ "typeReference",
+ lv_typeReference_1_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleJvmUpperBoundAnded
+entryRuleJvmUpperBoundAnded returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); }
+ iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded
+ { $current=$iv_ruleJvmUpperBoundAnded.current; }
+ EOF
+;
+
+// Rule JvmUpperBoundAnded
+ruleJvmUpperBoundAnded returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='&'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
+ }
+ lv_typeReference_1_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule());
+ }
+ set(
+ $current,
+ "typeReference",
+ lv_typeReference_1_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleJvmLowerBound
+entryRuleJvmLowerBound returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getJvmLowerBoundRule()); }
+ iv_ruleJvmLowerBound=ruleJvmLowerBound
+ { $current=$iv_ruleJvmLowerBound.current; }
+ EOF
+;
+
+// Rule JvmLowerBound
+ruleJvmLowerBound returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='super'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
+ }
+ lv_typeReference_1_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule());
+ }
+ set(
+ $current,
+ "typeReference",
+ lv_typeReference_1_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleJvmLowerBoundAnded
+entryRuleJvmLowerBoundAnded returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); }
+ iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded
+ { $current=$iv_ruleJvmLowerBoundAnded.current; }
+ EOF
+;
+
+// Rule JvmLowerBoundAnded
+ruleJvmLowerBoundAnded returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='&'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
+ }
+ lv_typeReference_1_0=ruleJvmTypeReference {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule());
+ }
+ set(
+ $current,
+ "typeReference",
+ lv_typeReference_1_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+
+
+// Entry rule entryRuleQualifiedNameWithWildcard
+entryRuleQualifiedNameWithWildcard returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); }
+ iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard
+ { $current=$iv_ruleQualifiedNameWithWildcard.current.getText(); }
+ EOF
+;
+
+// Rule QualifiedNameWithWildcard
+ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0());
+ }
+ this_QualifiedName_0=ruleQualifiedName {
+ $current.merge(this_QualifiedName_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1());
+ }
+
+ kw='*'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleValidID
+entryRuleValidID returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getValidIDRule()); }
+ iv_ruleValidID=ruleValidID
+ { $current=$iv_ruleValidID.current.getText(); }
+ EOF
+;
+
+// Rule ValidID
+ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+ this_ID_0=RULE_ID {
+ $current.merge(this_ID_0);
+ }
+
+ {
+ newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall());
+ }
+
+ ;
+
+
+
+
+
+
+
+// Entry rule entryRuleXImportDeclaration
+entryRuleXImportDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getXImportDeclarationRule()); }
+ iv_ruleXImportDeclaration=ruleXImportDeclaration
+ { $current=$iv_ruleXImportDeclaration.current; }
+ EOF
+;
+
+// Rule XImportDeclaration
+ruleXImportDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0());
+ }
+(((
+(
+ lv_static_1_0= 'static'
+ {
+ newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXImportDeclarationRule());
+ }
+ setWithLastConsumed($current, "static", true, "static");
+ }
+
+)
+)(
+(
+ lv_extension_2_0= 'extension'
+ {
+ newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXImportDeclarationRule());
+ }
+ setWithLastConsumed($current, "extension", true, "extension");
+ }
+
+)
+)?(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXImportDeclarationRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0());
+ }
+ ruleQualifiedNameInStaticImport {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+ lv_wildcard_4_0= '*'
+ {
+ newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXImportDeclarationRule());
+ }
+ setWithLastConsumed($current, "wildcard", true, "*");
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0());
+ }
+ lv_memberName_5_0=ruleValidID {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule());
+ }
+ set(
+ $current,
+ "memberName",
+ lv_memberName_5_0,
+ "ValidID");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+ |(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getXImportDeclarationRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0());
+ }
+ ruleQualifiedName {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0());
+ }
+ lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule());
+ }
+ set(
+ $current,
+ "importedNamespace",
+ lv_importedNamespace_7_0,
+ "QualifiedNameWithWildcard");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))( otherlv_8=';'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleQualifiedNameInStaticImport
+entryRuleQualifiedNameInStaticImport returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); }
+ iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport
+ { $current=$iv_ruleQualifiedNameInStaticImport.current.getText(); }
+ EOF
+;
+
+// Rule QualifiedNameInStaticImport
+ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0());
+ }
+ this_ValidID_0=ruleValidID {
+ $current.merge(this_ValidID_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1());
+ }
+)+
+ ;
+
+
+
+
+
+// Rule LayoutingEnum
+ruleLayoutingEnum returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='Horizontal'
+ {
+ $current = grammarAccess.getLayoutingEnumAccess().getHORIZONTALEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getLayoutingEnumAccess().getHORIZONTALEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='Vertical'
+ {
+ $current = grammarAccess.getLayoutingEnumAccess().getVERTICALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getLayoutingEnumAccess().getVERTICALEnumLiteralDeclaration_1());
+ }
+)
+ |( enumLiteral_2='Grid'
+ {
+ $current = grammarAccess.getLayoutingEnumAccess().getGRIDEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getLayoutingEnumAccess().getGRIDEnumLiteralDeclaration_2());
+ }
+)
+ |( enumLiteral_3='Form2'
+ {
+ $current = grammarAccess.getLayoutingEnumAccess().getFORM2EnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_3, grammarAccess.getLayoutingEnumAccess().getFORM2EnumLiteralDeclaration_3());
+ }
+)
+ |( enumLiteral_4='Form3'
+ {
+ $current = grammarAccess.getLayoutingEnumAccess().getFORM3EnumLiteralDeclaration_4().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_4, grammarAccess.getLayoutingEnumAccess().getFORM3EnumLiteralDeclaration_4());
+ }
+)
+ |( enumLiteral_5='Css'
+ {
+ $current = grammarAccess.getLayoutingEnumAccess().getCSSEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_5, grammarAccess.getLayoutingEnumAccess().getCSSEnumLiteralDeclaration_5());
+ }
+));
+
+
+
+// Rule FocusingEnum
+ruleFocusingEnum returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='Forward'
+ {
+ $current = grammarAccess.getFocusingEnumAccess().getFORWARDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getFocusingEnumAccess().getFORWARDEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='Backward'
+ {
+ $current = grammarAccess.getFocusingEnumAccess().getBACKWARDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getFocusingEnumAccess().getBACKWARDEnumLiteralDeclaration_1());
+ }
+));
+
+
+
+RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?;
+
+RULE_INT : '0'..'9' ('0'..'9'|'_')*;
+
+RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?;
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*;
+
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'?|'\'' ('\\' .|~(('\\'|'\'')))* '\''?);
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.tokens b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.tokens
new file mode 100644
index 0000000..d6038be
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.tokens
@@ -0,0 +1,203 @@
+'!'=67
+'!='=52
+'!=='=54
+'#'=38
+'%'=66
+'%='=45
+'&&'=50
+'&'=101
+'('=34
+')'=36
+'*'=18
+'**'=64
+'*='=43
+'+'=62
+'++'=69
+'+='=41
+','=35
+'-'=63
+'--'=70
+'-='=42
+'->'=56
+'.'=17
+'..'=58
+'..<'=57
+'/'=65
+'/='=44
+':'=78
+'::'=71
+';'=74
+'<'=46
+'<>'=60
+'='=37
+'=='=51
+'==='=53
+'=>'=59
+'>'=47
+'>='=48
+'?'=100
+'?.'=72
+'?:'=61
+'@'=33
+'Backward'=109
+'Css'=107
+'Form2'=105
+'Form3'=106
+'Forward'=108
+'Grid'=104
+'Horizontal'=102
+'Vertical'=103
+'['=39
+']'=40
+'as'=68
+'case'=79
+'catch'=99
+'default'=30
+'defaultFocusing='=32
+'defaultLayouting='=31
+'do'=82
+'ecviewFocusingId='=24
+'else'=76
+'extends'=85
+'extension'=87
+'false'=90
+'finally'=97
+'focus='=25
+'focusingEnhancer'=29
+'focusingStrategy'=23
+'for'=80
+'if'=75
+'import'=16
+'instanceof'=55
+'keyCode='=27
+'keyStrokeDefinition'=26
+'layout='=22
+'layoutingStrategy'=21
+'modifierKeys'=28
+'new'=89
+'null'=92
+'package'=13
+'return'=95
+'static'=86
+'strategy'=19
+'super'=88
+'switch'=77
+'synchronized'=98
+'targets'=20
+'throw'=94
+'true'=91
+'try'=96
+'typeof'=93
+'val'=84
+'var'=83
+'while'=81
+'{'=14
+'|'=73
+'||'=49
+'}'=15
+RULE_ANY_OTHER=12
+RULE_DECIMAL=8
+RULE_HEX=6
+RULE_ID=4
+RULE_INT=7
+RULE_ML_COMMENT=9
+RULE_SL_COMMENT=10
+RULE_STRING=5
+RULE_WS=11
+T__100=100
+T__101=101
+T__102=102
+T__103=103
+T__104=104
+T__105=105
+T__106=106
+T__107=107
+T__108=108
+T__109=109
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
+T__32=32
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+T__39=39
+T__40=40
+T__41=41
+T__42=42
+T__43=43
+T__44=44
+T__45=45
+T__46=46
+T__47=47
+T__48=48
+T__49=49
+T__50=50
+T__51=51
+T__52=52
+T__53=53
+T__54=54
+T__55=55
+T__56=56
+T__57=57
+T__58=58
+T__59=59
+T__60=60
+T__61=61
+T__62=62
+T__63=63
+T__64=64
+T__65=65
+T__66=66
+T__67=67
+T__68=68
+T__69=69
+T__70=70
+T__71=71
+T__72=72
+T__73=73
+T__74=74
+T__75=75
+T__76=76
+T__77=77
+T__78=78
+T__79=79
+T__80=80
+T__81=81
+T__82=82
+T__83=83
+T__84=84
+T__85=85
+T__86=86
+T__87=87
+T__88=88
+T__89=89
+T__90=90
+T__91=91
+T__92=92
+T__93=93
+T__94=94
+T__95=95
+T__96=96
+T__97=97
+T__98=98
+T__99=99
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSLLexer.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSLLexer.java
new file mode 100644
index 0000000..e718982
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSLLexer.java
@@ -0,0 +1,4518 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalStrategyDSLLexer extends Lexer {
+ public static final int RULE_HEX=6;
+ public static final int T__50=50;
+ public static final int T__59=59;
+ public static final int T__55=55;
+ public static final int T__56=56;
+ public static final int T__57=57;
+ public static final int T__58=58;
+ public static final int T__51=51;
+ public static final int T__52=52;
+ public static final int T__53=53;
+ public static final int T__54=54;
+ public static final int T__60=60;
+ public static final int T__61=61;
+ public static final int RULE_ID=4;
+ public static final int RULE_INT=7;
+ public static final int T__66=66;
+ public static final int RULE_ML_COMMENT=9;
+ public static final int T__67=67;
+ public static final int T__68=68;
+ public static final int T__69=69;
+ public static final int T__62=62;
+ public static final int T__63=63;
+ public static final int T__64=64;
+ public static final int T__65=65;
+ public static final int T__37=37;
+ public static final int T__38=38;
+ public static final int T__39=39;
+ public static final int T__33=33;
+ public static final int T__34=34;
+ public static final int T__35=35;
+ public static final int T__36=36;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
+ public static final int T__48=48;
+ public static final int T__49=49;
+ public static final int T__44=44;
+ public static final int T__45=45;
+ public static final int T__46=46;
+ public static final int T__47=47;
+ public static final int T__40=40;
+ public static final int T__41=41;
+ public static final int T__42=42;
+ public static final int T__43=43;
+ public static final int T__91=91;
+ public static final int T__100=100;
+ public static final int T__92=92;
+ public static final int T__93=93;
+ public static final int T__102=102;
+ public static final int T__94=94;
+ public static final int T__101=101;
+ public static final int T__90=90;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__99=99;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int T__95=95;
+ public static final int T__96=96;
+ public static final int T__97=97;
+ public static final int T__98=98;
+ public static final int RULE_DECIMAL=8;
+ public static final int T__26=26;
+ public static final int T__27=27;
+ public static final int T__28=28;
+ public static final int T__29=29;
+ public static final int T__22=22;
+ public static final int T__23=23;
+ public static final int T__24=24;
+ public static final int T__25=25;
+ public static final int T__20=20;
+ public static final int T__21=21;
+ public static final int T__70=70;
+ public static final int T__71=71;
+ public static final int T__72=72;
+ public static final int RULE_STRING=5;
+ public static final int RULE_SL_COMMENT=10;
+ public static final int T__77=77;
+ public static final int T__78=78;
+ public static final int T__79=79;
+ public static final int T__73=73;
+ public static final int EOF=-1;
+ public static final int T__74=74;
+ public static final int T__75=75;
+ public static final int T__76=76;
+ public static final int T__80=80;
+ public static final int T__81=81;
+ public static final int T__82=82;
+ public static final int T__83=83;
+ public static final int RULE_WS=11;
+ public static final int RULE_ANY_OTHER=12;
+ public static final int T__88=88;
+ public static final int T__108=108;
+ public static final int T__89=89;
+ public static final int T__107=107;
+ public static final int T__109=109;
+ public static final int T__84=84;
+ public static final int T__104=104;
+ public static final int T__85=85;
+ public static final int T__103=103;
+ public static final int T__86=86;
+ public static final int T__106=106;
+ public static final int T__87=87;
+ public static final int T__105=105;
+
+ // delegates
+ // delegators
+
+ public InternalStrategyDSLLexer() {;}
+ public InternalStrategyDSLLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalStrategyDSLLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g"; }
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:11:7: ( 'package' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:11:9: 'package'
+ {
+ match("package");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:12:7: ( '{' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:12:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:13:7: ( '}' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:13:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:14:7: ( 'import' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:14:9: 'import'
+ {
+ match("import");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:15:7: ( '.' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:15:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:16:7: ( '*' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:16:9: '*'
+ {
+ match('*');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:17:7: ( 'strategy' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:17:9: 'strategy'
+ {
+ match("strategy");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:18:7: ( 'targets' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:18:9: 'targets'
+ {
+ match("targets");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:19:7: ( 'layoutingStrategy' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:19:9: 'layoutingStrategy'
+ {
+ match("layoutingStrategy");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:20:7: ( 'layout=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:20:9: 'layout='
+ {
+ match("layout=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:21:7: ( 'focusingStrategy' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:21:9: 'focusingStrategy'
+ {
+ match("focusingStrategy");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:22:7: ( 'ecviewFocusingId=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:22:9: 'ecviewFocusingId='
+ {
+ match("ecviewFocusingId=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:23:7: ( 'focus=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:23:9: 'focus='
+ {
+ match("focus=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:24:7: ( 'keyStrokeDefinition' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:24:9: 'keyStrokeDefinition'
+ {
+ match("keyStrokeDefinition");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:25:7: ( 'keyCode=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:25:9: 'keyCode='
+ {
+ match("keyCode=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:26:7: ( 'modifierKeys' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:26:9: 'modifierKeys'
+ {
+ match("modifierKeys");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:27:7: ( 'focusingEnhancer' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:27:9: 'focusingEnhancer'
+ {
+ match("focusingEnhancer");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:28:7: ( 'default' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:28:9: 'default'
+ {
+ match("default");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:29:7: ( 'defaultLayouting=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:29:9: 'defaultLayouting='
+ {
+ match("defaultLayouting=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "T__32"
+ public final void mT__32() throws RecognitionException {
+ try {
+ int _type = T__32;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:30:7: ( 'defaultFocusing=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:30:9: 'defaultFocusing='
+ {
+ match("defaultFocusing=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__32"
+
+ // $ANTLR start "T__33"
+ public final void mT__33() throws RecognitionException {
+ try {
+ int _type = T__33;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:31:7: ( '@' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:31:9: '@'
+ {
+ match('@');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__33"
+
+ // $ANTLR start "T__34"
+ public final void mT__34() throws RecognitionException {
+ try {
+ int _type = T__34;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:32:7: ( '(' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:32:9: '('
+ {
+ match('(');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__34"
+
+ // $ANTLR start "T__35"
+ public final void mT__35() throws RecognitionException {
+ try {
+ int _type = T__35;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:33:7: ( ',' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:33:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__35"
+
+ // $ANTLR start "T__36"
+ public final void mT__36() throws RecognitionException {
+ try {
+ int _type = T__36;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:34:7: ( ')' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:34:9: ')'
+ {
+ match(')');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__36"
+
+ // $ANTLR start "T__37"
+ public final void mT__37() throws RecognitionException {
+ try {
+ int _type = T__37;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:35:7: ( '=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:35:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__37"
+
+ // $ANTLR start "T__38"
+ public final void mT__38() throws RecognitionException {
+ try {
+ int _type = T__38;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:36:7: ( '#' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:36:9: '#'
+ {
+ match('#');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__38"
+
+ // $ANTLR start "T__39"
+ public final void mT__39() throws RecognitionException {
+ try {
+ int _type = T__39;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:37:7: ( '[' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:37:9: '['
+ {
+ match('[');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__39"
+
+ // $ANTLR start "T__40"
+ public final void mT__40() throws RecognitionException {
+ try {
+ int _type = T__40;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:38:7: ( ']' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:38:9: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__40"
+
+ // $ANTLR start "T__41"
+ public final void mT__41() throws RecognitionException {
+ try {
+ int _type = T__41;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:39:7: ( '+=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:39:9: '+='
+ {
+ match("+=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__41"
+
+ // $ANTLR start "T__42"
+ public final void mT__42() throws RecognitionException {
+ try {
+ int _type = T__42;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:40:7: ( '-=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:40:9: '-='
+ {
+ match("-=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__42"
+
+ // $ANTLR start "T__43"
+ public final void mT__43() throws RecognitionException {
+ try {
+ int _type = T__43;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:41:7: ( '*=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:41:9: '*='
+ {
+ match("*=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__43"
+
+ // $ANTLR start "T__44"
+ public final void mT__44() throws RecognitionException {
+ try {
+ int _type = T__44;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:42:7: ( '/=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:42:9: '/='
+ {
+ match("/=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__44"
+
+ // $ANTLR start "T__45"
+ public final void mT__45() throws RecognitionException {
+ try {
+ int _type = T__45;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:43:7: ( '%=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:43:9: '%='
+ {
+ match("%=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__45"
+
+ // $ANTLR start "T__46"
+ public final void mT__46() throws RecognitionException {
+ try {
+ int _type = T__46;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:44:7: ( '<' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:44:9: '<'
+ {
+ match('<');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__46"
+
+ // $ANTLR start "T__47"
+ public final void mT__47() throws RecognitionException {
+ try {
+ int _type = T__47;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:45:7: ( '>' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:45:9: '>'
+ {
+ match('>');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__47"
+
+ // $ANTLR start "T__48"
+ public final void mT__48() throws RecognitionException {
+ try {
+ int _type = T__48;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:46:7: ( '>=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:46:9: '>='
+ {
+ match(">=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__48"
+
+ // $ANTLR start "T__49"
+ public final void mT__49() throws RecognitionException {
+ try {
+ int _type = T__49;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:47:7: ( '||' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:47:9: '||'
+ {
+ match("||");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__49"
+
+ // $ANTLR start "T__50"
+ public final void mT__50() throws RecognitionException {
+ try {
+ int _type = T__50;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:48:7: ( '&&' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:48:9: '&&'
+ {
+ match("&&");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__50"
+
+ // $ANTLR start "T__51"
+ public final void mT__51() throws RecognitionException {
+ try {
+ int _type = T__51;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:49:7: ( '==' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:49:9: '=='
+ {
+ match("==");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__51"
+
+ // $ANTLR start "T__52"
+ public final void mT__52() throws RecognitionException {
+ try {
+ int _type = T__52;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:50:7: ( '!=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:50:9: '!='
+ {
+ match("!=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__52"
+
+ // $ANTLR start "T__53"
+ public final void mT__53() throws RecognitionException {
+ try {
+ int _type = T__53;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:51:7: ( '===' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:51:9: '==='
+ {
+ match("===");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__53"
+
+ // $ANTLR start "T__54"
+ public final void mT__54() throws RecognitionException {
+ try {
+ int _type = T__54;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:52:7: ( '!==' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:52:9: '!=='
+ {
+ match("!==");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__54"
+
+ // $ANTLR start "T__55"
+ public final void mT__55() throws RecognitionException {
+ try {
+ int _type = T__55;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:53:7: ( 'instanceof' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:53:9: 'instanceof'
+ {
+ match("instanceof");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__55"
+
+ // $ANTLR start "T__56"
+ public final void mT__56() throws RecognitionException {
+ try {
+ int _type = T__56;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:54:7: ( '->' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:54:9: '->'
+ {
+ match("->");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__56"
+
+ // $ANTLR start "T__57"
+ public final void mT__57() throws RecognitionException {
+ try {
+ int _type = T__57;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:55:7: ( '..<' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:55:9: '..<'
+ {
+ match("..<");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__57"
+
+ // $ANTLR start "T__58"
+ public final void mT__58() throws RecognitionException {
+ try {
+ int _type = T__58;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:56:7: ( '..' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:56:9: '..'
+ {
+ match("..");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__58"
+
+ // $ANTLR start "T__59"
+ public final void mT__59() throws RecognitionException {
+ try {
+ int _type = T__59;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:57:7: ( '=>' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:57:9: '=>'
+ {
+ match("=>");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__59"
+
+ // $ANTLR start "T__60"
+ public final void mT__60() throws RecognitionException {
+ try {
+ int _type = T__60;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:58:7: ( '<>' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:58:9: '<>'
+ {
+ match("<>");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__60"
+
+ // $ANTLR start "T__61"
+ public final void mT__61() throws RecognitionException {
+ try {
+ int _type = T__61;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:59:7: ( '?:' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:59:9: '?:'
+ {
+ match("?:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__61"
+
+ // $ANTLR start "T__62"
+ public final void mT__62() throws RecognitionException {
+ try {
+ int _type = T__62;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:60:7: ( '+' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:60:9: '+'
+ {
+ match('+');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__62"
+
+ // $ANTLR start "T__63"
+ public final void mT__63() throws RecognitionException {
+ try {
+ int _type = T__63;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:61:7: ( '-' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:61:9: '-'
+ {
+ match('-');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__63"
+
+ // $ANTLR start "T__64"
+ public final void mT__64() throws RecognitionException {
+ try {
+ int _type = T__64;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:62:7: ( '**' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:62:9: '**'
+ {
+ match("**");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__64"
+
+ // $ANTLR start "T__65"
+ public final void mT__65() throws RecognitionException {
+ try {
+ int _type = T__65;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:63:7: ( '/' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:63:9: '/'
+ {
+ match('/');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__65"
+
+ // $ANTLR start "T__66"
+ public final void mT__66() throws RecognitionException {
+ try {
+ int _type = T__66;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:64:7: ( '%' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:64:9: '%'
+ {
+ match('%');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__66"
+
+ // $ANTLR start "T__67"
+ public final void mT__67() throws RecognitionException {
+ try {
+ int _type = T__67;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:65:7: ( '!' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:65:9: '!'
+ {
+ match('!');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__67"
+
+ // $ANTLR start "T__68"
+ public final void mT__68() throws RecognitionException {
+ try {
+ int _type = T__68;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:66:7: ( 'as' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:66:9: 'as'
+ {
+ match("as");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__68"
+
+ // $ANTLR start "T__69"
+ public final void mT__69() throws RecognitionException {
+ try {
+ int _type = T__69;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:67:7: ( '++' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:67:9: '++'
+ {
+ match("++");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__69"
+
+ // $ANTLR start "T__70"
+ public final void mT__70() throws RecognitionException {
+ try {
+ int _type = T__70;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:68:7: ( '--' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:68:9: '--'
+ {
+ match("--");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__70"
+
+ // $ANTLR start "T__71"
+ public final void mT__71() throws RecognitionException {
+ try {
+ int _type = T__71;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:69:7: ( '::' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:69:9: '::'
+ {
+ match("::");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__71"
+
+ // $ANTLR start "T__72"
+ public final void mT__72() throws RecognitionException {
+ try {
+ int _type = T__72;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:70:7: ( '?.' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:70:9: '?.'
+ {
+ match("?.");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__72"
+
+ // $ANTLR start "T__73"
+ public final void mT__73() throws RecognitionException {
+ try {
+ int _type = T__73;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:71:7: ( '|' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:71:9: '|'
+ {
+ match('|');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__73"
+
+ // $ANTLR start "T__74"
+ public final void mT__74() throws RecognitionException {
+ try {
+ int _type = T__74;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:72:7: ( ';' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:72:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__74"
+
+ // $ANTLR start "T__75"
+ public final void mT__75() throws RecognitionException {
+ try {
+ int _type = T__75;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:73:7: ( 'if' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:73:9: 'if'
+ {
+ match("if");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__75"
+
+ // $ANTLR start "T__76"
+ public final void mT__76() throws RecognitionException {
+ try {
+ int _type = T__76;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:74:7: ( 'else' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:74:9: 'else'
+ {
+ match("else");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__76"
+
+ // $ANTLR start "T__77"
+ public final void mT__77() throws RecognitionException {
+ try {
+ int _type = T__77;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:75:7: ( 'switch' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:75:9: 'switch'
+ {
+ match("switch");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__77"
+
+ // $ANTLR start "T__78"
+ public final void mT__78() throws RecognitionException {
+ try {
+ int _type = T__78;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:76:7: ( ':' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:76:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__78"
+
+ // $ANTLR start "T__79"
+ public final void mT__79() throws RecognitionException {
+ try {
+ int _type = T__79;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:77:7: ( 'case' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:77:9: 'case'
+ {
+ match("case");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__79"
+
+ // $ANTLR start "T__80"
+ public final void mT__80() throws RecognitionException {
+ try {
+ int _type = T__80;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:78:7: ( 'for' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:78:9: 'for'
+ {
+ match("for");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__80"
+
+ // $ANTLR start "T__81"
+ public final void mT__81() throws RecognitionException {
+ try {
+ int _type = T__81;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:79:7: ( 'while' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:79:9: 'while'
+ {
+ match("while");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__81"
+
+ // $ANTLR start "T__82"
+ public final void mT__82() throws RecognitionException {
+ try {
+ int _type = T__82;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:80:7: ( 'do' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:80:9: 'do'
+ {
+ match("do");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__82"
+
+ // $ANTLR start "T__83"
+ public final void mT__83() throws RecognitionException {
+ try {
+ int _type = T__83;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:81:7: ( 'var' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:81:9: 'var'
+ {
+ match("var");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__83"
+
+ // $ANTLR start "T__84"
+ public final void mT__84() throws RecognitionException {
+ try {
+ int _type = T__84;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:82:7: ( 'val' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:82:9: 'val'
+ {
+ match("val");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__84"
+
+ // $ANTLR start "T__85"
+ public final void mT__85() throws RecognitionException {
+ try {
+ int _type = T__85;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:83:7: ( 'extends' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:83:9: 'extends'
+ {
+ match("extends");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__85"
+
+ // $ANTLR start "T__86"
+ public final void mT__86() throws RecognitionException {
+ try {
+ int _type = T__86;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:84:7: ( 'static' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:84:9: 'static'
+ {
+ match("static");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__86"
+
+ // $ANTLR start "T__87"
+ public final void mT__87() throws RecognitionException {
+ try {
+ int _type = T__87;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:85:7: ( 'extension' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:85:9: 'extension'
+ {
+ match("extension");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__87"
+
+ // $ANTLR start "T__88"
+ public final void mT__88() throws RecognitionException {
+ try {
+ int _type = T__88;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:86:7: ( 'super' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:86:9: 'super'
+ {
+ match("super");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__88"
+
+ // $ANTLR start "T__89"
+ public final void mT__89() throws RecognitionException {
+ try {
+ int _type = T__89;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:87:7: ( 'new' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:87:9: 'new'
+ {
+ match("new");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__89"
+
+ // $ANTLR start "T__90"
+ public final void mT__90() throws RecognitionException {
+ try {
+ int _type = T__90;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:88:7: ( 'false' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:88:9: 'false'
+ {
+ match("false");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__90"
+
+ // $ANTLR start "T__91"
+ public final void mT__91() throws RecognitionException {
+ try {
+ int _type = T__91;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:89:7: ( 'true' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:89:9: 'true'
+ {
+ match("true");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__91"
+
+ // $ANTLR start "T__92"
+ public final void mT__92() throws RecognitionException {
+ try {
+ int _type = T__92;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:90:7: ( 'null' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:90:9: 'null'
+ {
+ match("null");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__92"
+
+ // $ANTLR start "T__93"
+ public final void mT__93() throws RecognitionException {
+ try {
+ int _type = T__93;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:91:7: ( 'typeof' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:91:9: 'typeof'
+ {
+ match("typeof");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__93"
+
+ // $ANTLR start "T__94"
+ public final void mT__94() throws RecognitionException {
+ try {
+ int _type = T__94;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:92:7: ( 'throw' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:92:9: 'throw'
+ {
+ match("throw");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__94"
+
+ // $ANTLR start "T__95"
+ public final void mT__95() throws RecognitionException {
+ try {
+ int _type = T__95;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:93:7: ( 'return' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:93:9: 'return'
+ {
+ match("return");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__95"
+
+ // $ANTLR start "T__96"
+ public final void mT__96() throws RecognitionException {
+ try {
+ int _type = T__96;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:94:7: ( 'try' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:94:9: 'try'
+ {
+ match("try");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__96"
+
+ // $ANTLR start "T__97"
+ public final void mT__97() throws RecognitionException {
+ try {
+ int _type = T__97;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:95:7: ( 'finally' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:95:9: 'finally'
+ {
+ match("finally");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__97"
+
+ // $ANTLR start "T__98"
+ public final void mT__98() throws RecognitionException {
+ try {
+ int _type = T__98;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:96:7: ( 'synchronized' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:96:9: 'synchronized'
+ {
+ match("synchronized");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__98"
+
+ // $ANTLR start "T__99"
+ public final void mT__99() throws RecognitionException {
+ try {
+ int _type = T__99;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:97:7: ( 'catch' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:97:9: 'catch'
+ {
+ match("catch");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__99"
+
+ // $ANTLR start "T__100"
+ public final void mT__100() throws RecognitionException {
+ try {
+ int _type = T__100;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:98:8: ( '?' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:98:10: '?'
+ {
+ match('?');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__100"
+
+ // $ANTLR start "T__101"
+ public final void mT__101() throws RecognitionException {
+ try {
+ int _type = T__101;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:99:8: ( '&' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:99:10: '&'
+ {
+ match('&');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__101"
+
+ // $ANTLR start "T__102"
+ public final void mT__102() throws RecognitionException {
+ try {
+ int _type = T__102;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:100:8: ( 'Horizontal' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:100:10: 'Horizontal'
+ {
+ match("Horizontal");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__102"
+
+ // $ANTLR start "T__103"
+ public final void mT__103() throws RecognitionException {
+ try {
+ int _type = T__103;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:101:8: ( 'Vertical' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:101:10: 'Vertical'
+ {
+ match("Vertical");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__103"
+
+ // $ANTLR start "T__104"
+ public final void mT__104() throws RecognitionException {
+ try {
+ int _type = T__104;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:102:8: ( 'Grid' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:102:10: 'Grid'
+ {
+ match("Grid");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__104"
+
+ // $ANTLR start "T__105"
+ public final void mT__105() throws RecognitionException {
+ try {
+ int _type = T__105;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:103:8: ( 'Form2' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:103:10: 'Form2'
+ {
+ match("Form2");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__105"
+
+ // $ANTLR start "T__106"
+ public final void mT__106() throws RecognitionException {
+ try {
+ int _type = T__106;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:104:8: ( 'Form3' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:104:10: 'Form3'
+ {
+ match("Form3");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__106"
+
+ // $ANTLR start "T__107"
+ public final void mT__107() throws RecognitionException {
+ try {
+ int _type = T__107;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:105:8: ( 'Css' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:105:10: 'Css'
+ {
+ match("Css");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__107"
+
+ // $ANTLR start "T__108"
+ public final void mT__108() throws RecognitionException {
+ try {
+ int _type = T__108;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:106:8: ( 'Forward' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:106:10: 'Forward'
+ {
+ match("Forward");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__108"
+
+ // $ANTLR start "T__109"
+ public final void mT__109() throws RecognitionException {
+ try {
+ int _type = T__109;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:107:8: ( 'Backward' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:107:10: 'Backward'
+ {
+ match("Backward");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__109"
+
+ // $ANTLR start "RULE_HEX"
+ public final void mRULE_HEX() throws RecognitionException {
+ try {
+ int _type = RULE_HEX;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:12: ( '0x' | '0X' )
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='0') ) {
+ int LA1_1 = input.LA(2);
+
+ if ( (LA1_1=='x') ) {
+ alt1=1;
+ }
+ else if ( (LA1_1=='X') ) {
+ alt1=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 0, input);
+
+ throw nvae;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:13: '0x'
+ {
+ match("0x");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:18: '0X'
+ {
+ match("0X");
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
+ int cnt2=0;
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='f')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt2 >= 1 ) break loop2;
+ EarlyExitException eee =
+ new EarlyExitException(2, input);
+ throw eee;
+ }
+ cnt2++;
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='#') ) {
+ alt4=1;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+ {
+ match('#');
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='B'||LA3_0=='b') ) {
+ alt3=1;
+ }
+ else if ( (LA3_0=='L'||LA3_0=='l') ) {
+ alt3=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:64: ( 'b' | 'B' ) ( 'i' | 'I' )
+ {
+ if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ if ( input.LA(1)=='I'||input.LA(1)=='i' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7282:84: ( 'l' | 'L' )
+ {
+ if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_HEX"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7284:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7284:12: '0' .. '9' ( '0' .. '9' | '_' )*
+ {
+ matchRange('0','9');
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7284:21: ( '0' .. '9' | '_' )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( ((LA5_0>='0' && LA5_0<='9')||LA5_0=='_') ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_DECIMAL"
+ public final void mRULE_DECIMAL() throws RecognitionException {
+ try {
+ int _type = RULE_DECIMAL;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7286:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7286:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+ {
+ mRULE_INT();
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7286:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='E'||LA7_0=='e') ) {
+ alt7=1;
+ }
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7286:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
+ {
+ if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7286:36: ( '+' | '-' )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='+'||LA6_0=='-') ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ }
+
+ mRULE_INT();
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7286:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+ int alt8=3;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='B'||LA8_0=='b') ) {
+ alt8=1;
+ }
+ else if ( (LA8_0=='D'||LA8_0=='F'||LA8_0=='L'||LA8_0=='d'||LA8_0=='f'||LA8_0=='l') ) {
+ alt8=2;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7286:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
+ {
+ if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7286:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
+ {
+ if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_DECIMAL"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7288:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7288:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7288:11: ( '^' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='^') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7288:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7288:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='$'||(LA10_0>='0' && LA10_0<='9')||(LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='a' && LA10_0<='z')) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop10;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0=='\"') ) {
+ alt15=1;
+ }
+ else if ( (LA15_0=='\'') ) {
+ alt15=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 0, input);
+
+ throw nvae;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
+ {
+ match('\"');
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop11:
+ do {
+ int alt11=3;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='\\') ) {
+ alt11=1;
+ }
+ else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
+ alt11=2;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:21: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:28: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop11;
+ }
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:44: ( '\"' )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0=='\"') ) {
+ alt12=1;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:44: '\"'
+ {
+ match('\"');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
+ {
+ match('\'');
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop13:
+ do {
+ int alt13=3;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0=='\\') ) {
+ alt13=1;
+ }
+ else if ( ((LA13_0>='\u0000' && LA13_0<='&')||(LA13_0>='(' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) {
+ alt13=2;
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:55: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:62: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop13;
+ }
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:79: ( '\\'' )?
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0=='\'') ) {
+ alt14=1;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7290:79: '\\''
+ {
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7292:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7292:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7292:24: ( options {greedy=false; } : . )*
+ loop16:
+ do {
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0=='*') ) {
+ int LA16_1 = input.LA(2);
+
+ if ( (LA16_1=='/') ) {
+ alt16=2;
+ }
+ else if ( ((LA16_1>='\u0000' && LA16_1<='.')||(LA16_1>='0' && LA16_1<='\uFFFF')) ) {
+ alt16=1;
+ }
+
+
+ }
+ else if ( ((LA16_0>='\u0000' && LA16_0<=')')||(LA16_0>='+' && LA16_0<='\uFFFF')) ) {
+ alt16=1;
+ }
+
+
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7292:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop16;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7294:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7294:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7294:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop17:
+ do {
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFF')) ) {
+ alt17=1;
+ }
+
+
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7294:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop17;
+ }
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7294:40: ( ( '\\r' )? '\\n' )?
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0=='\n'||LA19_0=='\r') ) {
+ alt19=1;
+ }
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7294:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7294:41: ( '\\r' )?
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( (LA18_0=='\r') ) {
+ alt18=1;
+ }
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7294:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7296:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7296:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7296:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt20=0;
+ loop20:
+ do {
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( ((LA20_0>='\t' && LA20_0<='\n')||LA20_0=='\r'||LA20_0==' ') ) {
+ alt20=1;
+ }
+
+
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt20 >= 1 ) break loop20;
+ EarlyExitException eee =
+ new EarlyExitException(20, input);
+ throw eee;
+ }
+ cnt20++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7298:16: ( . )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:7298:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt21=106;
+ alt21 = dfa21.predict(input);
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:10: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:16: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:22: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:28: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:34: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:40: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:46: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:52: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:58: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:64: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:70: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:76: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:82: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:88: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:94: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:100: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:106: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:112: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:118: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:124: T__32
+ {
+ mT__32();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:130: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:136: T__34
+ {
+ mT__34();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:142: T__35
+ {
+ mT__35();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:148: T__36
+ {
+ mT__36();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:154: T__37
+ {
+ mT__37();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:160: T__38
+ {
+ mT__38();
+
+ }
+ break;
+ case 27 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:166: T__39
+ {
+ mT__39();
+
+ }
+ break;
+ case 28 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:172: T__40
+ {
+ mT__40();
+
+ }
+ break;
+ case 29 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:178: T__41
+ {
+ mT__41();
+
+ }
+ break;
+ case 30 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:184: T__42
+ {
+ mT__42();
+
+ }
+ break;
+ case 31 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:190: T__43
+ {
+ mT__43();
+
+ }
+ break;
+ case 32 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:196: T__44
+ {
+ mT__44();
+
+ }
+ break;
+ case 33 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:202: T__45
+ {
+ mT__45();
+
+ }
+ break;
+ case 34 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:208: T__46
+ {
+ mT__46();
+
+ }
+ break;
+ case 35 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:214: T__47
+ {
+ mT__47();
+
+ }
+ break;
+ case 36 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:220: T__48
+ {
+ mT__48();
+
+ }
+ break;
+ case 37 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:226: T__49
+ {
+ mT__49();
+
+ }
+ break;
+ case 38 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:232: T__50
+ {
+ mT__50();
+
+ }
+ break;
+ case 39 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:238: T__51
+ {
+ mT__51();
+
+ }
+ break;
+ case 40 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:244: T__52
+ {
+ mT__52();
+
+ }
+ break;
+ case 41 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:250: T__53
+ {
+ mT__53();
+
+ }
+ break;
+ case 42 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:256: T__54
+ {
+ mT__54();
+
+ }
+ break;
+ case 43 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:262: T__55
+ {
+ mT__55();
+
+ }
+ break;
+ case 44 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:268: T__56
+ {
+ mT__56();
+
+ }
+ break;
+ case 45 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:274: T__57
+ {
+ mT__57();
+
+ }
+ break;
+ case 46 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:280: T__58
+ {
+ mT__58();
+
+ }
+ break;
+ case 47 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:286: T__59
+ {
+ mT__59();
+
+ }
+ break;
+ case 48 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:292: T__60
+ {
+ mT__60();
+
+ }
+ break;
+ case 49 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:298: T__61
+ {
+ mT__61();
+
+ }
+ break;
+ case 50 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:304: T__62
+ {
+ mT__62();
+
+ }
+ break;
+ case 51 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:310: T__63
+ {
+ mT__63();
+
+ }
+ break;
+ case 52 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:316: T__64
+ {
+ mT__64();
+
+ }
+ break;
+ case 53 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:322: T__65
+ {
+ mT__65();
+
+ }
+ break;
+ case 54 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:328: T__66
+ {
+ mT__66();
+
+ }
+ break;
+ case 55 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:334: T__67
+ {
+ mT__67();
+
+ }
+ break;
+ case 56 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:340: T__68
+ {
+ mT__68();
+
+ }
+ break;
+ case 57 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:346: T__69
+ {
+ mT__69();
+
+ }
+ break;
+ case 58 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:352: T__70
+ {
+ mT__70();
+
+ }
+ break;
+ case 59 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:358: T__71
+ {
+ mT__71();
+
+ }
+ break;
+ case 60 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:364: T__72
+ {
+ mT__72();
+
+ }
+ break;
+ case 61 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:370: T__73
+ {
+ mT__73();
+
+ }
+ break;
+ case 62 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:376: T__74
+ {
+ mT__74();
+
+ }
+ break;
+ case 63 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:382: T__75
+ {
+ mT__75();
+
+ }
+ break;
+ case 64 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:388: T__76
+ {
+ mT__76();
+
+ }
+ break;
+ case 65 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:394: T__77
+ {
+ mT__77();
+
+ }
+ break;
+ case 66 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:400: T__78
+ {
+ mT__78();
+
+ }
+ break;
+ case 67 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:406: T__79
+ {
+ mT__79();
+
+ }
+ break;
+ case 68 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:412: T__80
+ {
+ mT__80();
+
+ }
+ break;
+ case 69 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:418: T__81
+ {
+ mT__81();
+
+ }
+ break;
+ case 70 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:424: T__82
+ {
+ mT__82();
+
+ }
+ break;
+ case 71 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:430: T__83
+ {
+ mT__83();
+
+ }
+ break;
+ case 72 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:436: T__84
+ {
+ mT__84();
+
+ }
+ break;
+ case 73 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:442: T__85
+ {
+ mT__85();
+
+ }
+ break;
+ case 74 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:448: T__86
+ {
+ mT__86();
+
+ }
+ break;
+ case 75 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:454: T__87
+ {
+ mT__87();
+
+ }
+ break;
+ case 76 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:460: T__88
+ {
+ mT__88();
+
+ }
+ break;
+ case 77 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:466: T__89
+ {
+ mT__89();
+
+ }
+ break;
+ case 78 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:472: T__90
+ {
+ mT__90();
+
+ }
+ break;
+ case 79 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:478: T__91
+ {
+ mT__91();
+
+ }
+ break;
+ case 80 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:484: T__92
+ {
+ mT__92();
+
+ }
+ break;
+ case 81 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:490: T__93
+ {
+ mT__93();
+
+ }
+ break;
+ case 82 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:496: T__94
+ {
+ mT__94();
+
+ }
+ break;
+ case 83 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:502: T__95
+ {
+ mT__95();
+
+ }
+ break;
+ case 84 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:508: T__96
+ {
+ mT__96();
+
+ }
+ break;
+ case 85 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:514: T__97
+ {
+ mT__97();
+
+ }
+ break;
+ case 86 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:520: T__98
+ {
+ mT__98();
+
+ }
+ break;
+ case 87 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:526: T__99
+ {
+ mT__99();
+
+ }
+ break;
+ case 88 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:532: T__100
+ {
+ mT__100();
+
+ }
+ break;
+ case 89 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:539: T__101
+ {
+ mT__101();
+
+ }
+ break;
+ case 90 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:546: T__102
+ {
+ mT__102();
+
+ }
+ break;
+ case 91 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:553: T__103
+ {
+ mT__103();
+
+ }
+ break;
+ case 92 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:560: T__104
+ {
+ mT__104();
+
+ }
+ break;
+ case 93 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:567: T__105
+ {
+ mT__105();
+
+ }
+ break;
+ case 94 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:574: T__106
+ {
+ mT__106();
+
+ }
+ break;
+ case 95 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:581: T__107
+ {
+ mT__107();
+
+ }
+ break;
+ case 96 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:588: T__108
+ {
+ mT__108();
+
+ }
+ break;
+ case 97 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:595: T__109
+ {
+ mT__109();
+
+ }
+ break;
+ case 98 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:602: RULE_HEX
+ {
+ mRULE_HEX();
+
+ }
+ break;
+ case 99 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:611: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 100 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:620: RULE_DECIMAL
+ {
+ mRULE_DECIMAL();
+
+ }
+ break;
+ case 101 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:633: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 102 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:641: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 103 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:653: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 104 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:669: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 105 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:685: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 106 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1:693: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA21 dfa21 = new DFA21(this);
+ static final String DFA21_eotS =
+ "\1\uffff\1\70\2\uffff\1\70\1\77\1\102\10\70\4\uffff\1\134\3\uffff"+
+ "\1\142\1\146\1\152\1\154\1\156\1\160\1\162\1\164\1\166\1\171\1\70"+
+ "\1\174\1\uffff\13\70\2\u008c\1\66\5\uffff\1\70\3\uffff\2\70\1\u0093"+
+ "\1\u0095\4\uffff\22\70\1\u00ab\4\uffff\1\u00ad\32\uffff\1\u00af"+
+ "\4\uffff\1\u00b0\3\uffff\14\70\1\uffff\1\u008c\4\uffff\3\70\3\uffff"+
+ "\7\70\1\u00c9\4\70\1\u00ce\10\70\6\uffff\3\70\1\u00db\1\u00dc\1"+
+ "\u00dd\6\70\1\u00e5\12\70\1\u00f0\1\uffff\4\70\1\uffff\3\70\1\u00f8"+
+ "\5\70\1\u00fe\2\70\3\uffff\1\u0101\3\70\1\u0105\2\70\1\uffff\7\70"+
+ "\1\u0110\2\70\1\uffff\1\70\1\u0114\2\70\1\u0118\2\70\1\uffff\5\70"+
+ "\1\uffff\1\u0121\1\u0122\1\uffff\3\70\1\uffff\1\u0126\1\u0127\3"+
+ "\70\1\u012b\2\70\1\u012e\1\u012f\1\uffff\2\70\1\u0132\1\uffff\2"+
+ "\70\2\uffff\10\70\2\uffff\1\u013e\2\70\2\uffff\2\70\1\u0143\1\uffff"+
+ "\2\70\2\uffff\1\70\1\u0147\1\uffff\1\70\1\uffff\1\70\1\u014a\1\70"+
+ "\1\u014c\4\70\1\u0153\1\uffff\2\70\1\u0156\1\70\1\uffff\1\70\1\u0159"+
+ "\1\70\1\uffff\2\70\1\uffff\1\70\1\uffff\2\70\1\uffff\3\70\1\uffff"+
+ "\1\70\1\u0165\1\uffff\1\u0166\1\70\1\uffff\5\70\1\u016d\5\70\2\uffff"+
+ "\1\u0173\5\70\1\uffff\4\70\1\u017d\1\uffff\11\70\1\uffff\1\u0187"+
+ "\5\70\1\u018d\2\70\1\uffff\5\70\1\uffff\21\70\1\u01a6\1\u01a7\3"+
+ "\70\1\uffff\1\u01ab\3\uffff\1\70\2\uffff\1\70\1\u01ae\1\uffff";
+ static final String DFA21_eofS =
+ "\u01af\uffff";
+ static final String DFA21_minS =
+ "\1\0\1\141\2\uffff\1\146\1\56\1\52\1\164\3\141\1\143\1\145\1\157"+
+ "\1\145\4\uffff\1\75\3\uffff\1\53\1\55\1\52\1\75\1\76\1\75\1\174"+
+ "\1\46\1\75\1\56\1\163\1\72\1\uffff\1\141\1\150\1\141\2\145\1\157"+
+ "\1\145\1\162\1\157\1\163\1\141\2\60\1\44\5\uffff\1\143\3\uffff\1"+
+ "\160\1\163\1\44\1\74\4\uffff\1\141\1\151\1\160\1\156\1\162\1\165"+
+ "\1\160\1\162\1\171\1\143\1\154\1\156\1\166\1\163\1\164\1\171\1\144"+
+ "\1\146\1\44\4\uffff\1\75\32\uffff\1\75\4\uffff\1\44\3\uffff\1\163"+
+ "\1\151\1\154\1\167\1\154\1\164\2\162\1\151\1\162\1\163\1\143\1\uffff"+
+ "\1\60\4\uffff\1\153\1\157\1\164\3\uffff\1\141\2\164\1\145\1\143"+
+ "\1\147\1\145\1\44\1\145\2\157\1\165\1\44\1\163\1\141\1\151\2\145"+
+ "\1\103\1\151\1\141\6\uffff\1\145\1\143\1\154\3\44\1\154\1\165\1"+
+ "\151\1\164\1\144\1\155\1\44\1\153\1\141\1\162\1\141\1\164\1\151"+
+ "\1\143\1\162\1\150\1\145\1\44\1\uffff\1\157\1\167\1\165\1\163\1"+
+ "\uffff\1\145\1\154\1\145\1\44\1\156\1\164\1\157\1\146\1\165\1\44"+
+ "\1\150\1\145\3\uffff\1\44\1\162\1\172\1\151\1\44\1\62\1\141\1\uffff"+
+ "\1\167\1\147\1\164\1\156\1\145\1\143\1\150\1\44\1\162\1\164\1\uffff"+
+ "\1\146\1\44\1\164\1\75\1\44\1\154\1\167\1\uffff\1\144\1\162\1\144"+
+ "\1\151\1\154\1\uffff\2\44\1\uffff\1\156\1\157\1\143\1\uffff\2\44"+
+ "\1\162\1\141\1\145\1\44\1\143\1\147\2\44\1\uffff\1\157\1\163\1\44"+
+ "\1\uffff\1\75\1\156\2\uffff\1\171\1\106\1\163\1\151\1\157\2\145"+
+ "\1\164\2\uffff\1\44\1\156\1\141\2\uffff\1\144\1\162\1\44\1\uffff"+
+ "\1\145\1\171\2\uffff\1\156\1\44\1\uffff\1\156\1\uffff\1\147\1\44"+
+ "\1\157\1\44\1\157\1\153\1\75\1\162\1\44\1\uffff\1\164\1\154\1\44"+
+ "\1\144\1\uffff\1\157\1\44\1\151\1\uffff\1\147\1\105\1\uffff\1\143"+
+ "\1\uffff\1\156\1\145\1\uffff\1\113\1\141\1\157\1\uffff\1\141\1\44"+
+ "\1\uffff\1\44\1\146\1\uffff\1\172\1\123\1\164\1\156\1\165\1\44\1"+
+ "\104\1\145\1\171\1\143\1\154\2\uffff\1\44\1\145\1\164\1\162\1\150"+
+ "\1\163\1\uffff\1\145\1\171\1\157\1\165\1\44\1\uffff\1\144\1\162"+
+ "\2\141\1\151\1\146\1\163\1\165\1\163\1\uffff\1\44\1\141\1\164\2"+
+ "\156\1\151\1\44\1\164\1\151\1\uffff\1\164\1\145\1\143\1\147\1\156"+
+ "\1\uffff\1\151\1\156\1\145\1\147\1\145\1\111\1\151\1\156\2\147\1"+
+ "\171\1\162\1\144\1\164\1\147\1\75\1\171\2\44\1\75\1\151\1\75\1\uffff"+
+ "\1\44\3\uffff\1\157\2\uffff\1\156\1\44\1\uffff";
+ static final String DFA21_maxS =
+ "\1\uffff\1\141\2\uffff\1\156\1\56\1\75\2\171\1\141\1\157\1\170"+
+ "\1\145\2\157\4\uffff\1\76\3\uffff\1\75\1\76\2\75\1\76\1\75\1\174"+
+ "\1\46\1\75\1\72\1\163\1\72\1\uffff\1\141\1\150\1\141\1\165\1\145"+
+ "\1\157\1\145\1\162\1\157\1\163\1\141\1\170\1\154\1\172\5\uffff\1"+
+ "\143\3\uffff\1\160\1\163\1\172\1\74\4\uffff\1\162\1\151\1\160\1"+
+ "\156\1\162\1\171\1\160\1\162\1\171\1\162\1\154\1\156\1\166\1\163"+
+ "\1\164\1\171\1\144\1\146\1\172\4\uffff\1\75\32\uffff\1\75\4\uffff"+
+ "\1\172\3\uffff\1\164\1\151\1\162\1\167\1\154\1\164\2\162\1\151\1"+
+ "\162\1\163\1\143\1\uffff\1\154\4\uffff\1\153\1\157\1\164\3\uffff"+
+ "\1\141\2\164\1\145\1\143\1\147\1\145\1\172\1\145\2\157\1\165\1\172"+
+ "\1\163\1\141\1\151\2\145\1\123\1\151\1\141\6\uffff\1\145\1\143\1"+
+ "\154\3\172\1\154\1\165\1\151\1\164\1\144\1\167\1\172\1\153\1\141"+
+ "\1\162\1\141\1\164\1\151\1\143\1\162\1\150\1\145\1\172\1\uffff\1"+
+ "\157\1\167\1\165\1\163\1\uffff\1\145\1\154\1\145\1\172\1\156\1\164"+
+ "\1\157\1\146\1\165\1\172\1\150\1\145\3\uffff\1\172\1\162\1\172\1"+
+ "\151\1\172\1\63\1\141\1\uffff\1\167\1\147\1\164\1\156\1\145\1\143"+
+ "\1\150\1\172\1\162\1\164\1\uffff\1\146\1\172\1\164\1\151\1\172\1"+
+ "\154\1\167\1\uffff\1\163\1\162\1\144\1\151\1\154\1\uffff\2\172\1"+
+ "\uffff\1\156\1\157\1\143\1\uffff\2\172\1\162\1\141\1\145\1\172\1"+
+ "\143\1\147\2\172\1\uffff\1\157\1\163\1\172\1\uffff\1\151\1\156\2"+
+ "\uffff\1\171\1\106\1\163\1\151\1\157\2\145\1\164\2\uffff\1\172\1"+
+ "\156\1\141\2\uffff\1\144\1\162\1\172\1\uffff\1\145\1\171\2\uffff"+
+ "\1\156\1\172\1\uffff\1\156\1\uffff\1\147\1\172\1\157\1\172\1\157"+
+ "\1\153\1\75\1\162\1\172\1\uffff\1\164\1\154\1\172\1\144\1\uffff"+
+ "\1\157\1\172\1\151\1\uffff\1\147\1\123\1\uffff\1\143\1\uffff\1\156"+
+ "\1\145\1\uffff\1\113\1\141\1\157\1\uffff\1\141\1\172\1\uffff\1\172"+
+ "\1\146\1\uffff\1\172\1\123\1\164\1\156\1\165\1\172\1\104\1\145\1"+
+ "\171\1\143\1\154\2\uffff\1\172\1\145\1\164\1\162\1\150\1\163\1\uffff"+
+ "\1\145\1\171\1\157\1\165\1\172\1\uffff\1\144\1\162\2\141\1\151\1"+
+ "\146\1\163\1\165\1\163\1\uffff\1\172\1\141\1\164\2\156\1\151\1\172"+
+ "\1\164\1\151\1\uffff\1\164\1\145\1\143\1\147\1\156\1\uffff\1\151"+
+ "\1\156\1\145\1\147\1\145\1\111\1\151\1\156\2\147\1\171\1\162\1\144"+
+ "\1\164\1\147\1\75\1\171\2\172\1\75\1\151\1\75\1\uffff\1\172\3\uffff"+
+ "\1\157\2\uffff\1\156\1\172\1\uffff";
+ static final String DFA21_acceptS =
+ "\2\uffff\1\2\1\3\13\uffff\1\25\1\26\1\27\1\30\1\uffff\1\32\1\33"+
+ "\1\34\14\uffff\1\76\16\uffff\1\145\2\146\1\151\1\152\1\uffff\1\145"+
+ "\1\2\1\3\4\uffff\1\5\1\37\1\64\1\6\23\uffff\1\25\1\26\1\27\1\30"+
+ "\1\uffff\1\57\1\31\1\32\1\33\1\34\1\35\1\71\1\62\1\36\1\54\1\72"+
+ "\1\63\1\40\1\147\1\150\1\65\1\41\1\66\1\60\1\42\1\44\1\43\1\45\1"+
+ "\75\1\46\1\131\1\uffff\1\67\1\61\1\74\1\130\1\uffff\1\73\1\102\1"+
+ "\76\14\uffff\1\142\1\uffff\1\143\1\144\1\146\1\151\3\uffff\1\77"+
+ "\1\55\1\56\25\uffff\1\106\1\51\1\47\1\52\1\50\1\70\30\uffff\1\124"+
+ "\4\uffff\1\104\14\uffff\1\107\1\110\1\115\7\uffff\1\137\12\uffff"+
+ "\1\117\7\uffff\1\100\5\uffff\1\103\2\uffff\1\120\3\uffff\1\134\12"+
+ "\uffff\1\114\3\uffff\1\122\2\uffff\1\15\1\116\10\uffff\1\127\1\105"+
+ "\3\uffff\1\135\1\136\3\uffff\1\4\2\uffff\1\112\1\101\2\uffff\1\121"+
+ "\1\uffff\1\12\11\uffff\1\123\4\uffff\1\1\3\uffff\1\10\2\uffff\1"+
+ "\125\1\uffff\1\111\2\uffff\1\17\3\uffff\1\22\2\uffff\1\140\2\uffff"+
+ "\1\7\13\uffff\1\133\1\141\6\uffff\1\113\5\uffff\1\53\11\uffff\1"+
+ "\132\11\uffff\1\126\5\uffff\1\20\26\uffff\1\24\1\uffff\1\13\1\21"+
+ "\1\14\1\uffff\1\23\1\11\2\uffff\1\16";
+ static final String DFA21_specialS =
+ "\1\0\u01ae\uffff}>";
+ static final String[] DFA21_transitionS = {
+ "\11\66\2\65\2\66\1\65\22\66\1\65\1\37\1\63\1\24\1\62\1\32\1"+
+ "\36\1\64\1\20\1\22\1\6\1\27\1\21\1\30\1\5\1\31\1\57\11\60\1"+
+ "\42\1\43\1\33\1\23\1\34\1\40\1\17\1\62\1\56\1\55\2\62\1\54\1"+
+ "\53\1\51\15\62\1\52\4\62\1\25\1\66\1\26\1\61\1\62\1\66\1\41"+
+ "\1\62\1\44\1\16\1\13\1\12\2\62\1\4\1\62\1\14\1\11\1\15\1\47"+
+ "\1\62\1\1\1\62\1\50\1\7\1\10\1\62\1\46\1\45\3\62\1\2\1\35\1"+
+ "\3\uff82\66",
+ "\1\67",
+ "",
+ "",
+ "\1\75\6\uffff\1\73\1\74",
+ "\1\76",
+ "\1\101\22\uffff\1\100",
+ "\1\103\1\105\1\uffff\1\104\1\uffff\1\106",
+ "\1\107\6\uffff\1\112\11\uffff\1\110\6\uffff\1\111",
+ "\1\113",
+ "\1\115\7\uffff\1\116\5\uffff\1\114",
+ "\1\117\10\uffff\1\120\13\uffff\1\121",
+ "\1\122",
+ "\1\123",
+ "\1\124\11\uffff\1\125",
+ "",
+ "",
+ "",
+ "",
+ "\1\132\1\133",
+ "",
+ "",
+ "",
+ "\1\141\21\uffff\1\140",
+ "\1\145\17\uffff\1\143\1\144",
+ "\1\150\4\uffff\1\151\15\uffff\1\147",
+ "\1\153",
+ "\1\155",
+ "\1\157",
+ "\1\161",
+ "\1\163",
+ "\1\165",
+ "\1\170\13\uffff\1\167",
+ "\1\172",
+ "\1\173",
+ "",
+ "\1\176",
+ "\1\177",
+ "\1\u0080",
+ "\1\u0081\17\uffff\1\u0082",
+ "\1\u0083",
+ "\1\u0084",
+ "\1\u0085",
+ "\1\u0086",
+ "\1\u0087",
+ "\1\u0088",
+ "\1\u0089",
+ "\12\u008b\10\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1\u008d"+
+ "\13\uffff\1\u008a\6\uffff\1\u008b\2\uffff\1\u008d\1\uffff\3"+
+ "\u008d\5\uffff\1\u008d\13\uffff\1\u008a",
+ "\12\u008b\10\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1\u008d"+
+ "\22\uffff\1\u008b\2\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1"+
+ "\u008d",
+ "\1\70\34\uffff\32\70\4\uffff\1\70\1\uffff\32\70",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0090",
+ "",
+ "",
+ "",
+ "\1\u0091",
+ "\1\u0092",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0094",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0097\20\uffff\1\u0096",
+ "\1\u0098",
+ "\1\u0099",
+ "\1\u009a",
+ "\1\u009b",
+ "\1\u009c\3\uffff\1\u009d",
+ "\1\u009e",
+ "\1\u009f",
+ "\1\u00a0",
+ "\1\u00a1\16\uffff\1\u00a2",
+ "\1\u00a3",
+ "\1\u00a4",
+ "\1\u00a5",
+ "\1\u00a6",
+ "\1\u00a7",
+ "\1\u00a8",
+ "\1\u00a9",
+ "\1\u00aa",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "",
+ "",
+ "",
+ "\1\u00ac",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u00ae",
+ "",
+ "",
+ "",
+ "",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "",
+ "",
+ "\1\u00b1\1\u00b2",
+ "\1\u00b3",
+ "\1\u00b5\5\uffff\1\u00b4",
+ "\1\u00b6",
+ "\1\u00b7",
+ "\1\u00b8",
+ "\1\u00b9",
+ "\1\u00ba",
+ "\1\u00bb",
+ "\1\u00bc",
+ "\1\u00bd",
+ "\1\u00be",
+ "",
+ "\12\u008b\10\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1\u008d"+
+ "\22\uffff\1\u008b\2\uffff\1\u008d\1\uffff\3\u008d\5\uffff\1"+
+ "\u008d",
+ "",
+ "",
+ "",
+ "",
+ "\1\u00bf",
+ "\1\u00c0",
+ "\1\u00c1",
+ "",
+ "",
+ "",
+ "\1\u00c2",
+ "\1\u00c3",
+ "\1\u00c4",
+ "\1\u00c5",
+ "\1\u00c6",
+ "\1\u00c7",
+ "\1\u00c8",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u00ca",
+ "\1\u00cb",
+ "\1\u00cc",
+ "\1\u00cd",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u00cf",
+ "\1\u00d0",
+ "\1\u00d1",
+ "\1\u00d2",
+ "\1\u00d3",
+ "\1\u00d5\17\uffff\1\u00d4",
+ "\1\u00d6",
+ "\1\u00d7",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u00d8",
+ "\1\u00d9",
+ "\1\u00da",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u00de",
+ "\1\u00df",
+ "\1\u00e0",
+ "\1\u00e1",
+ "\1\u00e2",
+ "\1\u00e3\11\uffff\1\u00e4",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u00e6",
+ "\1\u00e7",
+ "\1\u00e8",
+ "\1\u00e9",
+ "\1\u00ea",
+ "\1\u00eb",
+ "\1\u00ec",
+ "\1\u00ed",
+ "\1\u00ee",
+ "\1\u00ef",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "\1\u00f1",
+ "\1\u00f2",
+ "\1\u00f3",
+ "\1\u00f4",
+ "",
+ "\1\u00f5",
+ "\1\u00f6",
+ "\1\u00f7",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u00f9",
+ "\1\u00fa",
+ "\1\u00fb",
+ "\1\u00fc",
+ "\1\u00fd",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u00ff",
+ "\1\u0100",
+ "",
+ "",
+ "",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0102",
+ "\1\u0103",
+ "\1\u0104",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0106\1\u0107",
+ "\1\u0108",
+ "",
+ "\1\u0109",
+ "\1\u010a",
+ "\1\u010b",
+ "\1\u010c",
+ "\1\u010d",
+ "\1\u010e",
+ "\1\u010f",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0111",
+ "\1\u0112",
+ "",
+ "\1\u0113",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0115",
+ "\1\u0117\53\uffff\1\u0116",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0119",
+ "\1\u011a",
+ "",
+ "\1\u011b\16\uffff\1\u011c",
+ "\1\u011d",
+ "\1\u011e",
+ "\1\u011f",
+ "\1\u0120",
+ "",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "\1\u0123",
+ "\1\u0124",
+ "\1\u0125",
+ "",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0128",
+ "\1\u0129",
+ "\1\u012a",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u012c",
+ "\1\u012d",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "\1\u0130",
+ "\1\u0131",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "\1\u0134\53\uffff\1\u0133",
+ "\1\u0135",
+ "",
+ "",
+ "\1\u0136",
+ "\1\u0137",
+ "\1\u0138",
+ "\1\u0139",
+ "\1\u013a",
+ "\1\u013b",
+ "\1\u013c",
+ "\1\u013d",
+ "",
+ "",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u013f",
+ "\1\u0140",
+ "",
+ "",
+ "\1\u0141",
+ "\1\u0142",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "\1\u0144",
+ "\1\u0145",
+ "",
+ "",
+ "\1\u0146",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "\1\u0148",
+ "",
+ "\1\u0149",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u014b",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u014d",
+ "\1\u014e",
+ "\1\u014f",
+ "\1\u0150",
+ "\1\70\13\uffff\12\70\7\uffff\5\70\1\u0152\5\70\1\u0151\16"+
+ "\70\4\uffff\1\70\1\uffff\32\70",
+ "",
+ "\1\u0154",
+ "\1\u0155",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0157",
+ "",
+ "\1\u0158",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u015a",
+ "",
+ "\1\u015b",
+ "\1\u015d\15\uffff\1\u015c",
+ "",
+ "\1\u015e",
+ "",
+ "\1\u015f",
+ "\1\u0160",
+ "",
+ "\1\u0161",
+ "\1\u0162",
+ "\1\u0163",
+ "",
+ "\1\u0164",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0167",
+ "",
+ "\1\u0168",
+ "\1\u0169",
+ "\1\u016a",
+ "\1\u016b",
+ "\1\u016c",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u016e",
+ "\1\u016f",
+ "\1\u0170",
+ "\1\u0171",
+ "\1\u0172",
+ "",
+ "",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0174",
+ "\1\u0175",
+ "\1\u0176",
+ "\1\u0177",
+ "\1\u0178",
+ "",
+ "\1\u0179",
+ "\1\u017a",
+ "\1\u017b",
+ "\1\u017c",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "\1\u017e",
+ "\1\u017f",
+ "\1\u0180",
+ "\1\u0181",
+ "\1\u0182",
+ "\1\u0183",
+ "\1\u0184",
+ "\1\u0185",
+ "\1\u0186",
+ "",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u0188",
+ "\1\u0189",
+ "\1\u018a",
+ "\1\u018b",
+ "\1\u018c",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u018e",
+ "\1\u018f",
+ "",
+ "\1\u0190",
+ "\1\u0191",
+ "\1\u0192",
+ "\1\u0193",
+ "\1\u0194",
+ "",
+ "\1\u0195",
+ "\1\u0196",
+ "\1\u0197",
+ "\1\u0198",
+ "\1\u0199",
+ "\1\u019a",
+ "\1\u019b",
+ "\1\u019c",
+ "\1\u019d",
+ "\1\u019e",
+ "\1\u019f",
+ "\1\u01a0",
+ "\1\u01a1",
+ "\1\u01a2",
+ "\1\u01a3",
+ "\1\u01a4",
+ "\1\u01a5",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "\1\u01a8",
+ "\1\u01a9",
+ "\1\u01aa",
+ "",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ "",
+ "",
+ "",
+ "\1\u01ac",
+ "",
+ "",
+ "\1\u01ad",
+ "\1\70\13\uffff\12\70\7\uffff\32\70\4\uffff\1\70\1\uffff\32"+
+ "\70",
+ ""
+ };
+
+ static final short[] DFA21_eot = DFA.unpackEncodedString(DFA21_eotS);
+ static final short[] DFA21_eof = DFA.unpackEncodedString(DFA21_eofS);
+ static final char[] DFA21_min = DFA.unpackEncodedStringToUnsignedChars(DFA21_minS);
+ static final char[] DFA21_max = DFA.unpackEncodedStringToUnsignedChars(DFA21_maxS);
+ static final short[] DFA21_accept = DFA.unpackEncodedString(DFA21_acceptS);
+ static final short[] DFA21_special = DFA.unpackEncodedString(DFA21_specialS);
+ static final short[][] DFA21_transition;
+
+ static {
+ int numStates = DFA21_transitionS.length;
+ DFA21_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA21_transition[i] = DFA.unpackEncodedString(DFA21_transitionS[i]);
+ }
+ }
+
+ class DFA21 extends DFA {
+
+ public DFA21(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 21;
+ this.eot = DFA21_eot;
+ this.eof = DFA21_eof;
+ this.min = DFA21_min;
+ this.max = DFA21_max;
+ this.accept = DFA21_accept;
+ this.special = DFA21_special;
+ this.transition = DFA21_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ IntStream input = _input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA21_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA21_0=='p') ) {s = 1;}
+
+ else if ( (LA21_0=='{') ) {s = 2;}
+
+ else if ( (LA21_0=='}') ) {s = 3;}
+
+ else if ( (LA21_0=='i') ) {s = 4;}
+
+ else if ( (LA21_0=='.') ) {s = 5;}
+
+ else if ( (LA21_0=='*') ) {s = 6;}
+
+ else if ( (LA21_0=='s') ) {s = 7;}
+
+ else if ( (LA21_0=='t') ) {s = 8;}
+
+ else if ( (LA21_0=='l') ) {s = 9;}
+
+ else if ( (LA21_0=='f') ) {s = 10;}
+
+ else if ( (LA21_0=='e') ) {s = 11;}
+
+ else if ( (LA21_0=='k') ) {s = 12;}
+
+ else if ( (LA21_0=='m') ) {s = 13;}
+
+ else if ( (LA21_0=='d') ) {s = 14;}
+
+ else if ( (LA21_0=='@') ) {s = 15;}
+
+ else if ( (LA21_0=='(') ) {s = 16;}
+
+ else if ( (LA21_0==',') ) {s = 17;}
+
+ else if ( (LA21_0==')') ) {s = 18;}
+
+ else if ( (LA21_0=='=') ) {s = 19;}
+
+ else if ( (LA21_0=='#') ) {s = 20;}
+
+ else if ( (LA21_0=='[') ) {s = 21;}
+
+ else if ( (LA21_0==']') ) {s = 22;}
+
+ else if ( (LA21_0=='+') ) {s = 23;}
+
+ else if ( (LA21_0=='-') ) {s = 24;}
+
+ else if ( (LA21_0=='/') ) {s = 25;}
+
+ else if ( (LA21_0=='%') ) {s = 26;}
+
+ else if ( (LA21_0=='<') ) {s = 27;}
+
+ else if ( (LA21_0=='>') ) {s = 28;}
+
+ else if ( (LA21_0=='|') ) {s = 29;}
+
+ else if ( (LA21_0=='&') ) {s = 30;}
+
+ else if ( (LA21_0=='!') ) {s = 31;}
+
+ else if ( (LA21_0=='?') ) {s = 32;}
+
+ else if ( (LA21_0=='a') ) {s = 33;}
+
+ else if ( (LA21_0==':') ) {s = 34;}
+
+ else if ( (LA21_0==';') ) {s = 35;}
+
+ else if ( (LA21_0=='c') ) {s = 36;}
+
+ else if ( (LA21_0=='w') ) {s = 37;}
+
+ else if ( (LA21_0=='v') ) {s = 38;}
+
+ else if ( (LA21_0=='n') ) {s = 39;}
+
+ else if ( (LA21_0=='r') ) {s = 40;}
+
+ else if ( (LA21_0=='H') ) {s = 41;}
+
+ else if ( (LA21_0=='V') ) {s = 42;}
+
+ else if ( (LA21_0=='G') ) {s = 43;}
+
+ else if ( (LA21_0=='F') ) {s = 44;}
+
+ else if ( (LA21_0=='C') ) {s = 45;}
+
+ else if ( (LA21_0=='B') ) {s = 46;}
+
+ else if ( (LA21_0=='0') ) {s = 47;}
+
+ else if ( ((LA21_0>='1' && LA21_0<='9')) ) {s = 48;}
+
+ else if ( (LA21_0=='^') ) {s = 49;}
+
+ else if ( (LA21_0=='$'||LA21_0=='A'||(LA21_0>='D' && LA21_0<='E')||(LA21_0>='I' && LA21_0<='U')||(LA21_0>='W' && LA21_0<='Z')||LA21_0=='_'||LA21_0=='b'||(LA21_0>='g' && LA21_0<='h')||LA21_0=='j'||LA21_0=='o'||LA21_0=='q'||LA21_0=='u'||(LA21_0>='x' && LA21_0<='z')) ) {s = 50;}
+
+ else if ( (LA21_0=='\"') ) {s = 51;}
+
+ else if ( (LA21_0=='\'') ) {s = 52;}
+
+ else if ( ((LA21_0>='\t' && LA21_0<='\n')||LA21_0=='\r'||LA21_0==' ') ) {s = 53;}
+
+ else if ( ((LA21_0>='\u0000' && LA21_0<='\b')||(LA21_0>='\u000B' && LA21_0<='\f')||(LA21_0>='\u000E' && LA21_0<='\u001F')||LA21_0=='\\'||LA21_0=='`'||(LA21_0>='~' && LA21_0<='\uFFFF')) ) {s = 54;}
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 21, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSLParser.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSLParser.java
new file mode 100644
index 0000000..c378d98
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSLParser.java
@@ -0,0 +1,10014 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.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.osbp.xtext.strategy.services.StrategyDSLGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+public class InternalStrategyDSLParser extends AbstractInternalAntlrParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'{'", "'}'", "'import'", "'.'", "'*'", "'strategy'", "'targets'", "'layoutingStrategy'", "'layout='", "'focusingStrategy'", "'ecviewFocusingId='", "'focus='", "'keyStrokeDefinition'", "'keyCode='", "'modifierKeys'", "'focusingEnhancer'", "'default'", "'defaultLayouting='", "'defaultFocusing='", "'@'", "'('", "','", "')'", "'='", "'#'", "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'**'", "'/'", "'%'", "'!'", "'as'", "'++'", "'--'", "'::'", "'?.'", "'|'", "';'", "'if'", "'else'", "'switch'", "':'", "'case'", "'for'", "'while'", "'do'", "'var'", "'val'", "'extends'", "'static'", "'extension'", "'super'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'Horizontal'", "'Vertical'", "'Grid'", "'Form2'", "'Form3'", "'Css'", "'Forward'", "'Backward'"
+ };
+ public static final int RULE_HEX=6;
+ public static final int T__50=50;
+ public static final int T__59=59;
+ public static final int T__55=55;
+ public static final int T__56=56;
+ public static final int T__57=57;
+ public static final int T__58=58;
+ public static final int T__51=51;
+ public static final int T__52=52;
+ public static final int T__53=53;
+ public static final int T__54=54;
+ public static final int T__60=60;
+ public static final int T__61=61;
+ public static final int RULE_ID=4;
+ public static final int RULE_INT=7;
+ public static final int T__66=66;
+ public static final int RULE_ML_COMMENT=9;
+ public static final int T__67=67;
+ public static final int T__68=68;
+ public static final int T__69=69;
+ public static final int T__62=62;
+ public static final int T__63=63;
+ public static final int T__64=64;
+ public static final int T__65=65;
+ public static final int T__37=37;
+ public static final int T__38=38;
+ public static final int T__39=39;
+ public static final int T__33=33;
+ public static final int T__34=34;
+ public static final int T__35=35;
+ public static final int T__36=36;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
+ public static final int T__48=48;
+ public static final int T__49=49;
+ public static final int T__44=44;
+ public static final int T__45=45;
+ public static final int T__46=46;
+ public static final int T__47=47;
+ public static final int T__40=40;
+ public static final int T__41=41;
+ public static final int T__42=42;
+ public static final int T__43=43;
+ public static final int T__91=91;
+ public static final int T__100=100;
+ public static final int T__92=92;
+ public static final int T__93=93;
+ public static final int T__102=102;
+ public static final int T__94=94;
+ public static final int T__101=101;
+ public static final int T__90=90;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__99=99;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int T__95=95;
+ public static final int T__96=96;
+ public static final int T__97=97;
+ public static final int T__98=98;
+ public static final int RULE_DECIMAL=8;
+ public static final int T__26=26;
+ public static final int T__27=27;
+ public static final int T__28=28;
+ public static final int T__29=29;
+ public static final int T__22=22;
+ public static final int T__23=23;
+ public static final int T__24=24;
+ public static final int T__25=25;
+ public static final int T__20=20;
+ public static final int T__21=21;
+ public static final int T__70=70;
+ public static final int T__71=71;
+ public static final int T__72=72;
+ public static final int RULE_STRING=5;
+ public static final int RULE_SL_COMMENT=10;
+ public static final int T__77=77;
+ public static final int T__78=78;
+ public static final int T__79=79;
+ public static final int T__73=73;
+ public static final int EOF=-1;
+ public static final int T__74=74;
+ public static final int T__75=75;
+ public static final int T__76=76;
+ public static final int T__80=80;
+ public static final int T__81=81;
+ public static final int T__82=82;
+ public static final int T__83=83;
+ public static final int RULE_WS=11;
+ public static final int RULE_ANY_OTHER=12;
+ public static final int T__88=88;
+ public static final int T__108=108;
+ public static final int T__89=89;
+ public static final int T__107=107;
+ public static final int T__109=109;
+ public static final int T__84=84;
+ public static final int T__104=104;
+ public static final int T__85=85;
+ public static final int T__103=103;
+ public static final int T__86=86;
+ public static final int T__106=106;
+ public static final int T__87=87;
+ public static final int T__105=105;
+
+ // delegates
+ // delegators
+
+
+ public InternalStrategyDSLParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalStrategyDSLParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalStrategyDSLParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g"; }
+
+
+
+ private StrategyDSLGrammarAccess grammarAccess;
+
+ public InternalStrategyDSLParser(TokenStream input, StrategyDSLGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "StrategyModel";
+ }
+
+ @Override
+ protected StrategyDSLGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+
+
+
+ // $ANTLR start "entryRuleStrategyModel"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:68:1: entryRuleStrategyModel returns [EObject current=null] : iv_ruleStrategyModel= ruleStrategyModel EOF ;
+ public final EObject entryRuleStrategyModel() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStrategyModel = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:69:2: (iv_ruleStrategyModel= ruleStrategyModel EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:70:2: iv_ruleStrategyModel= ruleStrategyModel EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getStrategyModelRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyModel_in_entryRuleStrategyModel75);
+ iv_ruleStrategyModel=ruleStrategyModel();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleStrategyModel;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyModel85); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStrategyModel"
+
+
+ // $ANTLR start "ruleStrategyModel"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:77:1: ruleStrategyModel returns [EObject current=null] : ( (lv_packages_0_0= ruleStrategyPackage ) )* ;
+ public final EObject ruleStrategyModel() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_packages_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:80:28: ( ( (lv_packages_0_0= ruleStrategyPackage ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:81:1: ( (lv_packages_0_0= ruleStrategyPackage ) )*
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:81:1: ( (lv_packages_0_0= ruleStrategyPackage ) )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==13) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:82:1: (lv_packages_0_0= ruleStrategyPackage )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:82:1: (lv_packages_0_0= ruleStrategyPackage )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:83:3: lv_packages_0_0= ruleStrategyPackage
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyModelAccess().getPackagesStrategyPackageParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleStrategyPackage_in_ruleStrategyModel130);
+ lv_packages_0_0=ruleStrategyPackage();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyModelRule());
+ }
+ add(
+ current,
+ "packages",
+ lv_packages_0_0,
+ "StrategyPackage");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStrategyModel"
+
+
+ // $ANTLR start "entryRuleStrategyPackage"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:107:1: entryRuleStrategyPackage returns [EObject current=null] : iv_ruleStrategyPackage= ruleStrategyPackage EOF ;
+ public final EObject entryRuleStrategyPackage() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStrategyPackage = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:108:2: (iv_ruleStrategyPackage= ruleStrategyPackage EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:109:2: iv_ruleStrategyPackage= ruleStrategyPackage EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getStrategyPackageRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyPackage_in_entryRuleStrategyPackage166);
+ iv_ruleStrategyPackage=ruleStrategyPackage();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleStrategyPackage;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyPackage176); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStrategyPackage"
+
+
+ // $ANTLR start "ruleStrategyPackage"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:116:1: ruleStrategyPackage returns [EObject current=null] : ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_imports_4_0= ruleStrategyImport ) )* ( (lv_strategy_5_0= ruleStrategy ) ) otherlv_6= '}' )? ) ;
+ public final EObject ruleStrategyPackage() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_6=null;
+ AntlrDatatypeRuleToken lv_name_2_0 = null;
+
+ EObject lv_imports_4_0 = null;
+
+ EObject lv_strategy_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:119:28: ( ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_imports_4_0= ruleStrategyImport ) )* ( (lv_strategy_5_0= ruleStrategy ) ) otherlv_6= '}' )? ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:120:1: ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_imports_4_0= ruleStrategyImport ) )* ( (lv_strategy_5_0= ruleStrategy ) ) otherlv_6= '}' )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:120:1: ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_imports_4_0= ruleStrategyImport ) )* ( (lv_strategy_5_0= ruleStrategy ) ) otherlv_6= '}' )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:120:2: () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_imports_4_0= ruleStrategyImport ) )* ( (lv_strategy_5_0= ruleStrategy ) ) otherlv_6= '}' )?
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:120:2: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:121:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getStrategyPackageAccess().getStrategyPackageAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,13,FOLLOW_13_in_ruleStrategyPackage222); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getStrategyPackageAccess().getPackageKeyword_1());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:130:1: ( (lv_name_2_0= ruleQualifiedName ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:131:1: (lv_name_2_0= ruleQualifiedName )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:131:1: (lv_name_2_0= ruleQualifiedName )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:132:3: lv_name_2_0= ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyPackageAccess().getNameQualifiedNameParserRuleCall_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleStrategyPackage243);
+ lv_name_2_0=ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyPackageRule());
+ }
+ set(
+ current,
+ "name",
+ lv_name_2_0,
+ "QualifiedName");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:148:2: (otherlv_3= '{' ( (lv_imports_4_0= ruleStrategyImport ) )* ( (lv_strategy_5_0= ruleStrategy ) ) otherlv_6= '}' )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==14) ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:148:4: otherlv_3= '{' ( (lv_imports_4_0= ruleStrategyImport ) )* ( (lv_strategy_5_0= ruleStrategy ) ) otherlv_6= '}'
+ {
+ otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleStrategyPackage256); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getStrategyPackageAccess().getLeftCurlyBracketKeyword_3_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:152:1: ( (lv_imports_4_0= ruleStrategyImport ) )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==16) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:153:1: (lv_imports_4_0= ruleStrategyImport )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:153:1: (lv_imports_4_0= ruleStrategyImport )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:154:3: lv_imports_4_0= ruleStrategyImport
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyPackageAccess().getImportsStrategyImportParserRuleCall_3_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleStrategyImport_in_ruleStrategyPackage277);
+ lv_imports_4_0=ruleStrategyImport();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyPackageRule());
+ }
+ add(
+ current,
+ "imports",
+ lv_imports_4_0,
+ "StrategyImport");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:170:3: ( (lv_strategy_5_0= ruleStrategy ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:171:1: (lv_strategy_5_0= ruleStrategy )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:171:1: (lv_strategy_5_0= ruleStrategy )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:172:3: lv_strategy_5_0= ruleStrategy
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyPackageAccess().getStrategyStrategyParserRuleCall_3_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleStrategy_in_ruleStrategyPackage299);
+ lv_strategy_5_0=ruleStrategy();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyPackageRule());
+ }
+ set(
+ current,
+ "strategy",
+ lv_strategy_5_0,
+ "Strategy");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleStrategyPackage311); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getStrategyPackageAccess().getRightCurlyBracketKeyword_3_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStrategyPackage"
+
+
+ // $ANTLR start "entryRuleStrategyImport"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:200:1: entryRuleStrategyImport returns [EObject current=null] : iv_ruleStrategyImport= ruleStrategyImport EOF ;
+ public final EObject entryRuleStrategyImport() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStrategyImport = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:201:2: (iv_ruleStrategyImport= ruleStrategyImport EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:202:2: iv_ruleStrategyImport= ruleStrategyImport EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getStrategyImportRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyImport_in_entryRuleStrategyImport349);
+ iv_ruleStrategyImport=ruleStrategyImport();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleStrategyImport;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyImport359); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStrategyImport"
+
+
+ // $ANTLR start "ruleStrategyImport"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:209:1: ruleStrategyImport returns [EObject current=null] : (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleStrategyQualifiedNameWithWildCard ) ) ) ;
+ public final EObject ruleStrategyImport() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ AntlrDatatypeRuleToken lv_importedNamespace_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:212:28: ( (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleStrategyQualifiedNameWithWildCard ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:213:1: (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleStrategyQualifiedNameWithWildCard ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:213:1: (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleStrategyQualifiedNameWithWildCard ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:213:3: otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleStrategyQualifiedNameWithWildCard ) )
+ {
+ otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleStrategyImport396); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_0, grammarAccess.getStrategyImportAccess().getImportKeyword_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:217:1: ( (lv_importedNamespace_1_0= ruleStrategyQualifiedNameWithWildCard ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:218:1: (lv_importedNamespace_1_0= ruleStrategyQualifiedNameWithWildCard )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:218:1: (lv_importedNamespace_1_0= ruleStrategyQualifiedNameWithWildCard )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:219:3: lv_importedNamespace_1_0= ruleStrategyQualifiedNameWithWildCard
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyImportAccess().getImportedNamespaceStrategyQualifiedNameWithWildCardParserRuleCall_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleStrategyQualifiedNameWithWildCard_in_ruleStrategyImport417);
+ lv_importedNamespace_1_0=ruleStrategyQualifiedNameWithWildCard();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyImportRule());
+ }
+ set(
+ current,
+ "importedNamespace",
+ lv_importedNamespace_1_0,
+ "StrategyQualifiedNameWithWildCard");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStrategyImport"
+
+
+ // $ANTLR start "entryRuleStrategyQualifiedNameWithWildCard"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:243:1: entryRuleStrategyQualifiedNameWithWildCard returns [String current=null] : iv_ruleStrategyQualifiedNameWithWildCard= ruleStrategyQualifiedNameWithWildCard EOF ;
+ public final String entryRuleStrategyQualifiedNameWithWildCard() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleStrategyQualifiedNameWithWildCard = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:244:2: (iv_ruleStrategyQualifiedNameWithWildCard= ruleStrategyQualifiedNameWithWildCard EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:245:2: iv_ruleStrategyQualifiedNameWithWildCard= ruleStrategyQualifiedNameWithWildCard EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getStrategyQualifiedNameWithWildCardRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyQualifiedNameWithWildCard_in_entryRuleStrategyQualifiedNameWithWildCard454);
+ iv_ruleStrategyQualifiedNameWithWildCard=ruleStrategyQualifiedNameWithWildCard();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleStrategyQualifiedNameWithWildCard.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyQualifiedNameWithWildCard465); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStrategyQualifiedNameWithWildCard"
+
+
+ // $ANTLR start "ruleStrategyQualifiedNameWithWildCard"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:252:1: ruleStrategyQualifiedNameWithWildCard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) ;
+ public final AntlrDatatypeRuleToken ruleStrategyQualifiedNameWithWildCard() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+ AntlrDatatypeRuleToken this_QualifiedName_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:255:28: ( (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:256:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:256:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:257:5: this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )?
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleStrategyQualifiedNameWithWildCard512);
+ this_QualifiedName_0=ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(this_QualifiedName_0);
+
+ }
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:267:1: (kw= '.' kw= '*' )?
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==17) ) {
+ alt4=1;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:268:2: kw= '.' kw= '*'
+ {
+ kw=(Token)match(input,17,FOLLOW_17_in_ruleStrategyQualifiedNameWithWildCard531); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0());
+
+ }
+ kw=(Token)match(input,18,FOLLOW_18_in_ruleStrategyQualifiedNameWithWildCard544); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getStrategyQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStrategyQualifiedNameWithWildCard"
+
+
+ // $ANTLR start "entryRuleStrategy"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:287:1: entryRuleStrategy returns [EObject current=null] : iv_ruleStrategy= ruleStrategy EOF ;
+ public final EObject entryRuleStrategy() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStrategy = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:288:2: (iv_ruleStrategy= ruleStrategy EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:289:2: iv_ruleStrategy= ruleStrategy EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getStrategyRule());
+ }
+ pushFollow(FOLLOW_ruleStrategy_in_entryRuleStrategy586);
+ iv_ruleStrategy=ruleStrategy();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleStrategy;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategy596); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStrategy"
+
+
+ // $ANTLR start "ruleStrategy"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:296:1: ruleStrategy returns [EObject current=null] : ( () otherlv_1= 'strategy' otherlv_2= '{' ( (lv_targets_3_0= ruleStrategyTarget ) ) ( (lv_strategyDefault_4_0= ruleStrategyDefault ) ) otherlv_5= '}' ) ;
+ public final EObject ruleStrategy() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_5=null;
+ EObject lv_targets_3_0 = null;
+
+ EObject lv_strategyDefault_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:299:28: ( ( () otherlv_1= 'strategy' otherlv_2= '{' ( (lv_targets_3_0= ruleStrategyTarget ) ) ( (lv_strategyDefault_4_0= ruleStrategyDefault ) ) otherlv_5= '}' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:300:1: ( () otherlv_1= 'strategy' otherlv_2= '{' ( (lv_targets_3_0= ruleStrategyTarget ) ) ( (lv_strategyDefault_4_0= ruleStrategyDefault ) ) otherlv_5= '}' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:300:1: ( () otherlv_1= 'strategy' otherlv_2= '{' ( (lv_targets_3_0= ruleStrategyTarget ) ) ( (lv_strategyDefault_4_0= ruleStrategyDefault ) ) otherlv_5= '}' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:300:2: () otherlv_1= 'strategy' otherlv_2= '{' ( (lv_targets_3_0= ruleStrategyTarget ) ) ( (lv_strategyDefault_4_0= ruleStrategyDefault ) ) otherlv_5= '}'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:300:2: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:301:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getStrategyAccess().getStrategyAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,19,FOLLOW_19_in_ruleStrategy642); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getStrategyAccess().getStrategyKeyword_1());
+
+ }
+ otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleStrategy654); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:314:1: ( (lv_targets_3_0= ruleStrategyTarget ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:315:1: (lv_targets_3_0= ruleStrategyTarget )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:315:1: (lv_targets_3_0= ruleStrategyTarget )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:316:3: lv_targets_3_0= ruleStrategyTarget
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyAccess().getTargetsStrategyTargetParserRuleCall_3_0());
+
+ }
+ pushFollow(FOLLOW_ruleStrategyTarget_in_ruleStrategy675);
+ lv_targets_3_0=ruleStrategyTarget();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyRule());
+ }
+ set(
+ current,
+ "targets",
+ lv_targets_3_0,
+ "StrategyTarget");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:332:2: ( (lv_strategyDefault_4_0= ruleStrategyDefault ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:333:1: (lv_strategyDefault_4_0= ruleStrategyDefault )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:333:1: (lv_strategyDefault_4_0= ruleStrategyDefault )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:334:3: lv_strategyDefault_4_0= ruleStrategyDefault
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyAccess().getStrategyDefaultStrategyDefaultParserRuleCall_4_0());
+
+ }
+ pushFollow(FOLLOW_ruleStrategyDefault_in_ruleStrategy696);
+ lv_strategyDefault_4_0=ruleStrategyDefault();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyRule());
+ }
+ set(
+ current,
+ "strategyDefault",
+ lv_strategyDefault_4_0,
+ "StrategyDefault");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleStrategy708); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_5());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStrategy"
+
+
+ // $ANTLR start "entryRuleStrategyTarget"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:362:1: entryRuleStrategyTarget returns [EObject current=null] : iv_ruleStrategyTarget= ruleStrategyTarget EOF ;
+ public final EObject entryRuleStrategyTarget() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStrategyTarget = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:363:2: (iv_ruleStrategyTarget= ruleStrategyTarget EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:364:2: iv_ruleStrategyTarget= ruleStrategyTarget EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getStrategyTargetRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyTarget_in_entryRuleStrategyTarget744);
+ iv_ruleStrategyTarget=ruleStrategyTarget();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleStrategyTarget;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyTarget754); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStrategyTarget"
+
+
+ // $ANTLR start "ruleStrategyTarget"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:371:1: ruleStrategyTarget returns [EObject current=null] : ( () otherlv_1= 'targets' (otherlv_2= '{' ( (lv_layoutingStrategies_3_0= ruleLayoutingStrategy ) )* ( (lv_focusingStrategies_4_0= ruleFocusingStrategy ) )* ( (lv_focusingEnhancer_5_0= ruleFocusingEnhancer ) )* otherlv_6= '}' )? ) ;
+ public final EObject ruleStrategyTarget() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_6=null;
+ EObject lv_layoutingStrategies_3_0 = null;
+
+ EObject lv_focusingStrategies_4_0 = null;
+
+ EObject lv_focusingEnhancer_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:374:28: ( ( () otherlv_1= 'targets' (otherlv_2= '{' ( (lv_layoutingStrategies_3_0= ruleLayoutingStrategy ) )* ( (lv_focusingStrategies_4_0= ruleFocusingStrategy ) )* ( (lv_focusingEnhancer_5_0= ruleFocusingEnhancer ) )* otherlv_6= '}' )? ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:375:1: ( () otherlv_1= 'targets' (otherlv_2= '{' ( (lv_layoutingStrategies_3_0= ruleLayoutingStrategy ) )* ( (lv_focusingStrategies_4_0= ruleFocusingStrategy ) )* ( (lv_focusingEnhancer_5_0= ruleFocusingEnhancer ) )* otherlv_6= '}' )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:375:1: ( () otherlv_1= 'targets' (otherlv_2= '{' ( (lv_layoutingStrategies_3_0= ruleLayoutingStrategy ) )* ( (lv_focusingStrategies_4_0= ruleFocusingStrategy ) )* ( (lv_focusingEnhancer_5_0= ruleFocusingEnhancer ) )* otherlv_6= '}' )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:375:2: () otherlv_1= 'targets' (otherlv_2= '{' ( (lv_layoutingStrategies_3_0= ruleLayoutingStrategy ) )* ( (lv_focusingStrategies_4_0= ruleFocusingStrategy ) )* ( (lv_focusingEnhancer_5_0= ruleFocusingEnhancer ) )* otherlv_6= '}' )?
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:375:2: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:376:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getStrategyTargetAccess().getStrategyTargetAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,20,FOLLOW_20_in_ruleStrategyTarget800); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getStrategyTargetAccess().getTargetsKeyword_1());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:385:1: (otherlv_2= '{' ( (lv_layoutingStrategies_3_0= ruleLayoutingStrategy ) )* ( (lv_focusingStrategies_4_0= ruleFocusingStrategy ) )* ( (lv_focusingEnhancer_5_0= ruleFocusingEnhancer ) )* otherlv_6= '}' )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==14) ) {
+ alt8=1;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:385:3: otherlv_2= '{' ( (lv_layoutingStrategies_3_0= ruleLayoutingStrategy ) )* ( (lv_focusingStrategies_4_0= ruleFocusingStrategy ) )* ( (lv_focusingEnhancer_5_0= ruleFocusingEnhancer ) )* otherlv_6= '}'
+ {
+ otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleStrategyTarget813); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getStrategyTargetAccess().getLeftCurlyBracketKeyword_2_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:389:1: ( (lv_layoutingStrategies_3_0= ruleLayoutingStrategy ) )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==21) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:390:1: (lv_layoutingStrategies_3_0= ruleLayoutingStrategy )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:390:1: (lv_layoutingStrategies_3_0= ruleLayoutingStrategy )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:391:3: lv_layoutingStrategies_3_0= ruleLayoutingStrategy
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyTargetAccess().getLayoutingStrategiesLayoutingStrategyParserRuleCall_2_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleLayoutingStrategy_in_ruleStrategyTarget834);
+ lv_layoutingStrategies_3_0=ruleLayoutingStrategy();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyTargetRule());
+ }
+ add(
+ current,
+ "layoutingStrategies",
+ lv_layoutingStrategies_3_0,
+ "LayoutingStrategy");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:407:3: ( (lv_focusingStrategies_4_0= ruleFocusingStrategy ) )*
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==23) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:408:1: (lv_focusingStrategies_4_0= ruleFocusingStrategy )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:408:1: (lv_focusingStrategies_4_0= ruleFocusingStrategy )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:409:3: lv_focusingStrategies_4_0= ruleFocusingStrategy
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyTargetAccess().getFocusingStrategiesFocusingStrategyParserRuleCall_2_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleFocusingStrategy_in_ruleStrategyTarget856);
+ lv_focusingStrategies_4_0=ruleFocusingStrategy();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyTargetRule());
+ }
+ add(
+ current,
+ "focusingStrategies",
+ lv_focusingStrategies_4_0,
+ "FocusingStrategy");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop6;
+ }
+ } while (true);
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:425:3: ( (lv_focusingEnhancer_5_0= ruleFocusingEnhancer ) )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==29) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:426:1: (lv_focusingEnhancer_5_0= ruleFocusingEnhancer )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:426:1: (lv_focusingEnhancer_5_0= ruleFocusingEnhancer )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:427:3: lv_focusingEnhancer_5_0= ruleFocusingEnhancer
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getStrategyTargetAccess().getFocusingEnhancerFocusingEnhancerParserRuleCall_2_3_0());
+
+ }
+ pushFollow(FOLLOW_ruleFocusingEnhancer_in_ruleStrategyTarget878);
+ lv_focusingEnhancer_5_0=ruleFocusingEnhancer();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStrategyTargetRule());
+ }
+ add(
+ current,
+ "focusingEnhancer",
+ lv_focusingEnhancer_5_0,
+ "FocusingEnhancer");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleStrategyTarget891); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getStrategyTargetAccess().getRightCurlyBracketKeyword_2_4());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStrategyTarget"
+
+
+ // $ANTLR start "entryRuleLayoutingStrategy"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:455:1: entryRuleLayoutingStrategy returns [EObject current=null] : iv_ruleLayoutingStrategy= ruleLayoutingStrategy EOF ;
+ public final EObject entryRuleLayoutingStrategy() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLayoutingStrategy = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:456:2: (iv_ruleLayoutingStrategy= ruleLayoutingStrategy EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:457:2: iv_ruleLayoutingStrategy= ruleLayoutingStrategy EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getLayoutingStrategyRule());
+ }
+ pushFollow(FOLLOW_ruleLayoutingStrategy_in_entryRuleLayoutingStrategy929);
+ iv_ruleLayoutingStrategy=ruleLayoutingStrategy();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleLayoutingStrategy;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLayoutingStrategy939); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLayoutingStrategy"
+
+
+ // $ANTLR start "ruleLayoutingStrategy"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:464:1: ruleLayoutingStrategy returns [EObject current=null] : ( () otherlv_1= 'layoutingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'layout=' ( (lv_layout_4_0= ruleLayoutingEnum ) ) ) ;
+ public final EObject ruleLayoutingStrategy() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token lv_name_2_0=null;
+ Token otherlv_3=null;
+ Enumerator lv_layout_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:467:28: ( ( () otherlv_1= 'layoutingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'layout=' ( (lv_layout_4_0= ruleLayoutingEnum ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:468:1: ( () otherlv_1= 'layoutingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'layout=' ( (lv_layout_4_0= ruleLayoutingEnum ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:468:1: ( () otherlv_1= 'layoutingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'layout=' ( (lv_layout_4_0= ruleLayoutingEnum ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:468:2: () otherlv_1= 'layoutingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'layout=' ( (lv_layout_4_0= ruleLayoutingEnum ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:468:2: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:469:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getLayoutingStrategyAccess().getLayoutingStrategyAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,21,FOLLOW_21_in_ruleLayoutingStrategy985); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getLayoutingStrategyAccess().getLayoutingStrategyKeyword_1());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:478:1: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:479:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:479:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:480:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleLayoutingStrategy1002); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_2_0, grammarAccess.getLayoutingStrategyAccess().getNameIDTerminalRuleCall_2_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getLayoutingStrategyRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,22,FOLLOW_22_in_ruleLayoutingStrategy1019); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getLayoutingStrategyAccess().getLayoutKeyword_3());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:500:1: ( (lv_layout_4_0= ruleLayoutingEnum ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:501:1: (lv_layout_4_0= ruleLayoutingEnum )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:501:1: (lv_layout_4_0= ruleLayoutingEnum )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:502:3: lv_layout_4_0= ruleLayoutingEnum
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getLayoutingStrategyAccess().getLayoutLayoutingEnumEnumRuleCall_4_0());
+
+ }
+ pushFollow(FOLLOW_ruleLayoutingEnum_in_ruleLayoutingStrategy1040);
+ lv_layout_4_0=ruleLayoutingEnum();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLayoutingStrategyRule());
+ }
+ set(
+ current,
+ "layout",
+ lv_layout_4_0,
+ "LayoutingEnum");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLayoutingStrategy"
+
+
+ // $ANTLR start "entryRuleFocusingStrategy"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:526:1: entryRuleFocusingStrategy returns [EObject current=null] : iv_ruleFocusingStrategy= ruleFocusingStrategy EOF ;
+ public final EObject entryRuleFocusingStrategy() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleFocusingStrategy = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:527:2: (iv_ruleFocusingStrategy= ruleFocusingStrategy EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:528:2: iv_ruleFocusingStrategy= ruleFocusingStrategy EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getFocusingStrategyRule());
+ }
+ pushFollow(FOLLOW_ruleFocusingStrategy_in_entryRuleFocusingStrategy1076);
+ iv_ruleFocusingStrategy=ruleFocusingStrategy();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleFocusingStrategy;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFocusingStrategy1086); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleFocusingStrategy"
+
+
+ // $ANTLR start "ruleFocusingStrategy"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:535:1: ruleFocusingStrategy returns [EObject current=null] : ( () otherlv_1= 'focusingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'ecviewFocusingId=' ( (lv_ecviewFocusingId_4_0= RULE_ID ) ) otherlv_5= 'focus=' ( (lv_focus_6_0= ruleFocusingEnum ) ) (otherlv_7= 'keyStrokeDefinition' otherlv_8= '{' otherlv_9= 'keyCode=' ( (lv_keyCode_10_0= RULE_ID ) ) (otherlv_11= 'modifierKeys' otherlv_12= '{' ( (lv_modifierKeys_13_0= RULE_ID ) )* otherlv_14= '}' )? otherlv_15= '}' )? ) ;
+ public final EObject ruleFocusingStrategy() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token lv_name_2_0=null;
+ Token otherlv_3=null;
+ Token lv_ecviewFocusingId_4_0=null;
+ Token otherlv_5=null;
+ Token otherlv_7=null;
+ Token otherlv_8=null;
+ Token otherlv_9=null;
+ Token lv_keyCode_10_0=null;
+ Token otherlv_11=null;
+ Token otherlv_12=null;
+ Token lv_modifierKeys_13_0=null;
+ Token otherlv_14=null;
+ Token otherlv_15=null;
+ Enumerator lv_focus_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:538:28: ( ( () otherlv_1= 'focusingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'ecviewFocusingId=' ( (lv_ecviewFocusingId_4_0= RULE_ID ) ) otherlv_5= 'focus=' ( (lv_focus_6_0= ruleFocusingEnum ) ) (otherlv_7= 'keyStrokeDefinition' otherlv_8= '{' otherlv_9= 'keyCode=' ( (lv_keyCode_10_0= RULE_ID ) ) (otherlv_11= 'modifierKeys' otherlv_12= '{' ( (lv_modifierKeys_13_0= RULE_ID ) )* otherlv_14= '}' )? otherlv_15= '}' )? ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:539:1: ( () otherlv_1= 'focusingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'ecviewFocusingId=' ( (lv_ecviewFocusingId_4_0= RULE_ID ) ) otherlv_5= 'focus=' ( (lv_focus_6_0= ruleFocusingEnum ) ) (otherlv_7= 'keyStrokeDefinition' otherlv_8= '{' otherlv_9= 'keyCode=' ( (lv_keyCode_10_0= RULE_ID ) ) (otherlv_11= 'modifierKeys' otherlv_12= '{' ( (lv_modifierKeys_13_0= RULE_ID ) )* otherlv_14= '}' )? otherlv_15= '}' )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:539:1: ( () otherlv_1= 'focusingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'ecviewFocusingId=' ( (lv_ecviewFocusingId_4_0= RULE_ID ) ) otherlv_5= 'focus=' ( (lv_focus_6_0= ruleFocusingEnum ) ) (otherlv_7= 'keyStrokeDefinition' otherlv_8= '{' otherlv_9= 'keyCode=' ( (lv_keyCode_10_0= RULE_ID ) ) (otherlv_11= 'modifierKeys' otherlv_12= '{' ( (lv_modifierKeys_13_0= RULE_ID ) )* otherlv_14= '}' )? otherlv_15= '}' )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:539:2: () otherlv_1= 'focusingStrategy' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'ecviewFocusingId=' ( (lv_ecviewFocusingId_4_0= RULE_ID ) ) otherlv_5= 'focus=' ( (lv_focus_6_0= ruleFocusingEnum ) ) (otherlv_7= 'keyStrokeDefinition' otherlv_8= '{' otherlv_9= 'keyCode=' ( (lv_keyCode_10_0= RULE_ID ) ) (otherlv_11= 'modifierKeys' otherlv_12= '{' ( (lv_modifierKeys_13_0= RULE_ID ) )* otherlv_14= '}' )? otherlv_15= '}' )?
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:539:2: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:540:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getFocusingStrategyAccess().getFocusingStrategyAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,23,FOLLOW_23_in_ruleFocusingStrategy1132); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getFocusingStrategyAccess().getFocusingStrategyKeyword_1());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:549:1: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:550:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:550:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:551:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFocusingStrategy1149); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_2_0, grammarAccess.getFocusingStrategyAccess().getNameIDTerminalRuleCall_2_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFocusingStrategyRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,24,FOLLOW_24_in_ruleFocusingStrategy1166); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getFocusingStrategyAccess().getEcviewFocusingIdKeyword_3());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:571:1: ( (lv_ecviewFocusingId_4_0= RULE_ID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:572:1: (lv_ecviewFocusingId_4_0= RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:572:1: (lv_ecviewFocusingId_4_0= RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:573:3: lv_ecviewFocusingId_4_0= RULE_ID
+ {
+ lv_ecviewFocusingId_4_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFocusingStrategy1183); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_ecviewFocusingId_4_0, grammarAccess.getFocusingStrategyAccess().getEcviewFocusingIdIDTerminalRuleCall_4_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFocusingStrategyRule());
+ }
+ setWithLastConsumed(
+ current,
+ "ecviewFocusingId",
+ lv_ecviewFocusingId_4_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleFocusingStrategy1200); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getFocusingStrategyAccess().getFocusKeyword_5());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:593:1: ( (lv_focus_6_0= ruleFocusingEnum ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:594:1: (lv_focus_6_0= ruleFocusingEnum )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:594:1: (lv_focus_6_0= ruleFocusingEnum )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:595:3: lv_focus_6_0= ruleFocusingEnum
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getFocusingStrategyAccess().getFocusFocusingEnumEnumRuleCall_6_0());
+
+ }
+ pushFollow(FOLLOW_ruleFocusingEnum_in_ruleFocusingStrategy1221);
+ lv_focus_6_0=ruleFocusingEnum();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getFocusingStrategyRule());
+ }
+ set(
+ current,
+ "focus",
+ lv_focus_6_0,
+ "FocusingEnum");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:611:2: (otherlv_7= 'keyStrokeDefinition' otherlv_8= '{' otherlv_9= 'keyCode=' ( (lv_keyCode_10_0= RULE_ID ) ) (otherlv_11= 'modifierKeys' otherlv_12= '{' ( (lv_modifierKeys_13_0= RULE_ID ) )* otherlv_14= '}' )? otherlv_15= '}' )?
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0==26) ) {
+ alt11=1;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:611:4: otherlv_7= 'keyStrokeDefinition' otherlv_8= '{' otherlv_9= 'keyCode=' ( (lv_keyCode_10_0= RULE_ID ) ) (otherlv_11= 'modifierKeys' otherlv_12= '{' ( (lv_modifierKeys_13_0= RULE_ID ) )* otherlv_14= '}' )? otherlv_15= '}'
+ {
+ otherlv_7=(Token)match(input,26,FOLLOW_26_in_ruleFocusingStrategy1234); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getFocusingStrategyAccess().getKeyStrokeDefinitionKeyword_7_0());
+
+ }
+ otherlv_8=(Token)match(input,14,FOLLOW_14_in_ruleFocusingStrategy1246); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_8, grammarAccess.getFocusingStrategyAccess().getLeftCurlyBracketKeyword_7_1());
+
+ }
+ otherlv_9=(Token)match(input,27,FOLLOW_27_in_ruleFocusingStrategy1258); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_9, grammarAccess.getFocusingStrategyAccess().getKeyCodeKeyword_7_2());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:623:1: ( (lv_keyCode_10_0= RULE_ID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:624:1: (lv_keyCode_10_0= RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:624:1: (lv_keyCode_10_0= RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:625:3: lv_keyCode_10_0= RULE_ID
+ {
+ lv_keyCode_10_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFocusingStrategy1275); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_keyCode_10_0, grammarAccess.getFocusingStrategyAccess().getKeyCodeIDTerminalRuleCall_7_3_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFocusingStrategyRule());
+ }
+ setWithLastConsumed(
+ current,
+ "keyCode",
+ lv_keyCode_10_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:641:2: (otherlv_11= 'modifierKeys' otherlv_12= '{' ( (lv_modifierKeys_13_0= RULE_ID ) )* otherlv_14= '}' )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==28) ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:641:4: otherlv_11= 'modifierKeys' otherlv_12= '{' ( (lv_modifierKeys_13_0= RULE_ID ) )* otherlv_14= '}'
+ {
+ otherlv_11=(Token)match(input,28,FOLLOW_28_in_ruleFocusingStrategy1293); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_11, grammarAccess.getFocusingStrategyAccess().getModifierKeysKeyword_7_4_0());
+
+ }
+ otherlv_12=(Token)match(input,14,FOLLOW_14_in_ruleFocusingStrategy1305); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_12, grammarAccess.getFocusingStrategyAccess().getLeftCurlyBracketKeyword_7_4_1());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:649:1: ( (lv_modifierKeys_13_0= RULE_ID ) )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==RULE_ID) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:650:1: (lv_modifierKeys_13_0= RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:650:1: (lv_modifierKeys_13_0= RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:651:3: lv_modifierKeys_13_0= RULE_ID
+ {
+ lv_modifierKeys_13_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFocusingStrategy1322); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_modifierKeys_13_0, grammarAccess.getFocusingStrategyAccess().getModifierKeysIDTerminalRuleCall_7_4_2_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFocusingStrategyRule());
+ }
+ addWithLastConsumed(
+ current,
+ "modifierKeys",
+ lv_modifierKeys_13_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+ otherlv_14=(Token)match(input,15,FOLLOW_15_in_ruleFocusingStrategy1340); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_14, grammarAccess.getFocusingStrategyAccess().getRightCurlyBracketKeyword_7_4_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+ otherlv_15=(Token)match(input,15,FOLLOW_15_in_ruleFocusingStrategy1354); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_15, grammarAccess.getFocusingStrategyAccess().getRightCurlyBracketKeyword_7_5());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleFocusingStrategy"
+
+
+ // $ANTLR start "entryRuleFocusingEnhancer"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:683:1: entryRuleFocusingEnhancer returns [EObject current=null] : iv_ruleFocusingEnhancer= ruleFocusingEnhancer EOF ;
+ public final EObject entryRuleFocusingEnhancer() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleFocusingEnhancer = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:684:2: (iv_ruleFocusingEnhancer= ruleFocusingEnhancer EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:685:2: iv_ruleFocusingEnhancer= ruleFocusingEnhancer EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getFocusingEnhancerRule());
+ }
+ pushFollow(FOLLOW_ruleFocusingEnhancer_in_entryRuleFocusingEnhancer1392);
+ iv_ruleFocusingEnhancer=ruleFocusingEnhancer();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleFocusingEnhancer;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFocusingEnhancer1402); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleFocusingEnhancer"
+
+
+ // $ANTLR start "ruleFocusingEnhancer"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:692:1: ruleFocusingEnhancer returns [EObject current=null] : ( () otherlv_1= 'focusingEnhancer' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( (otherlv_4= RULE_ID ) )+ otherlv_5= '}' ) ;
+ public final EObject ruleFocusingEnhancer() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token lv_name_2_0=null;
+ Token otherlv_3=null;
+ Token otherlv_4=null;
+ Token otherlv_5=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:695:28: ( ( () otherlv_1= 'focusingEnhancer' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( (otherlv_4= RULE_ID ) )+ otherlv_5= '}' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:696:1: ( () otherlv_1= 'focusingEnhancer' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( (otherlv_4= RULE_ID ) )+ otherlv_5= '}' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:696:1: ( () otherlv_1= 'focusingEnhancer' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( (otherlv_4= RULE_ID ) )+ otherlv_5= '}' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:696:2: () otherlv_1= 'focusingEnhancer' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( (otherlv_4= RULE_ID ) )+ otherlv_5= '}'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:696:2: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:697:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getFocusingEnhancerAccess().getFocusingEnhancerAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,29,FOLLOW_29_in_ruleFocusingEnhancer1448); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getFocusingEnhancerAccess().getFocusingEnhancerKeyword_1());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:706:1: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:707:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:707:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:708:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFocusingEnhancer1465); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_name_2_0, grammarAccess.getFocusingEnhancerAccess().getNameIDTerminalRuleCall_2_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFocusingEnhancerRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID");
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleFocusingEnhancer1482); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getFocusingEnhancerAccess().getLeftCurlyBracketKeyword_3());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:728:1: ( (otherlv_4= RULE_ID ) )+
+ int cnt12=0;
+ loop12:
+ do {
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0==RULE_ID) ) {
+ alt12=1;
+ }
+
+
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:729:1: (otherlv_4= RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:729:1: (otherlv_4= RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:730:3: otherlv_4= RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFocusingEnhancerRule());
+ }
+
+ }
+ otherlv_4=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFocusingEnhancer1502); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getFocusingEnhancerAccess().getFocusingStrategiesFocusingStrategyCrossReference_4_0());
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt12 >= 1 ) break loop12;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(12, input);
+ throw eee;
+ }
+ cnt12++;
+ } while (true);
+
+ otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleFocusingEnhancer1515); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getFocusingEnhancerAccess().getRightCurlyBracketKeyword_5());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleFocusingEnhancer"
+
+
+ // $ANTLR start "entryRuleStrategyDefault"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:753:1: entryRuleStrategyDefault returns [EObject current=null] : iv_ruleStrategyDefault= ruleStrategyDefault EOF ;
+ public final EObject entryRuleStrategyDefault() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStrategyDefault = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:754:2: (iv_ruleStrategyDefault= ruleStrategyDefault EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:755:2: iv_ruleStrategyDefault= ruleStrategyDefault EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getStrategyDefaultRule());
+ }
+ pushFollow(FOLLOW_ruleStrategyDefault_in_entryRuleStrategyDefault1551);
+ iv_ruleStrategyDefault=ruleStrategyDefault();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleStrategyDefault;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStrategyDefault1561); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStrategyDefault"
+
+
+ // $ANTLR start "ruleStrategyDefault"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:762:1: ruleStrategyDefault returns [EObject current=null] : ( () otherlv_1= 'default' otherlv_2= '{' otherlv_3= 'defaultLayouting=' ( (otherlv_4= RULE_ID ) ) otherlv_5= 'defaultFocusing=' ( (otherlv_6= RULE_ID ) ) otherlv_7= '}' ) ;
+ public final EObject ruleStrategyDefault() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_3=null;
+ Token otherlv_4=null;
+ Token otherlv_5=null;
+ Token otherlv_6=null;
+ Token otherlv_7=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:765:28: ( ( () otherlv_1= 'default' otherlv_2= '{' otherlv_3= 'defaultLayouting=' ( (otherlv_4= RULE_ID ) ) otherlv_5= 'defaultFocusing=' ( (otherlv_6= RULE_ID ) ) otherlv_7= '}' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:766:1: ( () otherlv_1= 'default' otherlv_2= '{' otherlv_3= 'defaultLayouting=' ( (otherlv_4= RULE_ID ) ) otherlv_5= 'defaultFocusing=' ( (otherlv_6= RULE_ID ) ) otherlv_7= '}' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:766:1: ( () otherlv_1= 'default' otherlv_2= '{' otherlv_3= 'defaultLayouting=' ( (otherlv_4= RULE_ID ) ) otherlv_5= 'defaultFocusing=' ( (otherlv_6= RULE_ID ) ) otherlv_7= '}' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:766:2: () otherlv_1= 'default' otherlv_2= '{' otherlv_3= 'defaultLayouting=' ( (otherlv_4= RULE_ID ) ) otherlv_5= 'defaultFocusing=' ( (otherlv_6= RULE_ID ) ) otherlv_7= '}'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:766:2: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:767:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getStrategyDefaultAccess().getStrategyDefaultAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,30,FOLLOW_30_in_ruleStrategyDefault1607); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getStrategyDefaultAccess().getDefaultKeyword_1());
+
+ }
+ otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleStrategyDefault1619); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getStrategyDefaultAccess().getLeftCurlyBracketKeyword_2());
+
+ }
+ otherlv_3=(Token)match(input,31,FOLLOW_31_in_ruleStrategyDefault1631); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingKeyword_3());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:784:1: ( (otherlv_4= RULE_ID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:785:1: (otherlv_4= RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:785:1: (otherlv_4= RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:786:3: otherlv_4= RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getStrategyDefaultRule());
+ }
+
+ }
+ otherlv_4=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleStrategyDefault1651); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingLayoutingStrategyCrossReference_4_0());
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,32,FOLLOW_32_in_ruleStrategyDefault1663); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getStrategyDefaultAccess().getDefaultFocusingKeyword_5());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:801:1: ( (otherlv_6= RULE_ID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:802:1: (otherlv_6= RULE_ID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:802:1: (otherlv_6= RULE_ID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:803:3: otherlv_6= RULE_ID
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getStrategyDefaultRule());
+ }
+
+ }
+ otherlv_6=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleStrategyDefault1683); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getStrategyDefaultAccess().getDefaultFocusingFocusingEnhancerCrossReference_6_0());
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleStrategyDefault1695); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_7, grammarAccess.getStrategyDefaultAccess().getRightCurlyBracketKeyword_7());
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStrategyDefault"
+
+
+ // $ANTLR start "entryRuleXAnnotation"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:826:1: entryRuleXAnnotation returns [EObject current=null] : iv_ruleXAnnotation= ruleXAnnotation EOF ;
+ public final EObject entryRuleXAnnotation() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXAnnotation = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:827:2: (iv_ruleXAnnotation= ruleXAnnotation EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:828:2: iv_ruleXAnnotation= ruleXAnnotation EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXAnnotationRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotation_in_entryRuleXAnnotation1731);
+ iv_ruleXAnnotation=ruleXAnnotation();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXAnnotation;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotation1741); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXAnnotation"
+
+
+ // $ANTLR start "ruleXAnnotation"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:835:1: ruleXAnnotation returns [EObject current=null] : ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) ;
+ public final EObject ruleXAnnotation() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Token otherlv_8=null;
+ EObject lv_elementValuePairs_4_0 = null;
+
+ EObject lv_elementValuePairs_6_0 = null;
+
+ EObject lv_value_7_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:838:28: ( ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:839:1: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:839:1: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:839:2: () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:839:2: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:840:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getXAnnotationAccess().getXAnnotationAction_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,33,FOLLOW_33_in_ruleXAnnotation1787); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:849:1: ( ( ruleQualifiedName ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:850:1: ( ruleQualifiedName )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:850:1: ( ruleQualifiedName )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:851:3: ruleQualifiedName
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXAnnotationRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleXAnnotation1810);
+ ruleQualifiedName();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:864:2: ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==34) && (synpred1_InternalStrategyDSL())) {
+ alt15=1;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:864:3: ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:864:3: ( ( '(' )=>otherlv_3= '(' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:864:4: ( '(' )=>otherlv_3= '('
+ {
+ otherlv_3=(Token)match(input,34,FOLLOW_34_in_ruleXAnnotation1831); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_3, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0());
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:869:2: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?
+ int alt14=3;
+ alt14 = dfa14.predict(input);
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:869:3: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:869:3: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:869:4: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:869:4: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:869:5: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:875:1: (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:876:3: lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValuePair_in_ruleXAnnotation1875);
+ lv_elementValuePairs_4_0=ruleXAnnotationElementValuePair();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAnnotationRule());
+ }
+ add(
+ current,
+ "elementValuePairs",
+ lv_elementValuePairs_4_0,
+ "XAnnotationElementValuePair");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:892:2: (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
+ loop13:
+ do {
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==35) ) {
+ alt13=1;
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:892:4: otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
+ {
+ otherlv_5=(Token)match(input,35,FOLLOW_35_in_ruleXAnnotation1888); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_5, grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:896:1: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:896:2: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:902:1: (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:903:3: lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValuePair_in_ruleXAnnotation1929);
+ lv_elementValuePairs_6_0=ruleXAnnotationElementValuePair();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAnnotationRule());
+ }
+ add(
+ current,
+ "elementValuePairs",
+ lv_elementValuePairs_6_0,
+ "XAnnotationElementValuePair");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop13;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:920:6: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:920:6: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:921:1: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:921:1: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:922:3: lv_value_7_0= ruleXAnnotationElementValueOrCommaList
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValueOrCommaList_in_ruleXAnnotation1959);
+ lv_value_7_0=ruleXAnnotationElementValueOrCommaList();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAnnotationRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_7_0,
+ "XAnnotationElementValueOrCommaList");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_8=(Token)match(input,36,FOLLOW_36_in_ruleXAnnotation1973); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_8, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXAnnotation"
+
+
+ // $ANTLR start "entryRuleXAnnotationElementValuePair"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:950:1: entryRuleXAnnotationElementValuePair returns [EObject current=null] : iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF ;
+ public final EObject entryRuleXAnnotationElementValuePair() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXAnnotationElementValuePair = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:951:2: (iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:952:2: iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXAnnotationElementValuePairRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValuePair_in_entryRuleXAnnotationElementValuePair2011);
+ iv_ruleXAnnotationElementValuePair=ruleXAnnotationElementValuePair();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXAnnotationElementValuePair;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotationElementValuePair2021); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXAnnotationElementValuePair"
+
+
+ // $ANTLR start "ruleXAnnotationElementValuePair"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:959:1: ruleXAnnotationElementValuePair returns [EObject current=null] : ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) ;
+ public final EObject ruleXAnnotationElementValuePair() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_value_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:962:28: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:963:1: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:963:1: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:963:2: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:963:2: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:963:3: ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:968:5: ( ( ( ruleValidID ) ) otherlv_1= '=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:968:6: ( ( ruleValidID ) ) otherlv_1= '='
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:968:6: ( ( ruleValidID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:969:1: ( ruleValidID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:969:1: ( ruleValidID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:970:3: ruleValidID
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXAnnotationElementValuePairRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0());
+
+ }
+ pushFollow(FOLLOW_ruleValidID_in_ruleXAnnotationElementValuePair2091);
+ ruleValidID();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleXAnnotationElementValuePair2103); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1());
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:987:3: ( (lv_value_2_0= ruleXAnnotationElementValue ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:988:1: (lv_value_2_0= ruleXAnnotationElementValue )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:988:1: (lv_value_2_0= ruleXAnnotationElementValue )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:989:3: lv_value_2_0= ruleXAnnotationElementValue
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getValueXAnnotationElementValueParserRuleCall_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValue_in_ruleXAnnotationElementValuePair2126);
+ lv_value_2_0=ruleXAnnotationElementValue();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAnnotationElementValuePairRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_2_0,
+ "XAnnotationElementValue");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXAnnotationElementValuePair"
+
+
+ // $ANTLR start "entryRuleXAnnotationElementValueOrCommaList"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1013:1: entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null] : iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF ;
+ public final EObject entryRuleXAnnotationElementValueOrCommaList() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXAnnotationElementValueOrCommaList = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1014:2: (iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1015:2: iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValueOrCommaList_in_entryRuleXAnnotationElementValueOrCommaList2162);
+ iv_ruleXAnnotationElementValueOrCommaList=ruleXAnnotationElementValueOrCommaList();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXAnnotationElementValueOrCommaList;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotationElementValueOrCommaList2172); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXAnnotationElementValueOrCommaList"
+
+
+ // $ANTLR start "ruleXAnnotationElementValueOrCommaList"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1022:1: ruleXAnnotationElementValueOrCommaList returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) ;
+ public final EObject ruleXAnnotationElementValueOrCommaList() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ Token otherlv_9=null;
+ EObject lv_elements_3_0 = null;
+
+ EObject lv_elements_5_0 = null;
+
+ EObject this_XAnnotationOrExpression_7 = null;
+
+ EObject lv_elements_10_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1025:28: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1026:1: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1026:1: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
+ int alt20=2;
+ alt20 = dfa20.predict(input);
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1026:2: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1026:2: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1026:3: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1026:3: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1026:4: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1029:5: ( () otherlv_1= '#' otherlv_2= '[' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1029:6: () otherlv_1= '#' otherlv_2= '['
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1029:6: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1030:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,38,FOLLOW_38_in_ruleXAnnotationElementValueOrCommaList2237); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1());
+
+ }
+ otherlv_2=(Token)match(input,39,FOLLOW_39_in_ruleXAnnotationElementValueOrCommaList2249); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2());
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1043:3: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( ((LA17_0>=RULE_ID && LA17_0<=RULE_DECIMAL)||LA17_0==14||LA17_0==16||(LA17_0>=33 && LA17_0<=34)||(LA17_0>=38 && LA17_0<=39)||LA17_0==46||(LA17_0>=62 && LA17_0<=63)||LA17_0==67||LA17_0==75||LA17_0==77||(LA17_0>=80 && LA17_0<=82)||(LA17_0>=85 && LA17_0<=96)||LA17_0==98) ) {
+ alt17=1;
+ }
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1043:4: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1043:4: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1044:1: (lv_elements_3_0= ruleXAnnotationOrExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1044:1: (lv_elements_3_0= ruleXAnnotationOrExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1045:3: lv_elements_3_0= ruleXAnnotationOrExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_ruleXAnnotationElementValueOrCommaList2273);
+ lv_elements_3_0=ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+ }
+ add(
+ current,
+ "elements",
+ lv_elements_3_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1061:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+ loop16:
+ do {
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0==35) ) {
+ alt16=1;
+ }
+
+
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1061:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+ {
+ otherlv_4=(Token)match(input,35,FOLLOW_35_in_ruleXAnnotationElementValueOrCommaList2286); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1065:1: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1066:1: (lv_elements_5_0= ruleXAnnotationOrExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1066:1: (lv_elements_5_0= ruleXAnnotationOrExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1067:3: lv_elements_5_0= ruleXAnnotationOrExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_ruleXAnnotationElementValueOrCommaList2307);
+ lv_elements_5_0=ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+ }
+ add(
+ current,
+ "elements",
+ lv_elements_5_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop16;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_6=(Token)match(input,40,FOLLOW_40_in_ruleXAnnotationElementValueOrCommaList2323); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1088:6: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1088:6: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1089:5: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_ruleXAnnotationElementValueOrCommaList2353);
+ this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XAnnotationOrExpression_7;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1097:1: ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0==35) ) {
+ alt19=1;
+ }
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1097:2: () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1097:2: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1098:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndAdd(
+ grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1103:2: (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
+ int cnt18=0;
+ loop18:
+ do {
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( (LA18_0==35) ) {
+ alt18=1;
+ }
+
+
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1103:4: otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
+ {
+ otherlv_9=(Token)match(input,35,FOLLOW_35_in_ruleXAnnotationElementValueOrCommaList2375); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_9, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1107:1: ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1108:1: (lv_elements_10_0= ruleXAnnotationOrExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1108:1: (lv_elements_10_0= ruleXAnnotationOrExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1109:3: lv_elements_10_0= ruleXAnnotationOrExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_ruleXAnnotationElementValueOrCommaList2396);
+ lv_elements_10_0=ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+ }
+ add(
+ current,
+ "elements",
+ lv_elements_10_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt18 >= 1 ) break loop18;
+ if (state.backtracking>0) {state.failed=true; return current;}
+ EarlyExitException eee =
+ new EarlyExitException(18, input);
+ throw eee;
+ }
+ cnt18++;
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXAnnotationElementValueOrCommaList"
+
+
+ // $ANTLR start "entryRuleXAnnotationElementValue"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1133:1: entryRuleXAnnotationElementValue returns [EObject current=null] : iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF ;
+ public final EObject entryRuleXAnnotationElementValue() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXAnnotationElementValue = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1134:2: (iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1135:2: iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXAnnotationElementValueRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotationElementValue_in_entryRuleXAnnotationElementValue2437);
+ iv_ruleXAnnotationElementValue=ruleXAnnotationElementValue();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXAnnotationElementValue;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotationElementValue2447); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXAnnotationElementValue"
+
+
+ // $ANTLR start "ruleXAnnotationElementValue"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1142:1: ruleXAnnotationElementValue returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) ;
+ public final EObject ruleXAnnotationElementValue() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ EObject lv_elements_3_0 = null;
+
+ EObject lv_elements_5_0 = null;
+
+ EObject this_XAnnotationOrExpression_7 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1145:28: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1146:1: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1146:1: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
+ int alt23=2;
+ alt23 = dfa23.predict(input);
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1146:2: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1146:2: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1146:3: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1146:3: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1146:4: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1149:5: ( () otherlv_1= '#' otherlv_2= '[' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1149:6: () otherlv_1= '#' otherlv_2= '['
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1149:6: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1150:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_1=(Token)match(input,38,FOLLOW_38_in_ruleXAnnotationElementValue2512); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1());
+
+ }
+ otherlv_2=(Token)match(input,39,FOLLOW_39_in_ruleXAnnotationElementValue2524); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2());
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1163:3: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( ((LA22_0>=RULE_ID && LA22_0<=RULE_DECIMAL)||LA22_0==14||LA22_0==16||(LA22_0>=33 && LA22_0<=34)||(LA22_0>=38 && LA22_0<=39)||LA22_0==46||(LA22_0>=62 && LA22_0<=63)||LA22_0==67||LA22_0==75||LA22_0==77||(LA22_0>=80 && LA22_0<=82)||(LA22_0>=85 && LA22_0<=96)||LA22_0==98) ) {
+ alt22=1;
+ }
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1163:4: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1163:4: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1164:1: (lv_elements_3_0= ruleXAnnotationOrExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1164:1: (lv_elements_3_0= ruleXAnnotationOrExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1165:3: lv_elements_3_0= ruleXAnnotationOrExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_ruleXAnnotationElementValue2548);
+ lv_elements_3_0=ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
+ }
+ add(
+ current,
+ "elements",
+ lv_elements_3_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1181:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+ loop21:
+ do {
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0==35) ) {
+ alt21=1;
+ }
+
+
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1181:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+ {
+ otherlv_4=(Token)match(input,35,FOLLOW_35_in_ruleXAnnotationElementValue2561); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1185:1: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1186:1: (lv_elements_5_0= ruleXAnnotationOrExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1186:1: (lv_elements_5_0= ruleXAnnotationOrExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1187:3: lv_elements_5_0= ruleXAnnotationOrExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_ruleXAnnotationElementValue2582);
+ lv_elements_5_0=ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
+ }
+ add(
+ current,
+ "elements",
+ lv_elements_5_0,
+ "XAnnotationOrExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop21;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_6=(Token)match(input,40,FOLLOW_40_in_ruleXAnnotationElementValue2598); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1209:5: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_ruleXAnnotationElementValue2627);
+ this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XAnnotationOrExpression_7;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXAnnotationElementValue"
+
+
+ // $ANTLR start "entryRuleXAnnotationOrExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1225:1: entryRuleXAnnotationOrExpression returns [EObject current=null] : iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF ;
+ public final EObject entryRuleXAnnotationOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXAnnotationOrExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1226:2: (iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1227:2: iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXAnnotationOrExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXAnnotationOrExpression_in_entryRuleXAnnotationOrExpression2662);
+ iv_ruleXAnnotationOrExpression=ruleXAnnotationOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXAnnotationOrExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAnnotationOrExpression2672); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXAnnotationOrExpression"
+
+
+ // $ANTLR start "ruleXAnnotationOrExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1234:1: ruleXAnnotationOrExpression returns [EObject current=null] : (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) ;
+ public final EObject ruleXAnnotationOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XAnnotation_0 = null;
+
+ EObject this_XExpression_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1237:28: ( (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1238:1: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1238:1: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0==33) ) {
+ alt24=1;
+ }
+ else if ( ((LA24_0>=RULE_ID && LA24_0<=RULE_DECIMAL)||LA24_0==14||LA24_0==16||LA24_0==34||(LA24_0>=38 && LA24_0<=39)||LA24_0==46||(LA24_0>=62 && LA24_0<=63)||LA24_0==67||LA24_0==75||LA24_0==77||(LA24_0>=80 && LA24_0<=82)||(LA24_0>=85 && LA24_0<=96)||LA24_0==98) ) {
+ alt24=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 24, 0, input);
+
+ throw nvae;
+ }
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1239:5: this_XAnnotation_0= ruleXAnnotation
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAnnotation_in_ruleXAnnotationOrExpression2719);
+ this_XAnnotation_0=ruleXAnnotation();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XAnnotation_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1249:5: this_XExpression_1= ruleXExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1());
+
+ }
+ pushFollow(FOLLOW_ruleXExpression_in_ruleXAnnotationOrExpression2746);
+ this_XExpression_1=ruleXExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XExpression_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXAnnotationOrExpression"
+
+
+ // $ANTLR start "entryRuleXExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1265:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ;
+ public final EObject entryRuleXExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1266:2: (iv_ruleXExpression= ruleXExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1267:2: iv_ruleXExpression= ruleXExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXExpression_in_entryRuleXExpression2781);
+ iv_ruleXExpression=ruleXExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXExpression2791); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXExpression"
+
+
+ // $ANTLR start "ruleXExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1274:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ;
+ public final EObject ruleXExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XAssignment_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1277:28: (this_XAssignment_0= ruleXAssignment )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1279:5: this_XAssignment_0= ruleXAssignment
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall());
+
+ }
+ pushFollow(FOLLOW_ruleXAssignment_in_ruleXExpression2837);
+ this_XAssignment_0=ruleXAssignment();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XAssignment_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXExpression"
+
+
+ // $ANTLR start "entryRuleXAssignment"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1295:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ;
+ public final EObject entryRuleXAssignment() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXAssignment = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1296:2: (iv_ruleXAssignment= ruleXAssignment EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1297:2: iv_ruleXAssignment= ruleXAssignment EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXAssignmentRule());
+ }
+ pushFollow(FOLLOW_ruleXAssignment_in_entryRuleXAssignment2871);
+ iv_ruleXAssignment=ruleXAssignment();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXAssignment;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAssignment2881); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXAssignment"
+
+
+ // $ANTLR start "ruleXAssignment"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1304:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ;
+ public final EObject ruleXAssignment() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_value_3_0 = null;
+
+ EObject this_XOrExpression_4 = null;
+
+ EObject lv_rightOperand_7_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1307:28: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1308:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1308:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
+ int alt26=2;
+ switch ( input.LA(1) ) {
+ case RULE_ID:
+ {
+ int LA26_1 = input.LA(2);
+
+ if ( (LA26_1==37) ) {
+ alt26=1;
+ }
+ else if ( (LA26_1==EOF||(LA26_1>=RULE_ID && LA26_1<=RULE_DECIMAL)||(LA26_1>=14 && LA26_1<=18)||LA26_1==30||(LA26_1>=34 && LA26_1<=36)||(LA26_1>=38 && LA26_1<=72)||(LA26_1>=74 && LA26_1<=99)) ) {
+ alt26=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 26, 1, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 85:
+ {
+ int LA26_2 = input.LA(2);
+
+ if ( (LA26_2==EOF||(LA26_2>=RULE_ID && LA26_2<=RULE_DECIMAL)||(LA26_2>=14 && LA26_2<=18)||LA26_2==30||(LA26_2>=34 && LA26_2<=36)||(LA26_2>=38 && LA26_2<=72)||(LA26_2>=74 && LA26_2<=99)) ) {
+ alt26=2;
+ }
+ else if ( (LA26_2==37) ) {
+ alt26=1;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 26, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 86:
+ {
+ int LA26_3 = input.LA(2);
+
+ if ( (LA26_3==37) ) {
+ alt26=1;
+ }
+ else if ( (LA26_3==EOF||(LA26_3>=RULE_ID && LA26_3<=RULE_DECIMAL)||(LA26_3>=14 && LA26_3<=18)||LA26_3==30||(LA26_3>=34 && LA26_3<=36)||(LA26_3>=38 && LA26_3<=72)||(LA26_3>=74 && LA26_3<=99)) ) {
+ alt26=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 26, 3, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 16:
+ {
+ int LA26_4 = input.LA(2);
+
+ if ( (LA26_4==37) ) {
+ alt26=1;
+ }
+ else if ( (LA26_4==EOF||(LA26_4>=RULE_ID && LA26_4<=RULE_DECIMAL)||(LA26_4>=14 && LA26_4<=18)||LA26_4==30||(LA26_4>=34 && LA26_4<=36)||(LA26_4>=38 && LA26_4<=72)||(LA26_4>=74 && LA26_4<=99)) ) {
+ alt26=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 26, 4, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 87:
+ {
+ int LA26_5 = input.LA(2);
+
+ if ( (LA26_5==EOF||(LA26_5>=RULE_ID && LA26_5<=RULE_DECIMAL)||(LA26_5>=14 && LA26_5<=18)||LA26_5==30||(LA26_5>=34 && LA26_5<=36)||(LA26_5>=38 && LA26_5<=72)||(LA26_5>=74 && LA26_5<=99)) ) {
+ alt26=2;
+ }
+ else if ( (LA26_5==37) ) {
+ alt26=1;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 26, 5, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case RULE_STRING:
+ case RULE_HEX:
+ case RULE_INT:
+ case RULE_DECIMAL:
+ case 14:
+ case 34:
+ case 38:
+ case 39:
+ case 46:
+ case 62:
+ case 63:
+ case 67:
+ case 75:
+ case 77:
+ case 80:
+ case 81:
+ case 82:
+ case 88:
+ case 89:
+ case 90:
+ case 91:
+ case 92:
+ case 93:
+ case 94:
+ case 95:
+ case 96:
+ case 98:
+ {
+ alt26=2;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 26, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt26) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1308:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1308:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1308:3: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1308:3: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1309:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1314:2: ( ( ruleFeatureCallID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1315:1: ( ruleFeatureCallID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1315:1: ( ruleFeatureCallID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1316:3: ruleFeatureCallID
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXAssignmentRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleFeatureCallID_in_ruleXAssignment2939);
+ ruleFeatureCallID();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2());
+
+ }
+ pushFollow(FOLLOW_ruleOpSingleAssign_in_ruleXAssignment2955);
+ ruleOpSingleAssign();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1337:1: ( (lv_value_3_0= ruleXAssignment ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1338:1: (lv_value_3_0= ruleXAssignment )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1338:1: (lv_value_3_0= ruleXAssignment )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1339:3: lv_value_3_0= ruleXAssignment
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAssignment_in_ruleXAssignment2975);
+ lv_value_3_0=ruleXAssignment();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAssignmentRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_3_0,
+ "XAssignment");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1356:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1356:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1357:5: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXOrExpression_in_ruleXAssignment3005);
+ this_XOrExpression_4=ruleXOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XOrExpression_4;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1365:1: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
+ int alt25=2;
+ alt25 = dfa25.predict(input);
+ switch (alt25) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1365:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1365:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1365:3: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1370:6: ( () ( ( ruleOpMultiAssign ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1370:7: () ( ( ruleOpMultiAssign ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1370:7: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1371:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1376:2: ( ( ruleOpMultiAssign ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1377:1: ( ruleOpMultiAssign )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1377:1: ( ruleOpMultiAssign )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1378:3: ruleOpMultiAssign
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXAssignmentRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpMultiAssign_in_ruleXAssignment3058);
+ ruleOpMultiAssign();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1391:4: ( (lv_rightOperand_7_0= ruleXAssignment ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1392:1: (lv_rightOperand_7_0= ruleXAssignment )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1392:1: (lv_rightOperand_7_0= ruleXAssignment )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1393:3: lv_rightOperand_7_0= ruleXAssignment
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAssignment_in_ruleXAssignment3081);
+ lv_rightOperand_7_0=ruleXAssignment();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAssignmentRule());
+ }
+ set(
+ current,
+ "rightOperand",
+ lv_rightOperand_7_0,
+ "XAssignment");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXAssignment"
+
+
+ // $ANTLR start "entryRuleOpSingleAssign"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1417:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ;
+ public final String entryRuleOpSingleAssign() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1418:2: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1419:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpSingleAssignRule());
+ }
+ pushFollow(FOLLOW_ruleOpSingleAssign_in_entryRuleOpSingleAssign3121);
+ iv_ruleOpSingleAssign=ruleOpSingleAssign();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpSingleAssign.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpSingleAssign3132); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpSingleAssign"
+
+
+ // $ANTLR start "ruleOpSingleAssign"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1426:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ;
+ public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1429:28: (kw= '=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1431:2: kw= '='
+ {
+ kw=(Token)match(input,37,FOLLOW_37_in_ruleOpSingleAssign3169); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword());
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpSingleAssign"
+
+
+ // $ANTLR start "entryRuleOpMultiAssign"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1444:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ;
+ public final String entryRuleOpMultiAssign() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1445:2: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1446:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpMultiAssignRule());
+ }
+ pushFollow(FOLLOW_ruleOpMultiAssign_in_entryRuleOpMultiAssign3209);
+ iv_ruleOpMultiAssign=ruleOpMultiAssign();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpMultiAssign.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpMultiAssign3220); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpMultiAssign"
+
+
+ // $ANTLR start "ruleOpMultiAssign"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1453:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ;
+ public final AntlrDatatypeRuleToken ruleOpMultiAssign() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1456:28: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1457:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1457:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
+ int alt28=7;
+ switch ( input.LA(1) ) {
+ case 41:
+ {
+ alt28=1;
+ }
+ break;
+ case 42:
+ {
+ alt28=2;
+ }
+ break;
+ case 43:
+ {
+ alt28=3;
+ }
+ break;
+ case 44:
+ {
+ alt28=4;
+ }
+ break;
+ case 45:
+ {
+ alt28=5;
+ }
+ break;
+ case 46:
+ {
+ alt28=6;
+ }
+ break;
+ case 47:
+ {
+ alt28=7;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 28, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt28) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1458:2: kw= '+='
+ {
+ kw=(Token)match(input,41,FOLLOW_41_in_ruleOpMultiAssign3258); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1465:2: kw= '-='
+ {
+ kw=(Token)match(input,42,FOLLOW_42_in_ruleOpMultiAssign3277); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1472:2: kw= '*='
+ {
+ kw=(Token)match(input,43,FOLLOW_43_in_ruleOpMultiAssign3296); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2());
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1479:2: kw= '/='
+ {
+ kw=(Token)match(input,44,FOLLOW_44_in_ruleOpMultiAssign3315); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3());
+
+ }
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1486:2: kw= '%='
+ {
+ kw=(Token)match(input,45,FOLLOW_45_in_ruleOpMultiAssign3334); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4());
+
+ }
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1492:6: (kw= '<' kw= '<' kw= '=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1492:6: (kw= '<' kw= '<' kw= '=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1493:2: kw= '<' kw= '<' kw= '='
+ {
+ kw=(Token)match(input,46,FOLLOW_46_in_ruleOpMultiAssign3354); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0());
+
+ }
+ kw=(Token)match(input,46,FOLLOW_46_in_ruleOpMultiAssign3367); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1());
+
+ }
+ kw=(Token)match(input,37,FOLLOW_37_in_ruleOpMultiAssign3380); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1511:6: (kw= '>' (kw= '>' )? kw= '>=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1511:6: (kw= '>' (kw= '>' )? kw= '>=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1512:2: kw= '>' (kw= '>' )? kw= '>='
+ {
+ kw=(Token)match(input,47,FOLLOW_47_in_ruleOpMultiAssign3401); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1517:1: (kw= '>' )?
+ int alt27=2;
+ int LA27_0 = input.LA(1);
+
+ if ( (LA27_0==47) ) {
+ alt27=1;
+ }
+ switch (alt27) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1518:2: kw= '>'
+ {
+ kw=(Token)match(input,47,FOLLOW_47_in_ruleOpMultiAssign3415); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+ kw=(Token)match(input,48,FOLLOW_48_in_ruleOpMultiAssign3430); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2());
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpMultiAssign"
+
+
+ // $ANTLR start "entryRuleXOrExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1537:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ;
+ public final EObject entryRuleXOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXOrExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1538:2: (iv_ruleXOrExpression= ruleXOrExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1539:2: iv_ruleXOrExpression= ruleXOrExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXOrExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXOrExpression_in_entryRuleXOrExpression3471);
+ iv_ruleXOrExpression=ruleXOrExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXOrExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXOrExpression3481); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXOrExpression"
+
+
+ // $ANTLR start "ruleXOrExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1546:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ;
+ public final EObject ruleXOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XAndExpression_0 = null;
+
+ EObject lv_rightOperand_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1549:28: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1550:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1550:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1551:5: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAndExpression_in_ruleXOrExpression3528);
+ this_XAndExpression_0=ruleXAndExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XAndExpression_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1559:1: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
+ loop29:
+ do {
+ int alt29=2;
+ int LA29_0 = input.LA(1);
+
+ if ( (LA29_0==49) ) {
+ int LA29_2 = input.LA(2);
+
+ if ( (synpred8_InternalStrategyDSL()) ) {
+ alt29=1;
+ }
+
+
+ }
+
+
+ switch (alt29) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1559:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1559:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1559:3: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1564:6: ( () ( ( ruleOpOr ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1564:7: () ( ( ruleOpOr ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1564:7: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1565:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1570:2: ( ( ruleOpOr ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1571:1: ( ruleOpOr )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1571:1: ( ruleOpOr )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1572:3: ruleOpOr
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXOrExpressionRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpOr_in_ruleXOrExpression3581);
+ ruleOpOr();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1585:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1586:1: (lv_rightOperand_3_0= ruleXAndExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1586:1: (lv_rightOperand_3_0= ruleXAndExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1587:3: lv_rightOperand_3_0= ruleXAndExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAndExpression_in_ruleXOrExpression3604);
+ lv_rightOperand_3_0=ruleXAndExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXOrExpressionRule());
+ }
+ set(
+ current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XAndExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop29;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXOrExpression"
+
+
+ // $ANTLR start "entryRuleOpOr"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1611:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ;
+ public final String entryRuleOpOr() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpOr = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1612:2: (iv_ruleOpOr= ruleOpOr EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1613:2: iv_ruleOpOr= ruleOpOr EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpOrRule());
+ }
+ pushFollow(FOLLOW_ruleOpOr_in_entryRuleOpOr3643);
+ iv_ruleOpOr=ruleOpOr();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpOr.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpOr3654); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpOr"
+
+
+ // $ANTLR start "ruleOpOr"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1620:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ;
+ public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1623:28: (kw= '||' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1625:2: kw= '||'
+ {
+ kw=(Token)match(input,49,FOLLOW_49_in_ruleOpOr3691); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpOr"
+
+
+ // $ANTLR start "entryRuleXAndExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1638:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ;
+ public final EObject entryRuleXAndExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXAndExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1639:2: (iv_ruleXAndExpression= ruleXAndExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1640:2: iv_ruleXAndExpression= ruleXAndExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXAndExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXAndExpression_in_entryRuleXAndExpression3730);
+ iv_ruleXAndExpression=ruleXAndExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXAndExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAndExpression3740); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXAndExpression"
+
+
+ // $ANTLR start "ruleXAndExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1647:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ;
+ public final EObject ruleXAndExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XEqualityExpression_0 = null;
+
+ EObject lv_rightOperand_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1650:28: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1651:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1651:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1652:5: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXEqualityExpression_in_ruleXAndExpression3787);
+ this_XEqualityExpression_0=ruleXEqualityExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XEqualityExpression_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1660:1: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
+ loop30:
+ do {
+ int alt30=2;
+ int LA30_0 = input.LA(1);
+
+ if ( (LA30_0==50) ) {
+ int LA30_2 = input.LA(2);
+
+ if ( (synpred9_InternalStrategyDSL()) ) {
+ alt30=1;
+ }
+
+
+ }
+
+
+ switch (alt30) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1660:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1660:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1660:3: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1665:6: ( () ( ( ruleOpAnd ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1665:7: () ( ( ruleOpAnd ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1665:7: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1666:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1671:2: ( ( ruleOpAnd ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1672:1: ( ruleOpAnd )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1672:1: ( ruleOpAnd )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1673:3: ruleOpAnd
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXAndExpressionRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpAnd_in_ruleXAndExpression3840);
+ ruleOpAnd();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1686:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1687:1: (lv_rightOperand_3_0= ruleXEqualityExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1687:1: (lv_rightOperand_3_0= ruleXEqualityExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1688:3: lv_rightOperand_3_0= ruleXEqualityExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXEqualityExpression_in_ruleXAndExpression3863);
+ lv_rightOperand_3_0=ruleXEqualityExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
+ }
+ set(
+ current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XEqualityExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop30;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXAndExpression"
+
+
+ // $ANTLR start "entryRuleOpAnd"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1712:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ;
+ public final String entryRuleOpAnd() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpAnd = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1713:2: (iv_ruleOpAnd= ruleOpAnd EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1714:2: iv_ruleOpAnd= ruleOpAnd EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpAndRule());
+ }
+ pushFollow(FOLLOW_ruleOpAnd_in_entryRuleOpAnd3902);
+ iv_ruleOpAnd=ruleOpAnd();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpAnd.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpAnd3913); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpAnd"
+
+
+ // $ANTLR start "ruleOpAnd"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1721:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ;
+ public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1724:28: (kw= '&&' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1726:2: kw= '&&'
+ {
+ kw=(Token)match(input,50,FOLLOW_50_in_ruleOpAnd3950); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
+
+ }
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpAnd"
+
+
+ // $ANTLR start "entryRuleXEqualityExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1739:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ;
+ public final EObject entryRuleXEqualityExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXEqualityExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1740:2: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1741:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXEqualityExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXEqualityExpression_in_entryRuleXEqualityExpression3989);
+ iv_ruleXEqualityExpression=ruleXEqualityExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXEqualityExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXEqualityExpression3999); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXEqualityExpression"
+
+
+ // $ANTLR start "ruleXEqualityExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1748:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ;
+ public final EObject ruleXEqualityExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XRelationalExpression_0 = null;
+
+ EObject lv_rightOperand_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1751:28: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1752:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1752:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1753:5: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXRelationalExpression_in_ruleXEqualityExpression4046);
+ this_XRelationalExpression_0=ruleXRelationalExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XRelationalExpression_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1761:1: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
+ loop31:
+ do {
+ int alt31=2;
+ switch ( input.LA(1) ) {
+ case 51:
+ {
+ int LA31_2 = input.LA(2);
+
+ if ( (synpred10_InternalStrategyDSL()) ) {
+ alt31=1;
+ }
+
+
+ }
+ break;
+ case 52:
+ {
+ int LA31_3 = input.LA(2);
+
+ if ( (synpred10_InternalStrategyDSL()) ) {
+ alt31=1;
+ }
+
+
+ }
+ break;
+ case 53:
+ {
+ int LA31_4 = input.LA(2);
+
+ if ( (synpred10_InternalStrategyDSL()) ) {
+ alt31=1;
+ }
+
+
+ }
+ break;
+ case 54:
+ {
+ int LA31_5 = input.LA(2);
+
+ if ( (synpred10_InternalStrategyDSL()) ) {
+ alt31=1;
+ }
+
+
+ }
+ break;
+
+ }
+
+ switch (alt31) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1761:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1761:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1761:3: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1766:6: ( () ( ( ruleOpEquality ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1766:7: () ( ( ruleOpEquality ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1766:7: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1767:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1772:2: ( ( ruleOpEquality ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1773:1: ( ruleOpEquality )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1773:1: ( ruleOpEquality )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1774:3: ruleOpEquality
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXEqualityExpressionRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpEquality_in_ruleXEqualityExpression4099);
+ ruleOpEquality();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1787:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1788:1: (lv_rightOperand_3_0= ruleXRelationalExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1788:1: (lv_rightOperand_3_0= ruleXRelationalExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1789:3: lv_rightOperand_3_0= ruleXRelationalExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXRelationalExpression_in_ruleXEqualityExpression4122);
+ lv_rightOperand_3_0=ruleXRelationalExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
+ }
+ set(
+ current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XRelationalExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop31;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXEqualityExpression"
+
+
+ // $ANTLR start "entryRuleOpEquality"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1813:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ;
+ public final String entryRuleOpEquality() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpEquality = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1814:2: (iv_ruleOpEquality= ruleOpEquality EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1815:2: iv_ruleOpEquality= ruleOpEquality EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpEqualityRule());
+ }
+ pushFollow(FOLLOW_ruleOpEquality_in_entryRuleOpEquality4161);
+ iv_ruleOpEquality=ruleOpEquality();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpEquality.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpEquality4172); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpEquality"
+
+
+ // $ANTLR start "ruleOpEquality"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1822:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ;
+ public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1825:28: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1826:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1826:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
+ int alt32=4;
+ switch ( input.LA(1) ) {
+ case 51:
+ {
+ alt32=1;
+ }
+ break;
+ case 52:
+ {
+ alt32=2;
+ }
+ break;
+ case 53:
+ {
+ alt32=3;
+ }
+ break;
+ case 54:
+ {
+ alt32=4;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 32, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt32) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1827:2: kw= '=='
+ {
+ kw=(Token)match(input,51,FOLLOW_51_in_ruleOpEquality4210); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1834:2: kw= '!='
+ {
+ kw=(Token)match(input,52,FOLLOW_52_in_ruleOpEquality4229); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1841:2: kw= '==='
+ {
+ kw=(Token)match(input,53,FOLLOW_53_in_ruleOpEquality4248); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1848:2: kw= '!=='
+ {
+ kw=(Token)match(input,54,FOLLOW_54_in_ruleOpEquality4267); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpEquality"
+
+
+ // $ANTLR start "entryRuleXRelationalExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1861:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ;
+ public final EObject entryRuleXRelationalExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXRelationalExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1862:2: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1863:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXRelationalExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXRelationalExpression_in_entryRuleXRelationalExpression4307);
+ iv_ruleXRelationalExpression=ruleXRelationalExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXRelationalExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXRelationalExpression4317); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXRelationalExpression"
+
+
+ // $ANTLR start "ruleXRelationalExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1870:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ;
+ public final EObject ruleXRelationalExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_2=null;
+ EObject this_XOtherOperatorExpression_0 = null;
+
+ EObject lv_type_3_0 = null;
+
+ EObject lv_rightOperand_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1873:28: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1874:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1874:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1875:5: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXOtherOperatorExpression_in_ruleXRelationalExpression4364);
+ this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XOtherOperatorExpression_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1883:1: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
+ loop33:
+ do {
+ int alt33=3;
+ switch ( input.LA(1) ) {
+ case 46:
+ {
+ int LA33_2 = input.LA(2);
+
+ if ( (synpred12_InternalStrategyDSL()) ) {
+ alt33=2;
+ }
+
+
+ }
+ break;
+ case 47:
+ {
+ int LA33_3 = input.LA(2);
+
+ if ( (synpred12_InternalStrategyDSL()) ) {
+ alt33=2;
+ }
+
+
+ }
+ break;
+ case 55:
+ {
+ int LA33_4 = input.LA(2);
+
+ if ( (synpred11_InternalStrategyDSL()) ) {
+ alt33=1;
+ }
+
+
+ }
+ break;
+ case 48:
+ {
+ int LA33_5 = input.LA(2);
+
+ if ( (synpred12_InternalStrategyDSL()) ) {
+ alt33=2;
+ }
+
+
+ }
+ break;
+
+ }
+
+ switch (alt33) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1883:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1883:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1883:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1883:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1883:4: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1885:5: ( () otherlv_2= 'instanceof' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1885:6: () otherlv_2= 'instanceof'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1885:6: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1886:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_2=(Token)match(input,55,FOLLOW_55_in_ruleXRelationalExpression4400); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1895:3: ( (lv_type_3_0= ruleJvmTypeReference ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1896:1: (lv_type_3_0= ruleJvmTypeReference )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1896:1: (lv_type_3_0= ruleJvmTypeReference )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1897:3: lv_type_3_0= ruleJvmTypeReference
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleJvmTypeReference_in_ruleXRelationalExpression4423);
+ lv_type_3_0=ruleJvmTypeReference();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_3_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1914:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1914:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1914:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1914:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1914:8: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1919:6: ( () ( ( ruleOpCompare ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1919:7: () ( ( ruleOpCompare ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1919:7: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1920:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1925:2: ( ( ruleOpCompare ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1926:1: ( ruleOpCompare )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1926:1: ( ruleOpCompare )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1927:3: ruleOpCompare
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXRelationalExpressionRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpCompare_in_ruleXRelationalExpression4484);
+ ruleOpCompare();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1940:4: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1941:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1941:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1942:3: lv_rightOperand_6_0= ruleXOtherOperatorExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXOtherOperatorExpression_in_ruleXRelationalExpression4507);
+ lv_rightOperand_6_0=ruleXOtherOperatorExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
+ }
+ set(
+ current,
+ "rightOperand",
+ lv_rightOperand_6_0,
+ "XOtherOperatorExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop33;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXRelationalExpression"
+
+
+ // $ANTLR start "entryRuleOpCompare"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1966:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ;
+ public final String entryRuleOpCompare() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpCompare = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1967:2: (iv_ruleOpCompare= ruleOpCompare EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1968:2: iv_ruleOpCompare= ruleOpCompare EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpCompareRule());
+ }
+ pushFollow(FOLLOW_ruleOpCompare_in_entryRuleOpCompare4547);
+ iv_ruleOpCompare=ruleOpCompare();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpCompare.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpCompare4558); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpCompare"
+
+
+ // $ANTLR start "ruleOpCompare"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1975:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ;
+ public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1978:28: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1979:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1979:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
+ int alt34=4;
+ switch ( input.LA(1) ) {
+ case 48:
+ {
+ alt34=1;
+ }
+ break;
+ case 46:
+ {
+ int LA34_2 = input.LA(2);
+
+ if ( (LA34_2==EOF||(LA34_2>=RULE_ID && LA34_2<=RULE_DECIMAL)||LA34_2==14||LA34_2==16||LA34_2==34||(LA34_2>=38 && LA34_2<=39)||LA34_2==46||(LA34_2>=62 && LA34_2<=63)||LA34_2==67||LA34_2==75||LA34_2==77||(LA34_2>=80 && LA34_2<=82)||(LA34_2>=85 && LA34_2<=96)||LA34_2==98) ) {
+ alt34=4;
+ }
+ else if ( (LA34_2==37) ) {
+ alt34=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 34, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 47:
+ {
+ alt34=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 34, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt34) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1980:2: kw= '>='
+ {
+ kw=(Token)match(input,48,FOLLOW_48_in_ruleOpCompare4596); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1986:6: (kw= '<' kw= '=' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1986:6: (kw= '<' kw= '=' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:1987:2: kw= '<' kw= '='
+ {
+ kw=(Token)match(input,46,FOLLOW_46_in_ruleOpCompare4616); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0());
+
+ }
+ kw=(Token)match(input,37,FOLLOW_37_in_ruleOpCompare4629); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2000:2: kw= '>'
+ {
+ kw=(Token)match(input,47,FOLLOW_47_in_ruleOpCompare4649); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2007:2: kw= '<'
+ {
+ kw=(Token)match(input,46,FOLLOW_46_in_ruleOpCompare4668); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpCompare"
+
+
+ // $ANTLR start "entryRuleXOtherOperatorExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2020:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ;
+ public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXOtherOperatorExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2021:2: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2022:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXOtherOperatorExpression_in_entryRuleXOtherOperatorExpression4708);
+ iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXOtherOperatorExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXOtherOperatorExpression4718); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXOtherOperatorExpression"
+
+
+ // $ANTLR start "ruleXOtherOperatorExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2029:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ;
+ public final EObject ruleXOtherOperatorExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XAdditiveExpression_0 = null;
+
+ EObject lv_rightOperand_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2032:28: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2033:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2033:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2034:5: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAdditiveExpression_in_ruleXOtherOperatorExpression4765);
+ this_XAdditiveExpression_0=ruleXAdditiveExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XAdditiveExpression_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2042:1: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
+ loop35:
+ do {
+ int alt35=2;
+ alt35 = dfa35.predict(input);
+ switch (alt35) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2042:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2042:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2042:3: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2047:6: ( () ( ( ruleOpOther ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2047:7: () ( ( ruleOpOther ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2047:7: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2048:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2053:2: ( ( ruleOpOther ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2054:1: ( ruleOpOther )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2054:1: ( ruleOpOther )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2055:3: ruleOpOther
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpOther_in_ruleXOtherOperatorExpression4818);
+ ruleOpOther();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2068:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2069:1: (lv_rightOperand_3_0= ruleXAdditiveExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2069:1: (lv_rightOperand_3_0= ruleXAdditiveExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2070:3: lv_rightOperand_3_0= ruleXAdditiveExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAdditiveExpression_in_ruleXOtherOperatorExpression4841);
+ lv_rightOperand_3_0=ruleXAdditiveExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule());
+ }
+ set(
+ current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XAdditiveExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop35;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXOtherOperatorExpression"
+
+
+ // $ANTLR start "entryRuleOpOther"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2094:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ;
+ public final String entryRuleOpOther() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpOther = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2095:2: (iv_ruleOpOther= ruleOpOther EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2096:2: iv_ruleOpOther= ruleOpOther EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpOtherRule());
+ }
+ pushFollow(FOLLOW_ruleOpOther_in_entryRuleOpOther4880);
+ iv_ruleOpOther=ruleOpOther();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpOther.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpOther4891); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpOther"
+
+
+ // $ANTLR start "ruleOpOther"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2103:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ;
+ public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2106:28: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2107:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2107:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
+ int alt38=9;
+ alt38 = dfa38.predict(input);
+ switch (alt38) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2108:2: kw= '->'
+ {
+ kw=(Token)match(input,56,FOLLOW_56_in_ruleOpOther4929); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2115:2: kw= '..<'
+ {
+ kw=(Token)match(input,57,FOLLOW_57_in_ruleOpOther4948); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2121:6: (kw= '>' kw= '..' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2121:6: (kw= '>' kw= '..' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2122:2: kw= '>' kw= '..'
+ {
+ kw=(Token)match(input,47,FOLLOW_47_in_ruleOpOther4968); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0());
+
+ }
+ kw=(Token)match(input,58,FOLLOW_58_in_ruleOpOther4981); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1());
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2135:2: kw= '..'
+ {
+ kw=(Token)match(input,58,FOLLOW_58_in_ruleOpOther5001); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
+
+ }
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2142:2: kw= '=>'
+ {
+ kw=(Token)match(input,59,FOLLOW_59_in_ruleOpOther5020); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
+
+ }
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2148:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2148:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2149:2: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
+ {
+ kw=(Token)match(input,47,FOLLOW_47_in_ruleOpOther5040); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2154:1: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
+ int alt36=2;
+ int LA36_0 = input.LA(1);
+
+ if ( (LA36_0==47) ) {
+ int LA36_1 = input.LA(2);
+
+ if ( (LA36_1==47) && (synpred14_InternalStrategyDSL())) {
+ alt36=1;
+ }
+ else if ( (LA36_1==EOF||(LA36_1>=RULE_ID && LA36_1<=RULE_DECIMAL)||LA36_1==14||LA36_1==16||LA36_1==34||(LA36_1>=38 && LA36_1<=39)||LA36_1==46||(LA36_1>=62 && LA36_1<=63)||LA36_1==67||LA36_1==75||LA36_1==77||(LA36_1>=80 && LA36_1<=82)||(LA36_1>=85 && LA36_1<=96)||LA36_1==98) ) {
+ alt36=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 36, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 36, 0, input);
+
+ throw nvae;
+ }
+ switch (alt36) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2154:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2154:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2154:3: ( ( '>' '>' ) )=> (kw= '>' kw= '>' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2158:5: (kw= '>' kw= '>' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2159:2: kw= '>' kw= '>'
+ {
+ kw=(Token)match(input,47,FOLLOW_47_in_ruleOpOther5071); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0());
+
+ }
+ kw=(Token)match(input,47,FOLLOW_47_in_ruleOpOther5084); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1());
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2172:2: kw= '>'
+ {
+ kw=(Token)match(input,47,FOLLOW_47_in_ruleOpOther5105); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2178:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2178:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2179:2: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
+ {
+ kw=(Token)match(input,46,FOLLOW_46_in_ruleOpOther5127); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2184:1: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
+ int alt37=3;
+ int LA37_0 = input.LA(1);
+
+ if ( (LA37_0==46) ) {
+ int LA37_1 = input.LA(2);
+
+ if ( (synpred15_InternalStrategyDSL()) ) {
+ alt37=1;
+ }
+ else if ( (true) ) {
+ alt37=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 37, 1, input);
+
+ throw nvae;
+ }
+ }
+ else if ( (LA37_0==59) ) {
+ alt37=3;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 37, 0, input);
+
+ throw nvae;
+ }
+ switch (alt37) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2184:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2184:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2184:3: ( ( '<' '<' ) )=> (kw= '<' kw= '<' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2188:5: (kw= '<' kw= '<' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2189:2: kw= '<' kw= '<'
+ {
+ kw=(Token)match(input,46,FOLLOW_46_in_ruleOpOther5158); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0());
+
+ }
+ kw=(Token)match(input,46,FOLLOW_46_in_ruleOpOther5171); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1());
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2202:2: kw= '<'
+ {
+ kw=(Token)match(input,46,FOLLOW_46_in_ruleOpOther5192); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2209:2: kw= '=>'
+ {
+ kw=(Token)match(input,59,FOLLOW_59_in_ruleOpOther5211); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2216:2: kw= '<>'
+ {
+ kw=(Token)match(input,60,FOLLOW_60_in_ruleOpOther5232); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
+
+ }
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2223:2: kw= '?:'
+ {
+ kw=(Token)match(input,61,FOLLOW_61_in_ruleOpOther5251); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpOther"
+
+
+ // $ANTLR start "entryRuleXAdditiveExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2236:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ;
+ public final EObject entryRuleXAdditiveExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXAdditiveExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2237:2: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2238:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXAdditiveExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXAdditiveExpression_in_entryRuleXAdditiveExpression5291);
+ iv_ruleXAdditiveExpression=ruleXAdditiveExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXAdditiveExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXAdditiveExpression5301); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXAdditiveExpression"
+
+
+ // $ANTLR start "ruleXAdditiveExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2245:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ;
+ public final EObject ruleXAdditiveExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XMultiplicativeExpression_0 = null;
+
+ EObject lv_rightOperand_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2248:28: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2249:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2249:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2250:5: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXMultiplicativeExpression_in_ruleXAdditiveExpression5348);
+ this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XMultiplicativeExpression_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2258:1: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
+ loop39:
+ do {
+ int alt39=2;
+ int LA39_0 = input.LA(1);
+
+ if ( (LA39_0==62) ) {
+ int LA39_2 = input.LA(2);
+
+ if ( (synpred16_InternalStrategyDSL()) ) {
+ alt39=1;
+ }
+
+
+ }
+ else if ( (LA39_0==63) ) {
+ int LA39_3 = input.LA(2);
+
+ if ( (synpred16_InternalStrategyDSL()) ) {
+ alt39=1;
+ }
+
+
+ }
+
+
+ switch (alt39) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2258:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2258:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2258:3: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2263:6: ( () ( ( ruleOpAdd ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2263:7: () ( ( ruleOpAdd ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2263:7: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2264:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2269:2: ( ( ruleOpAdd ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2270:1: ( ruleOpAdd )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2270:1: ( ruleOpAdd )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2271:3: ruleOpAdd
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXAdditiveExpressionRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpAdd_in_ruleXAdditiveExpression5401);
+ ruleOpAdd();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2284:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2285:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2285:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2286:3: lv_rightOperand_3_0= ruleXMultiplicativeExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXMultiplicativeExpression_in_ruleXAdditiveExpression5424);
+ lv_rightOperand_3_0=ruleXMultiplicativeExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule());
+ }
+ set(
+ current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XMultiplicativeExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop39;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXAdditiveExpression"
+
+
+ // $ANTLR start "entryRuleOpAdd"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2310:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ;
+ public final String entryRuleOpAdd() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpAdd = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2311:2: (iv_ruleOpAdd= ruleOpAdd EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2312:2: iv_ruleOpAdd= ruleOpAdd EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpAddRule());
+ }
+ pushFollow(FOLLOW_ruleOpAdd_in_entryRuleOpAdd5463);
+ iv_ruleOpAdd=ruleOpAdd();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpAdd.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpAdd5474); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpAdd"
+
+
+ // $ANTLR start "ruleOpAdd"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2319:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ;
+ public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2322:28: ( (kw= '+' | kw= '-' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2323:1: (kw= '+' | kw= '-' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2323:1: (kw= '+' | kw= '-' )
+ int alt40=2;
+ int LA40_0 = input.LA(1);
+
+ if ( (LA40_0==62) ) {
+ alt40=1;
+ }
+ else if ( (LA40_0==63) ) {
+ alt40=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 40, 0, input);
+
+ throw nvae;
+ }
+ switch (alt40) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2324:2: kw= '+'
+ {
+ kw=(Token)match(input,62,FOLLOW_62_in_ruleOpAdd5512); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2331:2: kw= '-'
+ {
+ kw=(Token)match(input,63,FOLLOW_63_in_ruleOpAdd5531); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpAdd"
+
+
+ // $ANTLR start "entryRuleXMultiplicativeExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2344:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ;
+ public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXMultiplicativeExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2345:2: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2346:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXMultiplicativeExpression_in_entryRuleXMultiplicativeExpression5571);
+ iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXMultiplicativeExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXMultiplicativeExpression5581); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXMultiplicativeExpression"
+
+
+ // $ANTLR start "ruleXMultiplicativeExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2353:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ;
+ public final EObject ruleXMultiplicativeExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XUnaryOperation_0 = null;
+
+ EObject lv_rightOperand_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2356:28: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2357:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2357:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2358:5: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXUnaryOperation_in_ruleXMultiplicativeExpression5628);
+ this_XUnaryOperation_0=ruleXUnaryOperation();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XUnaryOperation_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2366:1: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
+ loop41:
+ do {
+ int alt41=2;
+ switch ( input.LA(1) ) {
+ case 18:
+ {
+ int LA41_2 = input.LA(2);
+
+ if ( (synpred17_InternalStrategyDSL()) ) {
+ alt41=1;
+ }
+
+
+ }
+ break;
+ case 64:
+ {
+ int LA41_3 = input.LA(2);
+
+ if ( (synpred17_InternalStrategyDSL()) ) {
+ alt41=1;
+ }
+
+
+ }
+ break;
+ case 65:
+ {
+ int LA41_4 = input.LA(2);
+
+ if ( (synpred17_InternalStrategyDSL()) ) {
+ alt41=1;
+ }
+
+
+ }
+ break;
+ case 66:
+ {
+ int LA41_5 = input.LA(2);
+
+ if ( (synpred17_InternalStrategyDSL()) ) {
+ alt41=1;
+ }
+
+
+ }
+ break;
+
+ }
+
+ switch (alt41) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2366:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2366:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2366:3: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2371:6: ( () ( ( ruleOpMulti ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2371:7: () ( ( ruleOpMulti ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2371:7: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2372:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2377:2: ( ( ruleOpMulti ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2378:1: ( ruleOpMulti )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2378:1: ( ruleOpMulti )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2379:3: ruleOpMulti
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpMulti_in_ruleXMultiplicativeExpression5681);
+ ruleOpMulti();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2392:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2393:1: (lv_rightOperand_3_0= ruleXUnaryOperation )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2393:1: (lv_rightOperand_3_0= ruleXUnaryOperation )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2394:3: lv_rightOperand_3_0= ruleXUnaryOperation
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXUnaryOperation_in_ruleXMultiplicativeExpression5704);
+ lv_rightOperand_3_0=ruleXUnaryOperation();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule());
+ }
+ set(
+ current,
+ "rightOperand",
+ lv_rightOperand_3_0,
+ "XUnaryOperation");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop41;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXMultiplicativeExpression"
+
+
+ // $ANTLR start "entryRuleOpMulti"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2418:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ;
+ public final String entryRuleOpMulti() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpMulti = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2419:2: (iv_ruleOpMulti= ruleOpMulti EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2420:2: iv_ruleOpMulti= ruleOpMulti EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpMultiRule());
+ }
+ pushFollow(FOLLOW_ruleOpMulti_in_entryRuleOpMulti5743);
+ iv_ruleOpMulti=ruleOpMulti();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpMulti.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpMulti5754); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpMulti"
+
+
+ // $ANTLR start "ruleOpMulti"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2427:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ;
+ public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2430:28: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2431:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2431:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
+ int alt42=4;
+ switch ( input.LA(1) ) {
+ case 18:
+ {
+ alt42=1;
+ }
+ break;
+ case 64:
+ {
+ alt42=2;
+ }
+ break;
+ case 65:
+ {
+ alt42=3;
+ }
+ break;
+ case 66:
+ {
+ alt42=4;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 42, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt42) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2432:2: kw= '*'
+ {
+ kw=(Token)match(input,18,FOLLOW_18_in_ruleOpMulti5792); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2439:2: kw= '**'
+ {
+ kw=(Token)match(input,64,FOLLOW_64_in_ruleOpMulti5811); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2446:2: kw= '/'
+ {
+ kw=(Token)match(input,65,FOLLOW_65_in_ruleOpMulti5830); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2());
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2453:2: kw= '%'
+ {
+ kw=(Token)match(input,66,FOLLOW_66_in_ruleOpMulti5849); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpMulti"
+
+
+ // $ANTLR start "entryRuleXUnaryOperation"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2466:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ;
+ public final EObject entryRuleXUnaryOperation() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXUnaryOperation = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2467:2: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2468:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXUnaryOperationRule());
+ }
+ pushFollow(FOLLOW_ruleXUnaryOperation_in_entryRuleXUnaryOperation5889);
+ iv_ruleXUnaryOperation=ruleXUnaryOperation();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXUnaryOperation;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXUnaryOperation5899); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXUnaryOperation"
+
+
+ // $ANTLR start "ruleXUnaryOperation"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2475:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ;
+ public final EObject ruleXUnaryOperation() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_operand_2_0 = null;
+
+ EObject this_XCastedExpression_3 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2478:28: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2479:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2479:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
+ int alt43=2;
+ int LA43_0 = input.LA(1);
+
+ if ( ((LA43_0>=62 && LA43_0<=63)||LA43_0==67) ) {
+ alt43=1;
+ }
+ else if ( ((LA43_0>=RULE_ID && LA43_0<=RULE_DECIMAL)||LA43_0==14||LA43_0==16||LA43_0==34||(LA43_0>=38 && LA43_0<=39)||LA43_0==46||LA43_0==75||LA43_0==77||(LA43_0>=80 && LA43_0<=82)||(LA43_0>=85 && LA43_0<=96)||LA43_0==98) ) {
+ alt43=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 43, 0, input);
+
+ throw nvae;
+ }
+ switch (alt43) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2479:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2479:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2479:3: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2479:3: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2480:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElement(
+ grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2485:2: ( ( ruleOpUnary ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2486:1: ( ruleOpUnary )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2486:1: ( ruleOpUnary )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2487:3: ruleOpUnary
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXUnaryOperationRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpUnary_in_ruleXUnaryOperation5957);
+ ruleOpUnary();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2500:2: ( (lv_operand_2_0= ruleXUnaryOperation ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2501:1: (lv_operand_2_0= ruleXUnaryOperation )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2501:1: (lv_operand_2_0= ruleXUnaryOperation )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2502:3: lv_operand_2_0= ruleXUnaryOperation
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleXUnaryOperation_in_ruleXUnaryOperation5978);
+ lv_operand_2_0=ruleXUnaryOperation();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXUnaryOperationRule());
+ }
+ set(
+ current,
+ "operand",
+ lv_operand_2_0,
+ "XUnaryOperation");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2520:5: this_XCastedExpression_3= ruleXCastedExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1());
+
+ }
+ pushFollow(FOLLOW_ruleXCastedExpression_in_ruleXUnaryOperation6007);
+ this_XCastedExpression_3=ruleXCastedExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XCastedExpression_3;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXUnaryOperation"
+
+
+ // $ANTLR start "entryRuleOpUnary"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2536:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ;
+ public final String entryRuleOpUnary() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpUnary = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2537:2: (iv_ruleOpUnary= ruleOpUnary EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2538:2: iv_ruleOpUnary= ruleOpUnary EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpUnaryRule());
+ }
+ pushFollow(FOLLOW_ruleOpUnary_in_entryRuleOpUnary6043);
+ iv_ruleOpUnary=ruleOpUnary();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpUnary.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpUnary6054); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpUnary"
+
+
+ // $ANTLR start "ruleOpUnary"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2545:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ;
+ public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2548:28: ( (kw= '!' | kw= '-' | kw= '+' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2549:1: (kw= '!' | kw= '-' | kw= '+' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2549:1: (kw= '!' | kw= '-' | kw= '+' )
+ int alt44=3;
+ switch ( input.LA(1) ) {
+ case 67:
+ {
+ alt44=1;
+ }
+ break;
+ case 63:
+ {
+ alt44=2;
+ }
+ break;
+ case 62:
+ {
+ alt44=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 44, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt44) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2550:2: kw= '!'
+ {
+ kw=(Token)match(input,67,FOLLOW_67_in_ruleOpUnary6092); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2557:2: kw= '-'
+ {
+ kw=(Token)match(input,63,FOLLOW_63_in_ruleOpUnary6111); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1());
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2564:2: kw= '+'
+ {
+ kw=(Token)match(input,62,FOLLOW_62_in_ruleOpUnary6130); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpUnary"
+
+
+ // $ANTLR start "entryRuleXCastedExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2577:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ;
+ public final EObject entryRuleXCastedExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXCastedExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2578:2: (iv_ruleXCastedExpression= ruleXCastedExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2579:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXCastedExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXCastedExpression_in_entryRuleXCastedExpression6170);
+ iv_ruleXCastedExpression=ruleXCastedExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXCastedExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXCastedExpression6180); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXCastedExpression"
+
+
+ // $ANTLR start "ruleXCastedExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2586:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ;
+ public final EObject ruleXCastedExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_2=null;
+ EObject this_XPostfixOperation_0 = null;
+
+ EObject lv_type_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2589:28: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2590:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2590:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2591:5: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXPostfixOperation_in_ruleXCastedExpression6227);
+ this_XPostfixOperation_0=ruleXPostfixOperation();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XPostfixOperation_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2599:1: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
+ loop45:
+ do {
+ int alt45=2;
+ int LA45_0 = input.LA(1);
+
+ if ( (LA45_0==68) ) {
+ int LA45_2 = input.LA(2);
+
+ if ( (synpred18_InternalStrategyDSL()) ) {
+ alt45=1;
+ }
+
+
+ }
+
+
+ switch (alt45) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2599:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2599:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2599:3: ( ( () 'as' ) )=> ( () otherlv_2= 'as' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2601:5: ( () otherlv_2= 'as' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2601:6: () otherlv_2= 'as'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2601:6: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2602:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ otherlv_2=(Token)match(input,68,FOLLOW_68_in_ruleXCastedExpression6262); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1());
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2611:3: ( (lv_type_3_0= ruleJvmTypeReference ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2612:1: (lv_type_3_0= ruleJvmTypeReference )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2612:1: (lv_type_3_0= ruleJvmTypeReference )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2613:3: lv_type_3_0= ruleJvmTypeReference
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleJvmTypeReference_in_ruleXCastedExpression6285);
+ lv_type_3_0=ruleJvmTypeReference();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXCastedExpressionRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_3_0,
+ "JvmTypeReference");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop45;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXCastedExpression"
+
+
+ // $ANTLR start "entryRuleXPostfixOperation"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2637:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ;
+ public final EObject entryRuleXPostfixOperation() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXPostfixOperation = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2638:2: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2639:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXPostfixOperationRule());
+ }
+ pushFollow(FOLLOW_ruleXPostfixOperation_in_entryRuleXPostfixOperation6323);
+ iv_ruleXPostfixOperation=ruleXPostfixOperation();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXPostfixOperation;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXPostfixOperation6333); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXPostfixOperation"
+
+
+ // $ANTLR start "ruleXPostfixOperation"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2646:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ;
+ public final EObject ruleXPostfixOperation() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XMemberFeatureCall_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2649:28: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2650:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2650:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2651:5: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXMemberFeatureCall_in_ruleXPostfixOperation6380);
+ this_XMemberFeatureCall_0=ruleXMemberFeatureCall();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XMemberFeatureCall_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2659:1: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
+ int alt46=2;
+ int LA46_0 = input.LA(1);
+
+ if ( (LA46_0==69) ) {
+ int LA46_1 = input.LA(2);
+
+ if ( (synpred19_InternalStrategyDSL()) ) {
+ alt46=1;
+ }
+ }
+ else if ( (LA46_0==70) ) {
+ int LA46_2 = input.LA(2);
+
+ if ( (synpred19_InternalStrategyDSL()) ) {
+ alt46=1;
+ }
+ }
+ switch (alt46) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2659:2: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2664:6: ( () ( ( ruleOpPostfix ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2664:7: () ( ( ruleOpPostfix ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2664:7: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2665:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2670:2: ( ( ruleOpPostfix ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2671:1: ( ruleOpPostfix )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2671:1: ( ruleOpPostfix )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2672:3: ruleOpPostfix
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXPostfixOperationRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleOpPostfix_in_ruleXPostfixOperation6432);
+ ruleOpPostfix();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXPostfixOperation"
+
+
+ // $ANTLR start "entryRuleOpPostfix"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2693:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ;
+ public final String entryRuleOpPostfix() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOpPostfix = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2694:2: (iv_ruleOpPostfix= ruleOpPostfix EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2695:2: iv_ruleOpPostfix= ruleOpPostfix EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getOpPostfixRule());
+ }
+ pushFollow(FOLLOW_ruleOpPostfix_in_entryRuleOpPostfix6472);
+ iv_ruleOpPostfix=ruleOpPostfix();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleOpPostfix.getText();
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOpPostfix6483); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOpPostfix"
+
+
+ // $ANTLR start "ruleOpPostfix"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2702:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ;
+ public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2705:28: ( (kw= '++' | kw= '--' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2706:1: (kw= '++' | kw= '--' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2706:1: (kw= '++' | kw= '--' )
+ int alt47=2;
+ int LA47_0 = input.LA(1);
+
+ if ( (LA47_0==69) ) {
+ alt47=1;
+ }
+ else if ( (LA47_0==70) ) {
+ alt47=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 47, 0, input);
+
+ throw nvae;
+ }
+ switch (alt47) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2707:2: kw= '++'
+ {
+ kw=(Token)match(input,69,FOLLOW_69_in_ruleOpPostfix6521); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2714:2: kw= '--'
+ {
+ kw=(Token)match(input,70,FOLLOW_70_in_ruleOpPostfix6540); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1());
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOpPostfix"
+
+
+ // $ANTLR start "entryRuleXMemberFeatureCall"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2727:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ;
+ public final EObject entryRuleXMemberFeatureCall() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXMemberFeatureCall = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2728:2: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2729:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXMemberFeatureCallRule());
+ }
+ pushFollow(FOLLOW_ruleXMemberFeatureCall_in_entryRuleXMemberFeatureCall6580);
+ iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXMemberFeatureCall;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXMemberFeatureCall6590); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXMemberFeatureCall"
+
+
+ // $ANTLR start "ruleXMemberFeatureCall"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2736:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ;
+ public final EObject ruleXMemberFeatureCall() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_2=null;
+ Token lv_explicitStatic_3_0=null;
+ Token otherlv_8=null;
+ Token lv_nullSafe_9_0=null;
+ Token lv_explicitStatic_10_0=null;
+ Token otherlv_11=null;
+ Token otherlv_13=null;
+ Token otherlv_15=null;
+ Token lv_explicitOperationCall_17_0=null;
+ Token otherlv_20=null;
+ Token otherlv_22=null;
+ EObject this_XPrimaryExpression_0 = null;
+
+ EObject lv_value_6_0 = null;
+
+ EObject lv_typeArguments_12_0 = null;
+
+ EObject lv_typeArguments_14_0 = null;
+
+ EObject lv_memberCallArguments_18_0 = null;
+
+ EObject lv_memberCallArguments_19_0 = null;
+
+ EObject lv_memberCallArguments_21_0 = null;
+
+ EObject lv_memberCallArguments_23_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2739:28: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2740:1: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2740:1: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2741:5: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXPrimaryExpression_in_ruleXMemberFeatureCall6637);
+ this_XPrimaryExpression_0=ruleXPrimaryExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XPrimaryExpression_0;
+ afterParserOrEnumRuleCall();
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2749:1: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
+ loop56:
+ do {
+ int alt56=3;
+ switch ( input.LA(1) ) {
+ case 17:
+ {
+ int LA56_2 = input.LA(2);
+
+ if ( (synpred20_InternalStrategyDSL()) ) {
+ alt56=1;
+ }
+ else if ( (synpred21_InternalStrategyDSL()) ) {
+ alt56=2;
+ }
+
+
+ }
+ break;
+ case 71:
+ {
+ int LA56_3 = input.LA(2);
+
+ if ( (synpred20_InternalStrategyDSL()) ) {
+ alt56=1;
+ }
+ else if ( (synpred21_InternalStrategyDSL()) ) {
+ alt56=2;
+ }
+
+
+ }
+ break;
+ case 72:
+ {
+ int LA56_4 = input.LA(2);
+
+ if ( (synpred21_InternalStrategyDSL()) ) {
+ alt56=2;
+ }
+
+
+ }
+ break;
+
+ }
+
+ switch (alt56) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2749:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2749:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2749:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2749:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2749:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2762:25: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2762:26: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2762:26: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2763:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2768:2: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) )
+ int alt48=2;
+ int LA48_0 = input.LA(1);
+
+ if ( (LA48_0==17) ) {
+ alt48=1;
+ }
+ else if ( (LA48_0==71) ) {
+ alt48=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 48, 0, input);
+
+ throw nvae;
+ }
+ switch (alt48) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2768:4: otherlv_2= '.'
+ {
+ otherlv_2=(Token)match(input,17,FOLLOW_17_in_ruleXMemberFeatureCall6709); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2773:6: ( (lv_explicitStatic_3_0= '::' ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2773:6: ( (lv_explicitStatic_3_0= '::' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2774:1: (lv_explicitStatic_3_0= '::' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2774:1: (lv_explicitStatic_3_0= '::' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2775:3: lv_explicitStatic_3_0= '::'
+ {
+ lv_explicitStatic_3_0=(Token)match(input,71,FOLLOW_71_in_ruleXMemberFeatureCall6733); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ setWithLastConsumed(current, "explicitStatic", true, "::");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2788:3: ( ( ruleFeatureCallID ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2789:1: ( ruleFeatureCallID )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2789:1: ( ruleFeatureCallID )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2790:3: ruleFeatureCallID
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleFeatureCallID_in_ruleXMemberFeatureCall6770);
+ ruleFeatureCallID();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3());
+
+ }
+ pushFollow(FOLLOW_ruleOpSingleAssign_in_ruleXMemberFeatureCall6786);
+ ruleOpSingleAssign();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2811:3: ( (lv_value_6_0= ruleXAssignment ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2812:1: (lv_value_6_0= ruleXAssignment )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2812:1: (lv_value_6_0= ruleXAssignment )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2813:3: lv_value_6_0= ruleXAssignment
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXAssignment_in_ruleXMemberFeatureCall6808);
+ lv_value_6_0=ruleXAssignment();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_6_0,
+ "XAssignment");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2830:6: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2830:6: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2830:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2830:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2830:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2846:7: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2846:8: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2846:8: ()
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2847:5:
+ {
+ if ( state.backtracking==0 ) {
+
+ current = forceCreateModelElementAndSet(
+ grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(),
+ current);
+
+ }
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2852:2: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
+ int alt49=3;
+ switch ( input.LA(1) ) {
+ case 17:
+ {
+ alt49=1;
+ }
+ break;
+ case 72:
+ {
+ alt49=2;
+ }
+ break;
+ case 71:
+ {
+ alt49=3;
+ }
+ break;
+ default:
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 49, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt49) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2852:4: otherlv_8= '.'
+ {
+ otherlv_8=(Token)match(input,17,FOLLOW_17_in_ruleXMemberFeatureCall6894); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0());
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2857:6: ( (lv_nullSafe_9_0= '?.' ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2857:6: ( (lv_nullSafe_9_0= '?.' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2858:1: (lv_nullSafe_9_0= '?.' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2858:1: (lv_nullSafe_9_0= '?.' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2859:3: lv_nullSafe_9_0= '?.'
+ {
+ lv_nullSafe_9_0=(Token)match(input,72,FOLLOW_72_in_ruleXMemberFeatureCall6918); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ setWithLastConsumed(current, "nullSafe", true, "?.");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2873:6: ( (lv_explicitStatic_10_0= '::' ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2873:6: ( (lv_explicitStatic_10_0= '::' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2874:1: (lv_explicitStatic_10_0= '::' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2874:1: (lv_explicitStatic_10_0= '::' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2875:3: lv_explicitStatic_10_0= '::'
+ {
+ lv_explicitStatic_10_0=(Token)match(input,71,FOLLOW_71_in_ruleXMemberFeatureCall6955); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ setWithLastConsumed(current, "explicitStatic", true, "::");
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2888:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )?
+ int alt51=2;
+ int LA51_0 = input.LA(1);
+
+ if ( (LA51_0==46) ) {
+ alt51=1;
+ }
+ switch (alt51) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2888:7: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>'
+ {
+ otherlv_11=(Token)match(input,46,FOLLOW_46_in_ruleXMemberFeatureCall6984); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2892:1: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2893:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2893:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2894:3: lv_typeArguments_12_0= ruleJvmArgumentTypeReference
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleJvmArgumentTypeReference_in_ruleXMemberFeatureCall7005);
+ lv_typeArguments_12_0=ruleJvmArgumentTypeReference();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ current,
+ "typeArguments",
+ lv_typeArguments_12_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2910:2: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )*
+ loop50:
+ do {
+ int alt50=2;
+ int LA50_0 = input.LA(1);
+
+ if ( (LA50_0==35) ) {
+ alt50=1;
+ }
+
+
+ switch (alt50) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2910:4: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
+ {
+ otherlv_13=(Token)match(input,35,FOLLOW_35_in_ruleXMemberFeatureCall7018); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2914:1: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2915:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2915:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2916:3: lv_typeArguments_14_0= ruleJvmArgumentTypeReference
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleJvmArgumentTypeReference_in_ruleXMemberFeatureCall7039);
+ lv_typeArguments_14_0=ruleJvmArgumentTypeReference();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ current,
+ "typeArguments",
+ lv_typeArguments_14_0,
+ "JvmArgumentTypeReference");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop50;
+ }
+ } while (true);
+
+ otherlv_15=(Token)match(input,47,FOLLOW_47_in_ruleXMemberFeatureCall7053); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3());
+
+ }
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2936:3: ( ( ruleIdOrSuper ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2937:1: ( ruleIdOrSuper )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2937:1: ( ruleIdOrSuper )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2938:3: ruleIdOrSuper
+ {
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+
+ }
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0());
+
+ }
+ pushFollow(FOLLOW_ruleIdOrSuper_in_ruleXMemberFeatureCall7078);
+ ruleIdOrSuper();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2951:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?
+ int alt54=2;
+ alt54 = dfa54.predict(input);
+ switch (alt54) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2951:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')'
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2951:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2951:4: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2958:1: (lv_explicitOperationCall_17_0= '(' )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2959:3: lv_explicitOperationCall_17_0= '('
+ {
+ lv_explicitOperationCall_17_0=(Token)match(input,34,FOLLOW_34_in_ruleXMemberFeatureCall7112); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0());
+
+ }
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+ }
+ setWithLastConsumed(current, "explicitOperationCall", true, "(");
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2972:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?
+ int alt53=3;
+ alt53 = dfa53.predict(input);
+ switch (alt53) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2972:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2972:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2972:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2989:1: (lv_memberCallArguments_18_0= ruleXShortClosure )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:2990:3: lv_memberCallArguments_18_0= ruleXShortClosure
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0());
+
+ }
+ pushFollow(FOLLOW_ruleXShortClosure_in_ruleXMemberFeatureCall7197);
+ lv_memberCallArguments_18_0=ruleXShortClosure();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ current,
+ "memberCallArguments",
+ lv_memberCallArguments_18_0,
+ "XShortClosure");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3007:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3007:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3007:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3007:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3008:1: (lv_memberCallArguments_19_0= ruleXExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3008:1: (lv_memberCallArguments_19_0= ruleXExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3009:3: lv_memberCallArguments_19_0= ruleXExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0());
+
+ }
+ pushFollow(FOLLOW_ruleXExpression_in_ruleXMemberFeatureCall7225);
+ lv_memberCallArguments_19_0=ruleXExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ current,
+ "memberCallArguments",
+ lv_memberCallArguments_19_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3025:2: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
+ loop52:
+ do {
+ int alt52=2;
+ int LA52_0 = input.LA(1);
+
+ if ( (LA52_0==35) ) {
+ alt52=1;
+ }
+
+
+ switch (alt52) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3025:4: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) )
+ {
+ otherlv_20=(Token)match(input,35,FOLLOW_35_in_ruleXMemberFeatureCall7238); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0());
+
+ }
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3029:1: ( (lv_memberCallArguments_21_0= ruleXExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3030:1: (lv_memberCallArguments_21_0= ruleXExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3030:1: (lv_memberCallArguments_21_0= ruleXExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3031:3: lv_memberCallArguments_21_0= ruleXExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0());
+
+ }
+ pushFollow(FOLLOW_ruleXExpression_in_ruleXMemberFeatureCall7259);
+ lv_memberCallArguments_21_0=ruleXExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ current,
+ "memberCallArguments",
+ lv_memberCallArguments_21_0,
+ "XExpression");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop52;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_22=(Token)match(input,36,FOLLOW_36_in_ruleXMemberFeatureCall7276); if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
+
+ }
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3051:3: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
+ int alt55=2;
+ alt55 = dfa55.predict(input);
+ switch (alt55) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3051:4: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3054:1: (lv_memberCallArguments_23_0= ruleXClosure )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3055:3: lv_memberCallArguments_23_0= ruleXClosure
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0());
+
+ }
+ pushFollow(FOLLOW_ruleXClosure_in_ruleXMemberFeatureCall7311);
+ lv_memberCallArguments_23_0=ruleXClosure();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+ }
+ add(
+ current,
+ "memberCallArguments",
+ lv_memberCallArguments_23_0,
+ "XClosure");
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop56;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXMemberFeatureCall"
+
+
+ // $ANTLR start "entryRuleXPrimaryExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3079:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ;
+ public final EObject entryRuleXPrimaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXPrimaryExpression = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3080:2: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3081:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXPrimaryExpressionRule());
+ }
+ pushFollow(FOLLOW_ruleXPrimaryExpression_in_entryRuleXPrimaryExpression7351);
+ iv_ruleXPrimaryExpression=ruleXPrimaryExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXPrimaryExpression;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXPrimaryExpression7361); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXPrimaryExpression"
+
+
+ // $ANTLR start "ruleXPrimaryExpression"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3088:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ;
+ public final EObject ruleXPrimaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XConstructorCall_0 = null;
+
+ EObject this_XBlockExpression_1 = null;
+
+ EObject this_XSwitchExpression_2 = null;
+
+ EObject this_XSynchronizedExpression_3 = null;
+
+ EObject this_XFeatureCall_4 = null;
+
+ EObject this_XLiteral_5 = null;
+
+ EObject this_XIfExpression_6 = null;
+
+ EObject this_XForLoopExpression_7 = null;
+
+ EObject this_XBasicForLoopExpression_8 = null;
+
+ EObject this_XWhileExpression_9 = null;
+
+ EObject this_XDoWhileExpression_10 = null;
+
+ EObject this_XThrowExpression_11 = null;
+
+ EObject this_XReturnExpression_12 = null;
+
+ EObject this_XTryCatchFinallyExpression_13 = null;
+
+ EObject this_XParenthesizedExpression_14 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3091:28: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3092:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3092:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
+ int alt57=15;
+ alt57 = dfa57.predict(input);
+ switch (alt57) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3093:5: this_XConstructorCall_0= ruleXConstructorCall
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXConstructorCall_in_ruleXPrimaryExpression7408);
+ this_XConstructorCall_0=ruleXConstructorCall();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XConstructorCall_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3103:5: this_XBlockExpression_1= ruleXBlockExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1());
+
+ }
+ pushFollow(FOLLOW_ruleXBlockExpression_in_ruleXPrimaryExpression7435);
+ this_XBlockExpression_1=ruleXBlockExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XBlockExpression_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3113:5: this_XSwitchExpression_2= ruleXSwitchExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2());
+
+ }
+ pushFollow(FOLLOW_ruleXSwitchExpression_in_ruleXPrimaryExpression7462);
+ this_XSwitchExpression_2=ruleXSwitchExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XSwitchExpression_2;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3122:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3122:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3122:7: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3());
+
+ }
+ pushFollow(FOLLOW_ruleXSynchronizedExpression_in_ruleXPrimaryExpression7506);
+ this_XSynchronizedExpression_3=ruleXSynchronizedExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XSynchronizedExpression_3;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3136:5: this_XFeatureCall_4= ruleXFeatureCall
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4());
+
+ }
+ pushFollow(FOLLOW_ruleXFeatureCall_in_ruleXPrimaryExpression7534);
+ this_XFeatureCall_4=ruleXFeatureCall();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XFeatureCall_4;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3146:5: this_XLiteral_5= ruleXLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5());
+
+ }
+ pushFollow(FOLLOW_ruleXLiteral_in_ruleXPrimaryExpression7561);
+ this_XLiteral_5=ruleXLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XLiteral_5;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3156:5: this_XIfExpression_6= ruleXIfExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6());
+
+ }
+ pushFollow(FOLLOW_ruleXIfExpression_in_ruleXPrimaryExpression7588);
+ this_XIfExpression_6=ruleXIfExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XIfExpression_6;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3165:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3165:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3165:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7());
+
+ }
+ pushFollow(FOLLOW_ruleXForLoopExpression_in_ruleXPrimaryExpression7645);
+ this_XForLoopExpression_7=ruleXForLoopExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XForLoopExpression_7;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3184:5: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8());
+
+ }
+ pushFollow(FOLLOW_ruleXBasicForLoopExpression_in_ruleXPrimaryExpression7673);
+ this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XBasicForLoopExpression_8;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3194:5: this_XWhileExpression_9= ruleXWhileExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9());
+
+ }
+ pushFollow(FOLLOW_ruleXWhileExpression_in_ruleXPrimaryExpression7700);
+ this_XWhileExpression_9=ruleXWhileExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XWhileExpression_9;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3204:5: this_XDoWhileExpression_10= ruleXDoWhileExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10());
+
+ }
+ pushFollow(FOLLOW_ruleXDoWhileExpression_in_ruleXPrimaryExpression7727);
+ this_XDoWhileExpression_10=ruleXDoWhileExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XDoWhileExpression_10;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3214:5: this_XThrowExpression_11= ruleXThrowExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11());
+
+ }
+ pushFollow(FOLLOW_ruleXThrowExpression_in_ruleXPrimaryExpression7754);
+ this_XThrowExpression_11=ruleXThrowExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XThrowExpression_11;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3224:5: this_XReturnExpression_12= ruleXReturnExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12());
+
+ }
+ pushFollow(FOLLOW_ruleXReturnExpression_in_ruleXPrimaryExpression7781);
+ this_XReturnExpression_12=ruleXReturnExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XReturnExpression_12;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3234:5: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13());
+
+ }
+ pushFollow(FOLLOW_ruleXTryCatchFinallyExpression_in_ruleXPrimaryExpression7808);
+ this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XTryCatchFinallyExpression_13;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3244:5: this_XParenthesizedExpression_14= ruleXParenthesizedExpression
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14());
+
+ }
+ pushFollow(FOLLOW_ruleXParenthesizedExpression_in_ruleXPrimaryExpression7835);
+ this_XParenthesizedExpression_14=ruleXParenthesizedExpression();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XParenthesizedExpression_14;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXPrimaryExpression"
+
+
+ // $ANTLR start "entryRuleXLiteral"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3260:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ;
+ public final EObject entryRuleXLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXLiteral = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3261:2: (iv_ruleXLiteral= ruleXLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3262:2: iv_ruleXLiteral= ruleXLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXLiteral_in_entryRuleXLiteral7870);
+ iv_ruleXLiteral=ruleXLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXLiteral;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXLiteral7880); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXLiteral"
+
+
+ // $ANTLR start "ruleXLiteral"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3269:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ;
+ public final EObject ruleXLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XCollectionLiteral_0 = null;
+
+ EObject this_XClosure_1 = null;
+
+ EObject this_XBooleanLiteral_2 = null;
+
+ EObject this_XNumberLiteral_3 = null;
+
+ EObject this_XNullLiteral_4 = null;
+
+ EObject this_XStringLiteral_5 = null;
+
+ EObject this_XTypeLiteral_6 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3272:28: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3273:1: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3273:1: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
+ int alt58=7;
+ int LA58_0 = input.LA(1);
+
+ if ( (LA58_0==38) ) {
+ alt58=1;
+ }
+ else if ( (LA58_0==39) && (synpred27_InternalStrategyDSL())) {
+ alt58=2;
+ }
+ else if ( ((LA58_0>=90 && LA58_0<=91)) ) {
+ alt58=3;
+ }
+ else if ( ((LA58_0>=RULE_HEX && LA58_0<=RULE_DECIMAL)) ) {
+ alt58=4;
+ }
+ else if ( (LA58_0==92) ) {
+ alt58=5;
+ }
+ else if ( (LA58_0==RULE_STRING) ) {
+ alt58=6;
+ }
+ else if ( (LA58_0==93) ) {
+ alt58=7;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 58, 0, input);
+
+ throw nvae;
+ }
+ switch (alt58) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3274:5: this_XCollectionLiteral_0= ruleXCollectionLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXCollectionLiteral_in_ruleXLiteral7927);
+ this_XCollectionLiteral_0=ruleXCollectionLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XCollectionLiteral_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3283:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3283:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3283:7: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1());
+
+ }
+ pushFollow(FOLLOW_ruleXClosure_in_ruleXLiteral7967);
+ this_XClosure_1=ruleXClosure();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XClosure_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3296:5: this_XBooleanLiteral_2= ruleXBooleanLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2());
+
+ }
+ pushFollow(FOLLOW_ruleXBooleanLiteral_in_ruleXLiteral7995);
+ this_XBooleanLiteral_2=ruleXBooleanLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XBooleanLiteral_2;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3306:5: this_XNumberLiteral_3= ruleXNumberLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3());
+
+ }
+ pushFollow(FOLLOW_ruleXNumberLiteral_in_ruleXLiteral8022);
+ this_XNumberLiteral_3=ruleXNumberLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XNumberLiteral_3;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3316:5: this_XNullLiteral_4= ruleXNullLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4());
+
+ }
+ pushFollow(FOLLOW_ruleXNullLiteral_in_ruleXLiteral8049);
+ this_XNullLiteral_4=ruleXNullLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XNullLiteral_4;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3326:5: this_XStringLiteral_5= ruleXStringLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5());
+
+ }
+ pushFollow(FOLLOW_ruleXStringLiteral_in_ruleXLiteral8076);
+ this_XStringLiteral_5=ruleXStringLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XStringLiteral_5;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3336:5: this_XTypeLiteral_6= ruleXTypeLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6());
+
+ }
+ pushFollow(FOLLOW_ruleXTypeLiteral_in_ruleXLiteral8103);
+ this_XTypeLiteral_6=ruleXTypeLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XTypeLiteral_6;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXLiteral"
+
+
+ // $ANTLR start "entryRuleXCollectionLiteral"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3352:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ;
+ public final EObject entryRuleXCollectionLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXCollectionLiteral = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3353:2: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3354:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXCollectionLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXCollectionLiteral_in_entryRuleXCollectionLiteral8138);
+ iv_ruleXCollectionLiteral=ruleXCollectionLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXCollectionLiteral;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXCollectionLiteral8148); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXCollectionLiteral"
+
+
+ // $ANTLR start "ruleXCollectionLiteral"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3361:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ;
+ public final EObject ruleXCollectionLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_XSetLiteral_0 = null;
+
+ EObject this_XListLiteral_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3364:28: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3365:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
+ {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3365:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
+ int alt59=2;
+ int LA59_0 = input.LA(1);
+
+ if ( (LA59_0==38) ) {
+ int LA59_1 = input.LA(2);
+
+ if ( (LA59_1==14) ) {
+ alt59=1;
+ }
+ else if ( (LA59_1==39) ) {
+ alt59=2;
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 59, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ if (state.backtracking>0) {state.failed=true; return current;}
+ NoViableAltException nvae =
+ new NoViableAltException("", 59, 0, input);
+
+ throw nvae;
+ }
+ switch (alt59) {
+ case 1 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3366:5: this_XSetLiteral_0= ruleXSetLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0());
+
+ }
+ pushFollow(FOLLOW_ruleXSetLiteral_in_ruleXCollectionLiteral8195);
+ this_XSetLiteral_0=ruleXSetLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XSetLiteral_0;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3376:5: this_XListLiteral_1= ruleXListLiteral
+ {
+ if ( state.backtracking==0 ) {
+
+ newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1());
+
+ }
+ pushFollow(FOLLOW_ruleXListLiteral_in_ruleXCollectionLiteral8222);
+ this_XListLiteral_1=ruleXListLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+
+ current = this_XListLiteral_1;
+ afterParserOrEnumRuleCall();
+
+ }
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ if ( state.backtracking==0 ) {
+ leaveRule();
+ }
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleXCollectionLiteral"
+
+
+ // $ANTLR start "entryRuleXSetLiteral"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3392:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ;
+ public final EObject entryRuleXSetLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleXSetLiteral = null;
+
+
+ try {
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3393:2: (iv_ruleXSetLiteral= ruleXSetLiteral EOF )
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3394:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF
+ {
+ if ( state.backtracking==0 ) {
+ newCompositeNode(grammarAccess.getXSetLiteralRule());
+ }
+ pushFollow(FOLLOW_ruleXSetLiteral_in_entryRuleXSetLiteral8257);
+ iv_ruleXSetLiteral=ruleXSetLiteral();
+
+ state._fsp--;
+ if (state.failed) return current;
+ if ( state.backtracking==0 ) {
+ current =iv_ruleXSetLiteral;
+ }
+ match(input,EOF,FOLLOW_EOF_in_entryRuleXSetLiteral8267); if (state.failed) return current;
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleXSetLiteral"
+
+
+ // $ANTLR start "ruleXSetLiteral"
+ // ../org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/parser/antlr/internal/InternalStrategyDSL.g:3401:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ;
+ public final EObject ruleXSetLiteral() throws RecognitionException {
+ EObject current = null;
+
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/serializer/StrategyDSLSemanticSequencer.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/serializer/StrategyDSLSemanticSequencer.java
new file mode 100644
index 0000000..71ebd9f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/serializer/StrategyDSLSemanticSequencer.java
@@ -0,0 +1,1517 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.serializer;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.dsl.semantic.common.types.LImport;
+import org.eclipse.osbp.dsl.semantic.common.types.OSBPTypesPackage;
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer;
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy;
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy;
+import org.eclipse.osbp.xtext.strategy.Strategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDSLPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyDefault;
+import org.eclipse.osbp.xtext.strategy.StrategyModel;
+import org.eclipse.osbp.xtext.strategy.StrategyPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyTarget;
+import org.eclipse.osbp.xtext.strategy.services.StrategyDSLGrammarAccess;
+import org.eclipse.xtext.common.types.JvmFormalParameter;
+import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference;
+import org.eclipse.xtext.common.types.JvmInnerTypeReference;
+import org.eclipse.xtext.common.types.JvmLowerBound;
+import org.eclipse.xtext.common.types.JvmParameterizedTypeReference;
+import org.eclipse.xtext.common.types.JvmTypeParameter;
+import org.eclipse.xtext.common.types.JvmUpperBound;
+import org.eclipse.xtext.common.types.JvmWildcardTypeReference;
+import org.eclipse.xtext.common.types.TypesPackage;
+import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
+import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
+import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
+import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
+import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
+import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
+import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
+import org.eclipse.xtext.xbase.XAssignment;
+import org.eclipse.xtext.xbase.XBasicForLoopExpression;
+import org.eclipse.xtext.xbase.XBinaryOperation;
+import org.eclipse.xtext.xbase.XBlockExpression;
+import org.eclipse.xtext.xbase.XBooleanLiteral;
+import org.eclipse.xtext.xbase.XCasePart;
+import org.eclipse.xtext.xbase.XCastedExpression;
+import org.eclipse.xtext.xbase.XCatchClause;
+import org.eclipse.xtext.xbase.XClosure;
+import org.eclipse.xtext.xbase.XConstructorCall;
+import org.eclipse.xtext.xbase.XDoWhileExpression;
+import org.eclipse.xtext.xbase.XFeatureCall;
+import org.eclipse.xtext.xbase.XForLoopExpression;
+import org.eclipse.xtext.xbase.XIfExpression;
+import org.eclipse.xtext.xbase.XInstanceOfExpression;
+import org.eclipse.xtext.xbase.XListLiteral;
+import org.eclipse.xtext.xbase.XMemberFeatureCall;
+import org.eclipse.xtext.xbase.XNullLiteral;
+import org.eclipse.xtext.xbase.XNumberLiteral;
+import org.eclipse.xtext.xbase.XPostfixOperation;
+import org.eclipse.xtext.xbase.XReturnExpression;
+import org.eclipse.xtext.xbase.XSetLiteral;
+import org.eclipse.xtext.xbase.XStringLiteral;
+import org.eclipse.xtext.xbase.XSwitchExpression;
+import org.eclipse.xtext.xbase.XSynchronizedExpression;
+import org.eclipse.xtext.xbase.XThrowExpression;
+import org.eclipse.xtext.xbase.XTryCatchFinallyExpression;
+import org.eclipse.xtext.xbase.XTypeLiteral;
+import org.eclipse.xtext.xbase.XUnaryOperation;
+import org.eclipse.xtext.xbase.XVariableDeclaration;
+import org.eclipse.xtext.xbase.XWhileExpression;
+import org.eclipse.xtext.xbase.XbasePackage;
+import org.eclipse.xtext.xbase.annotations.serializer.XbaseWithAnnotationsSemanticSequencer;
+import org.eclipse.xtext.xbase.annotations.xAnnotations.XAnnotation;
+import org.eclipse.xtext.xbase.annotations.xAnnotations.XAnnotationElementValuePair;
+import org.eclipse.xtext.xbase.annotations.xAnnotations.XAnnotationsPackage;
+import org.eclipse.xtext.xtype.XFunctionTypeRef;
+import org.eclipse.xtext.xtype.XImportDeclaration;
+import org.eclipse.xtext.xtype.XImportSection;
+import org.eclipse.xtext.xtype.XtypePackage;
+
+@SuppressWarnings("all")
+public class StrategyDSLSemanticSequencer extends XbaseWithAnnotationsSemanticSequencer {
+
+ @Inject
+ private StrategyDSLGrammarAccess grammarAccess;
+
+ public void createSequence(EObject context, EObject semanticObject) {
+ if(semanticObject.eClass().getEPackage() == StrategyDSLPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+ case StrategyDSLPackage.FOCUSING_ENHANCER:
+ if(context == grammarAccess.getFocusingEnhancerRule()) {
+ sequence_FocusingEnhancer(context, (FocusingEnhancer) semanticObject);
+ return;
+ }
+ else break;
+ case StrategyDSLPackage.FOCUSING_STRATEGY:
+ if(context == grammarAccess.getFocusingStrategyRule()) {
+ sequence_FocusingStrategy(context, (FocusingStrategy) semanticObject);
+ return;
+ }
+ else break;
+ case StrategyDSLPackage.LAYOUTING_STRATEGY:
+ if(context == grammarAccess.getLayoutingStrategyRule()) {
+ sequence_LayoutingStrategy(context, (LayoutingStrategy) semanticObject);
+ return;
+ }
+ else break;
+ case StrategyDSLPackage.STRATEGY:
+ if(context == grammarAccess.getStrategyRule()) {
+ sequence_Strategy(context, (Strategy) semanticObject);
+ return;
+ }
+ else break;
+ case StrategyDSLPackage.STRATEGY_DEFAULT:
+ if(context == grammarAccess.getStrategyDefaultRule()) {
+ sequence_StrategyDefault(context, (StrategyDefault) semanticObject);
+ return;
+ }
+ else break;
+ case StrategyDSLPackage.STRATEGY_MODEL:
+ if(context == grammarAccess.getStrategyModelRule()) {
+ sequence_StrategyModel(context, (StrategyModel) semanticObject);
+ return;
+ }
+ else break;
+ case StrategyDSLPackage.STRATEGY_PACKAGE:
+ if(context == grammarAccess.getStrategyPackageRule()) {
+ sequence_StrategyPackage(context, (StrategyPackage) semanticObject);
+ return;
+ }
+ else break;
+ case StrategyDSLPackage.STRATEGY_TARGET:
+ if(context == grammarAccess.getStrategyTargetRule()) {
+ sequence_StrategyTarget(context, (StrategyTarget) semanticObject);
+ return;
+ }
+ else break;
+ }
+ else if(semanticObject.eClass().getEPackage() == OSBPTypesPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+ case OSBPTypesPackage.LIMPORT:
+ if(context == grammarAccess.getStrategyImportRule()) {
+ sequence_StrategyImport(context, (LImport) semanticObject);
+ return;
+ }
+ else break;
+ }
+ else if(semanticObject.eClass().getEPackage() == TypesPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+ case TypesPackage.JVM_FORMAL_PARAMETER:
+ if(context == grammarAccess.getFullJvmFormalParameterRule()) {
+ sequence_FullJvmFormalParameter(context, (JvmFormalParameter) semanticObject);
+ return;
+ }
+ else if(context == grammarAccess.getJvmFormalParameterRule()) {
+ sequence_JvmFormalParameter(context, (JvmFormalParameter) semanticObject);
+ return;
+ }
+ else break;
+ case TypesPackage.JVM_GENERIC_ARRAY_TYPE_REFERENCE:
+ if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+ context == grammarAccess.getJvmTypeReferenceRule() ||
+ context == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()) {
+ sequence_JvmTypeReference(context, (JvmGenericArrayTypeReference) semanticObject);
+ return;
+ }
+ else break;
+ case TypesPackage.JVM_INNER_TYPE_REFERENCE:
+ if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+ context == grammarAccess.getJvmParameterizedTypeReferenceRule() ||
+ context == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0() ||
+ context == grammarAccess.getJvmTypeReferenceRule() ||
+ context == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()) {
+ sequence_JvmParameterizedTypeReference(context, (JvmInnerTypeReference) semanticObject);
+ return;
+ }
+ else break;
+ case TypesPackage.JVM_LOWER_BOUND:
+ if(context == grammarAccess.getJvmLowerBoundAndedRule()) {
+ sequence_JvmLowerBoundAnded(context, (JvmLowerBound) semanticObject);
+ return;
+ }
+ else if(context == grammarAccess.getJvmLowerBoundRule()) {
+ sequence_JvmLowerBound(context, (JvmLowerBound) semanticObject);
+ return;
+ }
+ else break;
+ case TypesPackage.JVM_PARAMETERIZED_TYPE_REFERENCE:
+ if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+ context == grammarAccess.getJvmParameterizedTypeReferenceRule() ||
+ context == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0() ||
+ context == grammarAccess.getJvmTypeReferenceRule() ||
+ context == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()) {
+ sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject);
+ return;
+ }
+ else break;
+ case TypesPackage.JVM_TYPE_PARAMETER:
+ if(context == grammarAccess.getJvmTypeParameterRule()) {
+ sequence_JvmTypeParameter(context, (JvmTypeParameter) semanticObject);
+ return;
+ }
+ else break;
+ case TypesPackage.JVM_UPPER_BOUND:
+ if(context == grammarAccess.getJvmUpperBoundAndedRule()) {
+ sequence_JvmUpperBoundAnded(context, (JvmUpperBound) semanticObject);
+ return;
+ }
+ else if(context == grammarAccess.getJvmUpperBoundRule()) {
+ sequence_JvmUpperBound(context, (JvmUpperBound) semanticObject);
+ return;
+ }
+ else break;
+ case TypesPackage.JVM_WILDCARD_TYPE_REFERENCE:
+ if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+ context == grammarAccess.getJvmWildcardTypeReferenceRule()) {
+ sequence_JvmWildcardTypeReference(context, (JvmWildcardTypeReference) semanticObject);
+ return;
+ }
+ else break;
+ }
+ else if(semanticObject.eClass().getEPackage() == XAnnotationsPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+ case XAnnotationsPackage.XANNOTATION:
+ if(context == grammarAccess.getXAnnotationRule() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule()) {
+ sequence_XAnnotation(context, (XAnnotation) semanticObject);
+ return;
+ }
+ else break;
+ case XAnnotationsPackage.XANNOTATION_ELEMENT_VALUE_PAIR:
+ if(context == grammarAccess.getXAnnotationElementValuePairRule()) {
+ sequence_XAnnotationElementValuePair(context, (XAnnotationElementValuePair) semanticObject);
+ return;
+ }
+ else break;
+ }
+ else if(semanticObject.eClass().getEPackage() == XbasePackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+ case XbasePackage.XASSIGNMENT:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XAssignment_XMemberFeatureCall(context, (XAssignment) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XBASIC_FOR_LOOP_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXBasicForLoopExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XBasicForLoopExpression(context, (XBasicForLoopExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XBINARY_OPERATION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XAdditiveExpression_XAndExpression_XAssignment_XEqualityExpression_XMultiplicativeExpression_XOrExpression_XOtherOperatorExpression_XRelationalExpression(context, (XBinaryOperation) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XBLOCK_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXBlockExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XBlockExpression(context, (XBlockExpression) semanticObject);
+ return;
+ }
+ else if(context == grammarAccess.getXExpressionInClosureRule()) {
+ sequence_XExpressionInClosure(context, (XBlockExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XBOOLEAN_LITERAL:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXBooleanLiteralRule() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXLiteralRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XBooleanLiteral(context, (XBooleanLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XCASE_PART:
+ if(context == grammarAccess.getXCasePartRule()) {
+ sequence_XCasePart(context, (XCasePart) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XCASTED_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XCastedExpression(context, (XCastedExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XCATCH_CLAUSE:
+ if(context == grammarAccess.getXCatchClauseRule()) {
+ sequence_XCatchClause(context, (XCatchClause) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XCLOSURE:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXClosureRule() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXLiteralRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XClosure(context, (XClosure) semanticObject);
+ return;
+ }
+ else if(context == grammarAccess.getXShortClosureRule()) {
+ sequence_XShortClosure(context, (XClosure) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XCONSTRUCTOR_CALL:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXConstructorCallRule() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XConstructorCall(context, (XConstructorCall) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XDO_WHILE_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXDoWhileExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XDoWhileExpression(context, (XDoWhileExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XFEATURE_CALL:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XFeatureCall(context, (XFeatureCall) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XFOR_LOOP_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXForLoopExpressionRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XForLoopExpression(context, (XForLoopExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XIF_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXIfExpressionRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XIfExpression(context, (XIfExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XINSTANCE_OF_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XRelationalExpression(context, (XInstanceOfExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XLIST_LITERAL:
+ if(context == grammarAccess.getXAnnotationElementValueOrCommaListRule()) {
+ sequence_XAnnotationElementValueOrCommaList_XListLiteral(context, (XListLiteral) semanticObject);
+ return;
+ }
+ else if(context == grammarAccess.getXAnnotationElementValueRule()) {
+ sequence_XAnnotationElementValue_XListLiteral(context, (XListLiteral) semanticObject);
+ return;
+ }
+ else if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXCollectionLiteralRule() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXListLiteralRule() ||
+ context == grammarAccess.getXLiteralRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XListLiteral(context, (XListLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XMEMBER_FEATURE_CALL:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XMemberFeatureCall(context, (XMemberFeatureCall) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XNULL_LITERAL:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXLiteralRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXNullLiteralRule() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XNullLiteral(context, (XNullLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XNUMBER_LITERAL:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXLiteralRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXNumberLiteralRule() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XNumberLiteral(context, (XNumberLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XPOSTFIX_OPERATION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XPostfixOperation(context, (XPostfixOperation) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XRETURN_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXReturnExpressionRule() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XReturnExpression(context, (XReturnExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XSET_LITERAL:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXCollectionLiteralRule() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXLiteralRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXSetLiteralRule() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XSetLiteral(context, (XSetLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XSTRING_LITERAL:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXLiteralRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXStringLiteralRule() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XStringLiteral(context, (XStringLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XSWITCH_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXSwitchExpressionRule() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XSwitchExpression(context, (XSwitchExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XSYNCHRONIZED_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXSynchronizedExpressionRule() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XSynchronizedExpression(context, (XSynchronizedExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XTHROW_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXThrowExpressionRule() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XThrowExpression(context, (XThrowExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XTRY_CATCH_FINALLY_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXTryCatchFinallyExpressionRule() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XTryCatchFinallyExpression(context, (XTryCatchFinallyExpression) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XTYPE_LITERAL:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXLiteralRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXTypeLiteralRule() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XTypeLiteral(context, (XTypeLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XUNARY_OPERATION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule()) {
+ sequence_XUnaryOperation(context, (XUnaryOperation) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XVARIABLE_DECLARATION:
+ if(context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXVariableDeclarationRule()) {
+ sequence_XVariableDeclaration(context, (XVariableDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ case XbasePackage.XWHILE_EXPRESSION:
+ if(context == grammarAccess.getXAdditiveExpressionRule() ||
+ context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAndExpressionRule() ||
+ context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXAnnotationElementValueRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+ context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+ context == grammarAccess.getXAnnotationOrExpressionRule() ||
+ context == grammarAccess.getXAssignmentRule() ||
+ context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXCastedExpressionRule() ||
+ context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+ context == grammarAccess.getXEqualityExpressionRule() ||
+ context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXExpressionRule() ||
+ context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+ context == grammarAccess.getXMemberFeatureCallRule() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+ context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+ context == grammarAccess.getXMultiplicativeExpressionRule() ||
+ context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOrExpressionRule() ||
+ context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXOtherOperatorExpressionRule() ||
+ context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+ context == grammarAccess.getXParenthesizedExpressionRule() ||
+ context == grammarAccess.getXPostfixOperationRule() ||
+ context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+ context == grammarAccess.getXPrimaryExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionRule() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+ context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+ context == grammarAccess.getXUnaryOperationRule() ||
+ context == grammarAccess.getXWhileExpressionRule()) {
+ sequence_XWhileExpression(context, (XWhileExpression) semanticObject);
+ return;
+ }
+ else break;
+ }
+ else if(semanticObject.eClass().getEPackage() == XtypePackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+ case XtypePackage.XFUNCTION_TYPE_REF:
+ if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+ context == grammarAccess.getJvmTypeReferenceRule() ||
+ context == grammarAccess.getXFunctionTypeRefRule()) {
+ sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject);
+ return;
+ }
+ else break;
+ case XtypePackage.XIMPORT_DECLARATION:
+ if(context == grammarAccess.getXImportDeclarationRule()) {
+ sequence_XImportDeclaration(context, (XImportDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ case XtypePackage.XIMPORT_SECTION:
+ if(context == grammarAccess.getXImportSectionRule()) {
+ sequence_XImportSection(context, (XImportSection) semanticObject);
+ return;
+ }
+ else break;
+ }
+ if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
+ }
+
+ /**
+ * Constraint:
+ * (name=ID focusingStrategies+=[FocusingStrategy|ID]+)
+ */
+ protected void sequence_FocusingEnhancer(EObject context, FocusingEnhancer semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (name=ID ecviewFocusingId=ID focus=FocusingEnum (keyCode=ID modifierKeys+=ID*)?)
+ */
+ protected void sequence_FocusingStrategy(EObject context, FocusingStrategy semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (name=ID layout=LayoutingEnum)
+ */
+ protected void sequence_LayoutingStrategy(EObject context, LayoutingStrategy semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, StrategyDSLPackage.Literals.STRATEGY_BASE__NAME) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StrategyDSLPackage.Literals.STRATEGY_BASE__NAME));
+ if(transientValues.isValueTransient(semanticObject, StrategyDSLPackage.Literals.LAYOUTING_STRATEGY__LAYOUT) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StrategyDSLPackage.Literals.LAYOUTING_STRATEGY__LAYOUT));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getLayoutingStrategyAccess().getNameIDTerminalRuleCall_2_0(), semanticObject.getName());
+ feeder.accept(grammarAccess.getLayoutingStrategyAccess().getLayoutLayoutingEnumEnumRuleCall_4_0(), semanticObject.getLayout());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (defaultLayouting=[LayoutingStrategy|ID] defaultFocusing=[FocusingEnhancer|ID])
+ */
+ protected void sequence_StrategyDefault(EObject context, StrategyDefault semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, StrategyDSLPackage.Literals.STRATEGY_DEFAULT__DEFAULT_LAYOUTING) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StrategyDSLPackage.Literals.STRATEGY_DEFAULT__DEFAULT_LAYOUTING));
+ if(transientValues.isValueTransient(semanticObject, StrategyDSLPackage.Literals.STRATEGY_DEFAULT__DEFAULT_FOCUSING) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StrategyDSLPackage.Literals.STRATEGY_DEFAULT__DEFAULT_FOCUSING));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getStrategyDefaultAccess().getDefaultLayoutingLayoutingStrategyIDTerminalRuleCall_4_0_1(), semanticObject.getDefaultLayouting());
+ feeder.accept(grammarAccess.getStrategyDefaultAccess().getDefaultFocusingFocusingEnhancerIDTerminalRuleCall_6_0_1(), semanticObject.getDefaultFocusing());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * importedNamespace=StrategyQualifiedNameWithWildCard
+ */
+ protected void sequence_StrategyImport(EObject context, LImport semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, OSBPTypesPackage.Literals.LIMPORT__IMPORTED_NAMESPACE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, OSBPTypesPackage.Literals.LIMPORT__IMPORTED_NAMESPACE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getStrategyImportAccess().getImportedNamespaceStrategyQualifiedNameWithWildCardParserRuleCall_1_0(), semanticObject.getImportedNamespace());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * packages+=StrategyPackage*
+ */
+ protected void sequence_StrategyModel(EObject context, StrategyModel semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (name=QualifiedName (imports+=StrategyImport* strategy=Strategy)?)
+ */
+ protected void sequence_StrategyPackage(EObject context, StrategyPackage semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * ((layoutingStrategies+=LayoutingStrategy* focusingStrategies+=FocusingStrategy* focusingEnhancer+=FocusingEnhancer*)?)
+ */
+ protected void sequence_StrategyTarget(EObject context, StrategyTarget semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (targets=StrategyTarget strategyDefault=StrategyDefault)
+ */
+ protected void sequence_Strategy(EObject context, Strategy semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, StrategyDSLPackage.Literals.STRATEGY__TARGETS) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StrategyDSLPackage.Literals.STRATEGY__TARGETS));
+ if(transientValues.isValueTransient(semanticObject, StrategyDSLPackage.Literals.STRATEGY__STRATEGY_DEFAULT) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StrategyDSLPackage.Literals.STRATEGY__STRATEGY_DEFAULT));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getStrategyAccess().getTargetsStrategyTargetParserRuleCall_3_0(), semanticObject.getTargets());
+ feeder.accept(grammarAccess.getStrategyAccess().getStrategyDefaultStrategyDefaultParserRuleCall_4_0(), semanticObject.getStrategyDefault());
+ feeder.finish();
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/serializer/StrategyDSLSyntacticSequencer.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/serializer/StrategyDSLSyntacticSequencer.java
new file mode 100644
index 0000000..83ffdce
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/serializer/StrategyDSLSyntacticSequencer.java
@@ -0,0 +1,189 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.serializer;
+
+import com.google.inject.Inject;
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.xtext.strategy.services.StrategyDSLGrammarAccess;
+import org.eclipse.xtext.IGrammarAccess;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.nodemodel.INode;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
+import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
+
+@SuppressWarnings("all")
+public class StrategyDSLSyntacticSequencer extends AbstractSyntacticSequencer {
+
+ protected StrategyDSLGrammarAccess grammarAccess;
+ protected AbstractElementAlias match_FocusingStrategy___ModifierKeysKeyword_7_4_0_LeftCurlyBracketKeyword_7_4_1_RightCurlyBracketKeyword_7_4_3__q;
+ protected AbstractElementAlias match_StrategyTarget___LeftCurlyBracketKeyword_2_0_RightCurlyBracketKeyword_2_4__q;
+ protected AbstractElementAlias match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q;
+ protected AbstractElementAlias match_XBlockExpression_SemicolonKeyword_2_1_q;
+ protected AbstractElementAlias match_XExpressionInClosure_SemicolonKeyword_1_1_q;
+ protected AbstractElementAlias match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q;
+ protected AbstractElementAlias match_XImportDeclaration_SemicolonKeyword_2_q;
+ protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_a;
+ protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_p;
+
+ @Inject
+ protected void init(IGrammarAccess access) {
+ grammarAccess = (StrategyDSLGrammarAccess) access;
+ match_FocusingStrategy___ModifierKeysKeyword_7_4_0_LeftCurlyBracketKeyword_7_4_1_RightCurlyBracketKeyword_7_4_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getFocusingStrategyAccess().getModifierKeysKeyword_7_4_0()), new TokenAlias(false, false, grammarAccess.getFocusingStrategyAccess().getLeftCurlyBracketKeyword_7_4_1()), new TokenAlias(false, false, grammarAccess.getFocusingStrategyAccess().getRightCurlyBracketKeyword_7_4_3()));
+ match_StrategyTarget___LeftCurlyBracketKeyword_2_0_RightCurlyBracketKeyword_2_4__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getStrategyTargetAccess().getLeftCurlyBracketKeyword_2_0()), new TokenAlias(false, false, grammarAccess.getStrategyTargetAccess().getRightCurlyBracketKeyword_2_4()));
+ match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()));
+ match_XBlockExpression_SemicolonKeyword_2_1_q = new TokenAlias(false, true, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
+ match_XExpressionInClosure_SemicolonKeyword_1_1_q = new TokenAlias(false, true, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
+ match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()), new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()));
+ match_XImportDeclaration_SemicolonKeyword_2_q = new TokenAlias(false, true, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2());
+ match_XParenthesizedExpression_LeftParenthesisKeyword_0_a = new TokenAlias(true, true, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
+ match_XParenthesizedExpression_LeftParenthesisKeyword_0_p = new TokenAlias(true, false, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
+ }
+
+ @Override
+ protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ if(ruleCall.getRule() == grammarAccess.getArrayBracketsRule())
+ return getArrayBracketsToken(semanticObject, ruleCall, node);
+ else if(ruleCall.getRule() == grammarAccess.getOpSingleAssignRule())
+ return getOpSingleAssignToken(semanticObject, ruleCall, node);
+ return "";
+ }
+
+ /**
+ * ArrayBrackets :
+ * '[' ']'
+ * ;
+ */
+ protected String getArrayBracketsToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ if (node != null)
+ return getTokenText(node);
+ return "[]";
+ }
+
+ /**
+ * OpSingleAssign:
+ * '='
+ * ;
+ */
+ protected String getOpSingleAssignToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ if (node != null)
+ return getTokenText(node);
+ return "=";
+ }
+
+ @Override
+ protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
+ if (transition.getAmbiguousSyntaxes().isEmpty()) return;
+ List<INode> transitionNodes = collectNodes(fromNode, toNode);
+ for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
+ List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
+ if(match_FocusingStrategy___ModifierKeysKeyword_7_4_0_LeftCurlyBracketKeyword_7_4_1_RightCurlyBracketKeyword_7_4_3__q.equals(syntax))
+ emit_FocusingStrategy___ModifierKeysKeyword_7_4_0_LeftCurlyBracketKeyword_7_4_1_RightCurlyBracketKeyword_7_4_3__q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_StrategyTarget___LeftCurlyBracketKeyword_2_0_RightCurlyBracketKeyword_2_4__q.equals(syntax))
+ emit_StrategyTarget___LeftCurlyBracketKeyword_2_0_RightCurlyBracketKeyword_2_4__q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q.equals(syntax))
+ emit_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_XBlockExpression_SemicolonKeyword_2_1_q.equals(syntax))
+ emit_XBlockExpression_SemicolonKeyword_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_XExpressionInClosure_SemicolonKeyword_1_1_q.equals(syntax))
+ emit_XExpressionInClosure_SemicolonKeyword_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q.equals(syntax))
+ emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_XImportDeclaration_SemicolonKeyword_2_q.equals(syntax))
+ emit_XImportDeclaration_SemicolonKeyword_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_XParenthesizedExpression_LeftParenthesisKeyword_0_a.equals(syntax))
+ emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_XParenthesizedExpression_LeftParenthesisKeyword_0_p.equals(syntax))
+ emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
+ else acceptNodes(getLastNavigableState(), syntaxNodes);
+ }
+ }
+
+ /**
+ * Syntax:
+ * ('modifierKeys' '{' '}')?
+ */
+ protected void emit_FocusingStrategy___ModifierKeysKeyword_7_4_0_LeftCurlyBracketKeyword_7_4_1_RightCurlyBracketKeyword_7_4_3__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * ('{' '}')?
+ */
+ protected void emit_StrategyTarget___LeftCurlyBracketKeyword_2_0_RightCurlyBracketKeyword_2_4__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * ('(' ')')?
+ */
+ protected void emit_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * ';'?
+ */
+ protected void emit_XBlockExpression_SemicolonKeyword_2_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * ';'?
+ */
+ protected void emit_XExpressionInClosure_SemicolonKeyword_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * ('(' ')')?
+ */
+ protected void emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * ';'?
+ */
+ protected void emit_XImportDeclaration_SemicolonKeyword_2_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * '('*
+ */
+ protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * '('+
+ */
+ protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/services/StrategyDSLGrammarAccess.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/services/StrategyDSLGrammarAccess.java
new file mode 100644
index 0000000..304fade
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/services/StrategyDSLGrammarAccess.java
@@ -0,0 +1,1720 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import java.util.List;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.service.GrammarProvider;
+import org.eclipse.xtext.service.AbstractElementFinder.*;
+
+import org.eclipse.xtext.xbase.annotations.services.XbaseWithAnnotationsGrammarAccess;
+import org.eclipse.xtext.xbase.services.XbaseGrammarAccess;
+import org.eclipse.xtext.xbase.services.XtypeGrammarAccess;
+
+@Singleton
+public class StrategyDSLGrammarAccess extends AbstractGrammarElementFinder {
+
+
+ public class StrategyModelElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StrategyModel");
+ private final Assignment cPackagesAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cPackagesStrategyPackageParserRuleCall_0 = (RuleCall)cPackagesAssignment.eContents().get(0);
+
+ //StrategyModel:
+ // packages+=StrategyPackage*;
+ public ParserRule getRule() { return rule; }
+
+ //packages+=StrategyPackage*
+ public Assignment getPackagesAssignment() { return cPackagesAssignment; }
+
+ //StrategyPackage
+ public RuleCall getPackagesStrategyPackageParserRuleCall_0() { return cPackagesStrategyPackageParserRuleCall_0; }
+ }
+
+ public class StrategyPackageElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StrategyPackage");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cStrategyPackageAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cPackageKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Keyword cLeftCurlyBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+ private final Assignment cImportsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+ private final RuleCall cImportsStrategyImportParserRuleCall_3_1_0 = (RuleCall)cImportsAssignment_3_1.eContents().get(0);
+ private final Assignment cStrategyAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
+ private final RuleCall cStrategyStrategyParserRuleCall_3_2_0 = (RuleCall)cStrategyAssignment_3_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3);
+
+ //StrategyPackage:
+ // {StrategyPackage} "package" name=QualifiedName ("{" imports+=StrategyImport* strategy=Strategy "}")?;
+ public ParserRule getRule() { return rule; }
+
+ //{StrategyPackage} "package" name=QualifiedName ("{" imports+=StrategyImport* strategy=Strategy "}")?
+ public Group getGroup() { return cGroup; }
+
+ //{StrategyPackage}
+ public Action getStrategyPackageAction_0() { return cStrategyPackageAction_0; }
+
+ //"package"
+ public Keyword getPackageKeyword_1() { return cPackageKeyword_1; }
+
+ //name=QualifiedName
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //QualifiedName
+ public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
+
+ //("{" imports+=StrategyImport* strategy=Strategy "}")?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3_0() { return cLeftCurlyBracketKeyword_3_0; }
+
+ //imports+=StrategyImport*
+ public Assignment getImportsAssignment_3_1() { return cImportsAssignment_3_1; }
+
+ //StrategyImport
+ public RuleCall getImportsStrategyImportParserRuleCall_3_1_0() { return cImportsStrategyImportParserRuleCall_3_1_0; }
+
+ //strategy=Strategy
+ public Assignment getStrategyAssignment_3_2() { return cStrategyAssignment_3_2; }
+
+ //Strategy
+ public RuleCall getStrategyStrategyParserRuleCall_3_2_0() { return cStrategyStrategyParserRuleCall_3_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_3_3() { return cRightCurlyBracketKeyword_3_3; }
+ }
+
+ public class StrategyImportElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StrategyImport");
+ 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 cImportedNamespaceStrategyQualifiedNameWithWildCardParserRuleCall_1_0 = (RuleCall)cImportedNamespaceAssignment_1.eContents().get(0);
+
+ //StrategyImport returns types::LImport:
+ // "import" importedNamespace=StrategyQualifiedNameWithWildCard;
+ public ParserRule getRule() { return rule; }
+
+ //"import" importedNamespace=StrategyQualifiedNameWithWildCard
+ public Group getGroup() { return cGroup; }
+
+ //"import"
+ public Keyword getImportKeyword_0() { return cImportKeyword_0; }
+
+ //importedNamespace=StrategyQualifiedNameWithWildCard
+ public Assignment getImportedNamespaceAssignment_1() { return cImportedNamespaceAssignment_1; }
+
+ //StrategyQualifiedNameWithWildCard
+ public RuleCall getImportedNamespaceStrategyQualifiedNameWithWildCardParserRuleCall_1_0() { return cImportedNamespaceStrategyQualifiedNameWithWildCardParserRuleCall_1_0; }
+ }
+
+ public class StrategyQualifiedNameWithWildCardElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StrategyQualifiedNameWithWildCard");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cQualifiedNameParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Keyword cAsteriskKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
+
+ //StrategyQualifiedNameWithWildCard:
+ // QualifiedName ("." "*")?;
+ public ParserRule getRule() { return rule; }
+
+ //QualifiedName ("." "*")?
+ public Group getGroup() { return cGroup; }
+
+ //QualifiedName
+ public RuleCall getQualifiedNameParserRuleCall_0() { return cQualifiedNameParserRuleCall_0; }
+
+ //("." "*")?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+ //"*"
+ public Keyword getAsteriskKeyword_1_1() { return cAsteriskKeyword_1_1; }
+ }
+
+ public class StrategyElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Strategy");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cStrategyAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cStrategyKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cTargetsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cTargetsStrategyTargetParserRuleCall_3_0 = (RuleCall)cTargetsAssignment_3.eContents().get(0);
+ private final Assignment cStrategyDefaultAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cStrategyDefaultStrategyDefaultParserRuleCall_4_0 = (RuleCall)cStrategyDefaultAssignment_4.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //Strategy:
+ // {Strategy} "strategy" "{" targets=StrategyTarget strategyDefault=StrategyDefault "}";
+ public ParserRule getRule() { return rule; }
+
+ //{Strategy} "strategy" "{" targets=StrategyTarget strategyDefault=StrategyDefault "}"
+ public Group getGroup() { return cGroup; }
+
+ //{Strategy}
+ public Action getStrategyAction_0() { return cStrategyAction_0; }
+
+ //"strategy"
+ public Keyword getStrategyKeyword_1() { return cStrategyKeyword_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //targets=StrategyTarget
+ public Assignment getTargetsAssignment_3() { return cTargetsAssignment_3; }
+
+ //StrategyTarget
+ public RuleCall getTargetsStrategyTargetParserRuleCall_3_0() { return cTargetsStrategyTargetParserRuleCall_3_0; }
+
+ //strategyDefault=StrategyDefault
+ public Assignment getStrategyDefaultAssignment_4() { return cStrategyDefaultAssignment_4; }
+
+ //StrategyDefault
+ public RuleCall getStrategyDefaultStrategyDefaultParserRuleCall_4_0() { return cStrategyDefaultStrategyDefaultParserRuleCall_4_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+ }
+
+ public class StrategyTargetElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StrategyTarget");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cStrategyTargetAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cTargetsKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cLeftCurlyBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cLayoutingStrategiesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cLayoutingStrategiesLayoutingStrategyParserRuleCall_2_1_0 = (RuleCall)cLayoutingStrategiesAssignment_2_1.eContents().get(0);
+ private final Assignment cFocusingStrategiesAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2);
+ private final RuleCall cFocusingStrategiesFocusingStrategyParserRuleCall_2_2_0 = (RuleCall)cFocusingStrategiesAssignment_2_2.eContents().get(0);
+ private final Assignment cFocusingEnhancerAssignment_2_3 = (Assignment)cGroup_2.eContents().get(3);
+ private final RuleCall cFocusingEnhancerFocusingEnhancerParserRuleCall_2_3_0 = (RuleCall)cFocusingEnhancerAssignment_2_3.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_2_4 = (Keyword)cGroup_2.eContents().get(4);
+
+ //StrategyTarget:
+ // {StrategyTarget} "targets" ("{" layoutingStrategies+=LayoutingStrategy* focusingStrategies+=FocusingStrategy*
+ // focusingEnhancer+=FocusingEnhancer* "}")?;
+ public ParserRule getRule() { return rule; }
+
+ //{StrategyTarget} "targets" ("{" layoutingStrategies+=LayoutingStrategy* focusingStrategies+=FocusingStrategy*
+ //focusingEnhancer+=FocusingEnhancer* "}")?
+ public Group getGroup() { return cGroup; }
+
+ //{StrategyTarget}
+ public Action getStrategyTargetAction_0() { return cStrategyTargetAction_0; }
+
+ //"targets"
+ public Keyword getTargetsKeyword_1() { return cTargetsKeyword_1; }
+
+ //("{" layoutingStrategies+=LayoutingStrategy* focusingStrategies+=FocusingStrategy* focusingEnhancer+=FocusingEnhancer*
+ //"}")?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2_0() { return cLeftCurlyBracketKeyword_2_0; }
+
+ //layoutingStrategies+=LayoutingStrategy*
+ public Assignment getLayoutingStrategiesAssignment_2_1() { return cLayoutingStrategiesAssignment_2_1; }
+
+ //LayoutingStrategy
+ public RuleCall getLayoutingStrategiesLayoutingStrategyParserRuleCall_2_1_0() { return cLayoutingStrategiesLayoutingStrategyParserRuleCall_2_1_0; }
+
+ //focusingStrategies+=FocusingStrategy*
+ public Assignment getFocusingStrategiesAssignment_2_2() { return cFocusingStrategiesAssignment_2_2; }
+
+ //FocusingStrategy
+ public RuleCall getFocusingStrategiesFocusingStrategyParserRuleCall_2_2_0() { return cFocusingStrategiesFocusingStrategyParserRuleCall_2_2_0; }
+
+ //focusingEnhancer+=FocusingEnhancer*
+ public Assignment getFocusingEnhancerAssignment_2_3() { return cFocusingEnhancerAssignment_2_3; }
+
+ //FocusingEnhancer
+ public RuleCall getFocusingEnhancerFocusingEnhancerParserRuleCall_2_3_0() { return cFocusingEnhancerFocusingEnhancerParserRuleCall_2_3_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_2_4() { return cRightCurlyBracketKeyword_2_4; }
+ }
+
+ public class LayoutingStrategyElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LayoutingStrategy");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cLayoutingStrategyAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cLayoutingStrategyKeyword_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 Keyword cLayoutKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cLayoutAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cLayoutLayoutingEnumEnumRuleCall_4_0 = (RuleCall)cLayoutAssignment_4.eContents().get(0);
+
+ //LayoutingStrategy:
+ // {LayoutingStrategy} "layoutingStrategy" name=ID "layout=" layout=LayoutingEnum;
+ public ParserRule getRule() { return rule; }
+
+ //{LayoutingStrategy} "layoutingStrategy" name=ID "layout=" layout=LayoutingEnum
+ public Group getGroup() { return cGroup; }
+
+ //{LayoutingStrategy}
+ public Action getLayoutingStrategyAction_0() { return cLayoutingStrategyAction_0; }
+
+ //"layoutingStrategy"
+ public Keyword getLayoutingStrategyKeyword_1() { return cLayoutingStrategyKeyword_1; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //"layout="
+ public Keyword getLayoutKeyword_3() { return cLayoutKeyword_3; }
+
+ //layout=LayoutingEnum
+ public Assignment getLayoutAssignment_4() { return cLayoutAssignment_4; }
+
+ //LayoutingEnum
+ public RuleCall getLayoutLayoutingEnumEnumRuleCall_4_0() { return cLayoutLayoutingEnumEnumRuleCall_4_0; }
+ }
+
+ public class FocusingStrategyElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FocusingStrategy");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cFocusingStrategyAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cFocusingStrategyKeyword_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 Keyword cEcviewFocusingIdKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cEcviewFocusingIdAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cEcviewFocusingIdIDTerminalRuleCall_4_0 = (RuleCall)cEcviewFocusingIdAssignment_4.eContents().get(0);
+ private final Keyword cFocusKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Assignment cFocusAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cFocusFocusingEnumEnumRuleCall_6_0 = (RuleCall)cFocusAssignment_6.eContents().get(0);
+ private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
+ private final Keyword cKeyStrokeDefinitionKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1);
+ private final Keyword cKeyCodeKeyword_7_2 = (Keyword)cGroup_7.eContents().get(2);
+ private final Assignment cKeyCodeAssignment_7_3 = (Assignment)cGroup_7.eContents().get(3);
+ private final RuleCall cKeyCodeIDTerminalRuleCall_7_3_0 = (RuleCall)cKeyCodeAssignment_7_3.eContents().get(0);
+ private final Group cGroup_7_4 = (Group)cGroup_7.eContents().get(4);
+ private final Keyword cModifierKeysKeyword_7_4_0 = (Keyword)cGroup_7_4.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_7_4_1 = (Keyword)cGroup_7_4.eContents().get(1);
+ private final Assignment cModifierKeysAssignment_7_4_2 = (Assignment)cGroup_7_4.eContents().get(2);
+ private final RuleCall cModifierKeysIDTerminalRuleCall_7_4_2_0 = (RuleCall)cModifierKeysAssignment_7_4_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_7_4_3 = (Keyword)cGroup_7_4.eContents().get(3);
+ private final Keyword cRightCurlyBracketKeyword_7_5 = (Keyword)cGroup_7.eContents().get(5);
+
+ //FocusingStrategy:
+ // {FocusingStrategy} "focusingStrategy" name=ID "ecviewFocusingId=" ecviewFocusingId=ID "focus=" focus=FocusingEnum
+ // ("keyStrokeDefinition" "{" "keyCode=" keyCode=ID ("modifierKeys" "{" modifierKeys+=ID* "}")? "}")?;
+ public ParserRule getRule() { return rule; }
+
+ //{FocusingStrategy} "focusingStrategy" name=ID "ecviewFocusingId=" ecviewFocusingId=ID "focus=" focus=FocusingEnum
+ //("keyStrokeDefinition" "{" "keyCode=" keyCode=ID ("modifierKeys" "{" modifierKeys+=ID* "}")? "}")?
+ public Group getGroup() { return cGroup; }
+
+ //{FocusingStrategy}
+ public Action getFocusingStrategyAction_0() { return cFocusingStrategyAction_0; }
+
+ //"focusingStrategy"
+ public Keyword getFocusingStrategyKeyword_1() { return cFocusingStrategyKeyword_1; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //"ecviewFocusingId="
+ public Keyword getEcviewFocusingIdKeyword_3() { return cEcviewFocusingIdKeyword_3; }
+
+ //ecviewFocusingId=ID
+ public Assignment getEcviewFocusingIdAssignment_4() { return cEcviewFocusingIdAssignment_4; }
+
+ //ID
+ public RuleCall getEcviewFocusingIdIDTerminalRuleCall_4_0() { return cEcviewFocusingIdIDTerminalRuleCall_4_0; }
+
+ //"focus="
+ public Keyword getFocusKeyword_5() { return cFocusKeyword_5; }
+
+ //focus=FocusingEnum
+ public Assignment getFocusAssignment_6() { return cFocusAssignment_6; }
+
+ //FocusingEnum
+ public RuleCall getFocusFocusingEnumEnumRuleCall_6_0() { return cFocusFocusingEnumEnumRuleCall_6_0; }
+
+ //("keyStrokeDefinition" "{" "keyCode=" keyCode=ID ("modifierKeys" "{" modifierKeys+=ID* "}")? "}")?
+ public Group getGroup_7() { return cGroup_7; }
+
+ //"keyStrokeDefinition"
+ public Keyword getKeyStrokeDefinitionKeyword_7_0() { return cKeyStrokeDefinitionKeyword_7_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
+
+ //"keyCode="
+ public Keyword getKeyCodeKeyword_7_2() { return cKeyCodeKeyword_7_2; }
+
+ //keyCode=ID
+ public Assignment getKeyCodeAssignment_7_3() { return cKeyCodeAssignment_7_3; }
+
+ //ID
+ public RuleCall getKeyCodeIDTerminalRuleCall_7_3_0() { return cKeyCodeIDTerminalRuleCall_7_3_0; }
+
+ //("modifierKeys" "{" modifierKeys+=ID* "}")?
+ public Group getGroup_7_4() { return cGroup_7_4; }
+
+ //"modifierKeys"
+ public Keyword getModifierKeysKeyword_7_4_0() { return cModifierKeysKeyword_7_4_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_7_4_1() { return cLeftCurlyBracketKeyword_7_4_1; }
+
+ //modifierKeys+=ID*
+ public Assignment getModifierKeysAssignment_7_4_2() { return cModifierKeysAssignment_7_4_2; }
+
+ //ID
+ public RuleCall getModifierKeysIDTerminalRuleCall_7_4_2_0() { return cModifierKeysIDTerminalRuleCall_7_4_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_7_4_3() { return cRightCurlyBracketKeyword_7_4_3; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_7_5() { return cRightCurlyBracketKeyword_7_5; }
+ }
+
+ public class FocusingEnhancerElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FocusingEnhancer");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cFocusingEnhancerAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cFocusingEnhancerKeyword_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 Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cFocusingStrategiesAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final CrossReference cFocusingStrategiesFocusingStrategyCrossReference_4_0 = (CrossReference)cFocusingStrategiesAssignment_4.eContents().get(0);
+ private final RuleCall cFocusingStrategiesFocusingStrategyIDTerminalRuleCall_4_0_1 = (RuleCall)cFocusingStrategiesFocusingStrategyCrossReference_4_0.eContents().get(1);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //FocusingEnhancer:
+ // {FocusingEnhancer} "focusingEnhancer" name=ID "{" focusingStrategies+=[FocusingStrategy]+ "}";
+ public ParserRule getRule() { return rule; }
+
+ //{FocusingEnhancer} "focusingEnhancer" name=ID "{" focusingStrategies+=[FocusingStrategy]+ "}"
+ public Group getGroup() { return cGroup; }
+
+ //{FocusingEnhancer}
+ public Action getFocusingEnhancerAction_0() { return cFocusingEnhancerAction_0; }
+
+ //"focusingEnhancer"
+ public Keyword getFocusingEnhancerKeyword_1() { return cFocusingEnhancerKeyword_1; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+
+ //focusingStrategies+=[FocusingStrategy]+
+ public Assignment getFocusingStrategiesAssignment_4() { return cFocusingStrategiesAssignment_4; }
+
+ //[FocusingStrategy]
+ public CrossReference getFocusingStrategiesFocusingStrategyCrossReference_4_0() { return cFocusingStrategiesFocusingStrategyCrossReference_4_0; }
+
+ //ID
+ public RuleCall getFocusingStrategiesFocusingStrategyIDTerminalRuleCall_4_0_1() { return cFocusingStrategiesFocusingStrategyIDTerminalRuleCall_4_0_1; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+ }
+
+ public class StrategyDefaultElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StrategyDefault");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cStrategyDefaultAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cDefaultKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Keyword cDefaultLayoutingKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cDefaultLayoutingAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final CrossReference cDefaultLayoutingLayoutingStrategyCrossReference_4_0 = (CrossReference)cDefaultLayoutingAssignment_4.eContents().get(0);
+ private final RuleCall cDefaultLayoutingLayoutingStrategyIDTerminalRuleCall_4_0_1 = (RuleCall)cDefaultLayoutingLayoutingStrategyCrossReference_4_0.eContents().get(1);
+ private final Keyword cDefaultFocusingKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Assignment cDefaultFocusingAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final CrossReference cDefaultFocusingFocusingEnhancerCrossReference_6_0 = (CrossReference)cDefaultFocusingAssignment_6.eContents().get(0);
+ private final RuleCall cDefaultFocusingFocusingEnhancerIDTerminalRuleCall_6_0_1 = (RuleCall)cDefaultFocusingFocusingEnhancerCrossReference_6_0.eContents().get(1);
+ private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+
+ //StrategyDefault:
+ // {StrategyDefault} "default" "{" "defaultLayouting=" defaultLayouting=[LayoutingStrategy] "defaultFocusing="
+ // defaultFocusing=[FocusingEnhancer] "}";
+ public ParserRule getRule() { return rule; }
+
+ //{StrategyDefault} "default" "{" "defaultLayouting=" defaultLayouting=[LayoutingStrategy] "defaultFocusing="
+ //defaultFocusing=[FocusingEnhancer] "}"
+ public Group getGroup() { return cGroup; }
+
+ //{StrategyDefault}
+ public Action getStrategyDefaultAction_0() { return cStrategyDefaultAction_0; }
+
+ //"default"
+ public Keyword getDefaultKeyword_1() { return cDefaultKeyword_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //"defaultLayouting="
+ public Keyword getDefaultLayoutingKeyword_3() { return cDefaultLayoutingKeyword_3; }
+
+ //defaultLayouting=[LayoutingStrategy]
+ public Assignment getDefaultLayoutingAssignment_4() { return cDefaultLayoutingAssignment_4; }
+
+ //[LayoutingStrategy]
+ public CrossReference getDefaultLayoutingLayoutingStrategyCrossReference_4_0() { return cDefaultLayoutingLayoutingStrategyCrossReference_4_0; }
+
+ //ID
+ public RuleCall getDefaultLayoutingLayoutingStrategyIDTerminalRuleCall_4_0_1() { return cDefaultLayoutingLayoutingStrategyIDTerminalRuleCall_4_0_1; }
+
+ //"defaultFocusing="
+ public Keyword getDefaultFocusingKeyword_5() { return cDefaultFocusingKeyword_5; }
+
+ //defaultFocusing=[FocusingEnhancer]
+ public Assignment getDefaultFocusingAssignment_6() { return cDefaultFocusingAssignment_6; }
+
+ //[FocusingEnhancer]
+ public CrossReference getDefaultFocusingFocusingEnhancerCrossReference_6_0() { return cDefaultFocusingFocusingEnhancerCrossReference_6_0; }
+
+ //ID
+ public RuleCall getDefaultFocusingFocusingEnhancerIDTerminalRuleCall_6_0_1() { return cDefaultFocusingFocusingEnhancerIDTerminalRuleCall_6_0_1; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+ }
+
+
+ public class LayoutingEnumElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "LayoutingEnum");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cHORIZONTALEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cHORIZONTALHorizontalKeyword_0_0 = (Keyword)cHORIZONTALEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cVERTICALEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cVERTICALVerticalKeyword_1_0 = (Keyword)cVERTICALEnumLiteralDeclaration_1.eContents().get(0);
+ private final EnumLiteralDeclaration cGRIDEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+ private final Keyword cGRIDGridKeyword_2_0 = (Keyword)cGRIDEnumLiteralDeclaration_2.eContents().get(0);
+ private final EnumLiteralDeclaration cFORM2EnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
+ private final Keyword cFORM2Form2Keyword_3_0 = (Keyword)cFORM2EnumLiteralDeclaration_3.eContents().get(0);
+ private final EnumLiteralDeclaration cFORM3EnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
+ private final Keyword cFORM3Form3Keyword_4_0 = (Keyword)cFORM3EnumLiteralDeclaration_4.eContents().get(0);
+ private final EnumLiteralDeclaration cCSSEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
+ private final Keyword cCSSCssKeyword_5_0 = (Keyword)cCSSEnumLiteralDeclaration_5.eContents().get(0);
+
+ //enum LayoutingEnum:
+ // HORIZONTAL="Horizontal" | VERTICAL="Vertical" | GRID="Grid" | FORM2="Form2" | FORM3="Form3" | CSS="Css";
+ public EnumRule getRule() { return rule; }
+
+ //HORIZONTAL="Horizontal" | VERTICAL="Vertical" | GRID="Grid" | FORM2="Form2" | FORM3="Form3" | CSS="Css"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //HORIZONTAL="Horizontal"
+ public EnumLiteralDeclaration getHORIZONTALEnumLiteralDeclaration_0() { return cHORIZONTALEnumLiteralDeclaration_0; }
+
+ //"Horizontal"
+ public Keyword getHORIZONTALHorizontalKeyword_0_0() { return cHORIZONTALHorizontalKeyword_0_0; }
+
+ //VERTICAL="Vertical"
+ public EnumLiteralDeclaration getVERTICALEnumLiteralDeclaration_1() { return cVERTICALEnumLiteralDeclaration_1; }
+
+ //"Vertical"
+ public Keyword getVERTICALVerticalKeyword_1_0() { return cVERTICALVerticalKeyword_1_0; }
+
+ //GRID="Grid"
+ public EnumLiteralDeclaration getGRIDEnumLiteralDeclaration_2() { return cGRIDEnumLiteralDeclaration_2; }
+
+ //"Grid"
+ public Keyword getGRIDGridKeyword_2_0() { return cGRIDGridKeyword_2_0; }
+
+ //FORM2="Form2"
+ public EnumLiteralDeclaration getFORM2EnumLiteralDeclaration_3() { return cFORM2EnumLiteralDeclaration_3; }
+
+ //"Form2"
+ public Keyword getFORM2Form2Keyword_3_0() { return cFORM2Form2Keyword_3_0; }
+
+ //FORM3="Form3"
+ public EnumLiteralDeclaration getFORM3EnumLiteralDeclaration_4() { return cFORM3EnumLiteralDeclaration_4; }
+
+ //"Form3"
+ public Keyword getFORM3Form3Keyword_4_0() { return cFORM3Form3Keyword_4_0; }
+
+ //CSS="Css"
+ public EnumLiteralDeclaration getCSSEnumLiteralDeclaration_5() { return cCSSEnumLiteralDeclaration_5; }
+
+ //"Css"
+ public Keyword getCSSCssKeyword_5_0() { return cCSSCssKeyword_5_0; }
+ }
+
+ public class FocusingEnumElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "FocusingEnum");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cFORWARDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cFORWARDForwardKeyword_0_0 = (Keyword)cFORWARDEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cBACKWARDEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cBACKWARDBackwardKeyword_1_0 = (Keyword)cBACKWARDEnumLiteralDeclaration_1.eContents().get(0);
+
+ //enum FocusingEnum:
+ // FORWARD="Forward" | BACKWARD="Backward";
+ public EnumRule getRule() { return rule; }
+
+ //FORWARD="Forward" | BACKWARD="Backward"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //FORWARD="Forward"
+ public EnumLiteralDeclaration getFORWARDEnumLiteralDeclaration_0() { return cFORWARDEnumLiteralDeclaration_0; }
+
+ //"Forward"
+ public Keyword getFORWARDForwardKeyword_0_0() { return cFORWARDForwardKeyword_0_0; }
+
+ //BACKWARD="Backward"
+ public EnumLiteralDeclaration getBACKWARDEnumLiteralDeclaration_1() { return cBACKWARDEnumLiteralDeclaration_1; }
+
+ //"Backward"
+ public Keyword getBACKWARDBackwardKeyword_1_0() { return cBACKWARDBackwardKeyword_1_0; }
+ }
+
+ private final StrategyModelElements pStrategyModel;
+ private final StrategyPackageElements pStrategyPackage;
+ private final StrategyImportElements pStrategyImport;
+ private final StrategyQualifiedNameWithWildCardElements pStrategyQualifiedNameWithWildCard;
+ private final StrategyElements pStrategy;
+ private final StrategyTargetElements pStrategyTarget;
+ private final LayoutingStrategyElements pLayoutingStrategy;
+ private final FocusingStrategyElements pFocusingStrategy;
+ private final FocusingEnhancerElements pFocusingEnhancer;
+ private final StrategyDefaultElements pStrategyDefault;
+ private final LayoutingEnumElements unknownRuleLayoutingEnum;
+ private final FocusingEnumElements unknownRuleFocusingEnum;
+
+ private final Grammar grammar;
+
+ private final XbaseWithAnnotationsGrammarAccess gaXbaseWithAnnotations;
+
+ @Inject
+ public StrategyDSLGrammarAccess(GrammarProvider grammarProvider,
+ XbaseWithAnnotationsGrammarAccess gaXbaseWithAnnotations) {
+ this.grammar = internalFindGrammar(grammarProvider);
+ this.gaXbaseWithAnnotations = gaXbaseWithAnnotations;
+ this.pStrategyModel = new StrategyModelElements();
+ this.pStrategyPackage = new StrategyPackageElements();
+ this.pStrategyImport = new StrategyImportElements();
+ this.pStrategyQualifiedNameWithWildCard = new StrategyQualifiedNameWithWildCardElements();
+ this.pStrategy = new StrategyElements();
+ this.pStrategyTarget = new StrategyTargetElements();
+ this.pLayoutingStrategy = new LayoutingStrategyElements();
+ this.pFocusingStrategy = new FocusingStrategyElements();
+ this.pFocusingEnhancer = new FocusingEnhancerElements();
+ this.pStrategyDefault = new StrategyDefaultElements();
+ this.unknownRuleLayoutingEnum = new LayoutingEnumElements();
+ this.unknownRuleFocusingEnum = new FocusingEnumElements();
+ }
+
+ protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
+ Grammar grammar = grammarProvider.getGrammar(this);
+ while (grammar != null) {
+ if ("org.eclipse.osbp.xtext.strategy.StrategyDSL".equals(grammar.getName())) {
+ return grammar;
+ }
+ List<Grammar> grammars = grammar.getUsedGrammars();
+ if (!grammars.isEmpty()) {
+ grammar = grammars.iterator().next();
+ } else {
+ return null;
+ }
+ }
+ return grammar;
+ }
+
+
+ public Grammar getGrammar() {
+ return grammar;
+ }
+
+
+ public XbaseWithAnnotationsGrammarAccess getXbaseWithAnnotationsGrammarAccess() {
+ return gaXbaseWithAnnotations;
+ }
+
+
+ //StrategyModel:
+ // packages+=StrategyPackage*;
+ public StrategyModelElements getStrategyModelAccess() {
+ return pStrategyModel;
+ }
+
+ public ParserRule getStrategyModelRule() {
+ return getStrategyModelAccess().getRule();
+ }
+
+ //StrategyPackage:
+ // {StrategyPackage} "package" name=QualifiedName ("{" imports+=StrategyImport* strategy=Strategy "}")?;
+ public StrategyPackageElements getStrategyPackageAccess() {
+ return pStrategyPackage;
+ }
+
+ public ParserRule getStrategyPackageRule() {
+ return getStrategyPackageAccess().getRule();
+ }
+
+ //StrategyImport returns types::LImport:
+ // "import" importedNamespace=StrategyQualifiedNameWithWildCard;
+ public StrategyImportElements getStrategyImportAccess() {
+ return pStrategyImport;
+ }
+
+ public ParserRule getStrategyImportRule() {
+ return getStrategyImportAccess().getRule();
+ }
+
+ //StrategyQualifiedNameWithWildCard:
+ // QualifiedName ("." "*")?;
+ public StrategyQualifiedNameWithWildCardElements getStrategyQualifiedNameWithWildCardAccess() {
+ return pStrategyQualifiedNameWithWildCard;
+ }
+
+ public ParserRule getStrategyQualifiedNameWithWildCardRule() {
+ return getStrategyQualifiedNameWithWildCardAccess().getRule();
+ }
+
+ //Strategy:
+ // {Strategy} "strategy" "{" targets=StrategyTarget strategyDefault=StrategyDefault "}";
+ public StrategyElements getStrategyAccess() {
+ return pStrategy;
+ }
+
+ public ParserRule getStrategyRule() {
+ return getStrategyAccess().getRule();
+ }
+
+ //StrategyTarget:
+ // {StrategyTarget} "targets" ("{" layoutingStrategies+=LayoutingStrategy* focusingStrategies+=FocusingStrategy*
+ // focusingEnhancer+=FocusingEnhancer* "}")?;
+ public StrategyTargetElements getStrategyTargetAccess() {
+ return pStrategyTarget;
+ }
+
+ public ParserRule getStrategyTargetRule() {
+ return getStrategyTargetAccess().getRule();
+ }
+
+ //LayoutingStrategy:
+ // {LayoutingStrategy} "layoutingStrategy" name=ID "layout=" layout=LayoutingEnum;
+ public LayoutingStrategyElements getLayoutingStrategyAccess() {
+ return pLayoutingStrategy;
+ }
+
+ public ParserRule getLayoutingStrategyRule() {
+ return getLayoutingStrategyAccess().getRule();
+ }
+
+ //FocusingStrategy:
+ // {FocusingStrategy} "focusingStrategy" name=ID "ecviewFocusingId=" ecviewFocusingId=ID "focus=" focus=FocusingEnum
+ // ("keyStrokeDefinition" "{" "keyCode=" keyCode=ID ("modifierKeys" "{" modifierKeys+=ID* "}")? "}")?;
+ public FocusingStrategyElements getFocusingStrategyAccess() {
+ return pFocusingStrategy;
+ }
+
+ public ParserRule getFocusingStrategyRule() {
+ return getFocusingStrategyAccess().getRule();
+ }
+
+ //FocusingEnhancer:
+ // {FocusingEnhancer} "focusingEnhancer" name=ID "{" focusingStrategies+=[FocusingStrategy]+ "}";
+ public FocusingEnhancerElements getFocusingEnhancerAccess() {
+ return pFocusingEnhancer;
+ }
+
+ public ParserRule getFocusingEnhancerRule() {
+ return getFocusingEnhancerAccess().getRule();
+ }
+
+ //StrategyDefault:
+ // {StrategyDefault} "default" "{" "defaultLayouting=" defaultLayouting=[LayoutingStrategy] "defaultFocusing="
+ // defaultFocusing=[FocusingEnhancer] "}";
+ public StrategyDefaultElements getStrategyDefaultAccess() {
+ return pStrategyDefault;
+ }
+
+ public ParserRule getStrategyDefaultRule() {
+ return getStrategyDefaultAccess().getRule();
+ }
+
+ //enum LayoutingEnum:
+ // HORIZONTAL="Horizontal" | VERTICAL="Vertical" | GRID="Grid" | FORM2="Form2" | FORM3="Form3" | CSS="Css";
+ public LayoutingEnumElements getLayoutingEnumAccess() {
+ return unknownRuleLayoutingEnum;
+ }
+
+ public EnumRule getLayoutingEnumRule() {
+ return getLayoutingEnumAccess().getRule();
+ }
+
+ //enum FocusingEnum:
+ // FORWARD="Forward" | BACKWARD="Backward";
+ public FocusingEnumElements getFocusingEnumAccess() {
+ return unknownRuleFocusingEnum;
+ }
+
+ public EnumRule getFocusingEnumRule() {
+ return getFocusingEnumAccess().getRule();
+ }
+
+ //XAnnotation:
+ // {XAnnotation} "@" annotationType=[types::JvmAnnotationType|QualifiedName] ("("
+ // (elementValuePairs+=XAnnotationElementValuePair ("," elementValuePairs+=XAnnotationElementValuePair)* |
+ // value=XAnnotationElementValueOrCommaList)? ")")?;
+ public XbaseWithAnnotationsGrammarAccess.XAnnotationElements getXAnnotationAccess() {
+ return gaXbaseWithAnnotations.getXAnnotationAccess();
+ }
+
+ public ParserRule getXAnnotationRule() {
+ return getXAnnotationAccess().getRule();
+ }
+
+ //XAnnotationElementValuePair:
+ // => (element=[types::JvmOperation|ValidID] "=") value=XAnnotationElementValue;
+ public XbaseWithAnnotationsGrammarAccess.XAnnotationElementValuePairElements getXAnnotationElementValuePairAccess() {
+ return gaXbaseWithAnnotations.getXAnnotationElementValuePairAccess();
+ }
+
+ public ParserRule getXAnnotationElementValuePairRule() {
+ return getXAnnotationElementValuePairAccess().getRule();
+ }
+
+ //XAnnotationElementValueOrCommaList returns xbase::XExpression:
+ // => ({xbase::XListLiteral} "#" "[") (elements+=XAnnotationOrExpression ("," elements+=XAnnotationOrExpression)*)? "]"
+ // | XAnnotationOrExpression ({xbase::XListLiteral.elements+=current} ("," elements+=XAnnotationOrExpression)+)?;
+ public XbaseWithAnnotationsGrammarAccess.XAnnotationElementValueOrCommaListElements getXAnnotationElementValueOrCommaListAccess() {
+ return gaXbaseWithAnnotations.getXAnnotationElementValueOrCommaListAccess();
+ }
+
+ public ParserRule getXAnnotationElementValueOrCommaListRule() {
+ return getXAnnotationElementValueOrCommaListAccess().getRule();
+ }
+
+ //XAnnotationElementValue returns xbase::XExpression:
+ // => ({xbase::XListLiteral} "#" "[") (elements+=XAnnotationOrExpression ("," elements+=XAnnotationOrExpression)*)? "]"
+ // | XAnnotationOrExpression;
+ public XbaseWithAnnotationsGrammarAccess.XAnnotationElementValueElements getXAnnotationElementValueAccess() {
+ return gaXbaseWithAnnotations.getXAnnotationElementValueAccess();
+ }
+
+ public ParserRule getXAnnotationElementValueRule() {
+ return getXAnnotationElementValueAccess().getRule();
+ }
+
+ //XAnnotationOrExpression returns xbase::XExpression:
+ // XAnnotation | XExpression;
+ public XbaseWithAnnotationsGrammarAccess.XAnnotationOrExpressionElements getXAnnotationOrExpressionAccess() {
+ return gaXbaseWithAnnotations.getXAnnotationOrExpressionAccess();
+ }
+
+ public ParserRule getXAnnotationOrExpressionRule() {
+ return getXAnnotationOrExpressionAccess().getRule();
+ }
+
+ //XExpression:
+ // XAssignment;
+ public XbaseGrammarAccess.XExpressionElements getXExpressionAccess() {
+ return gaXbaseWithAnnotations.getXExpressionAccess();
+ }
+
+ public ParserRule getXExpressionRule() {
+ return getXExpressionAccess().getRule();
+ }
+
+ //XAssignment returns XExpression:
+ // {XAssignment} feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign value=XAssignment | XOrExpression
+ // (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign])
+ // rightOperand=XAssignment)?;
+ public XbaseGrammarAccess.XAssignmentElements getXAssignmentAccess() {
+ return gaXbaseWithAnnotations.getXAssignmentAccess();
+ }
+
+ public ParserRule getXAssignmentRule() {
+ return getXAssignmentAccess().getRule();
+ }
+
+ //OpSingleAssign:
+ // "=";
+ public XbaseGrammarAccess.OpSingleAssignElements getOpSingleAssignAccess() {
+ return gaXbaseWithAnnotations.getOpSingleAssignAccess();
+ }
+
+ public ParserRule getOpSingleAssignRule() {
+ return getOpSingleAssignAccess().getRule();
+ }
+
+ //OpMultiAssign:
+ // "+=" | "-=" | "*=" | "/=" | "%=" | "<" "<" "=" | ">" ">"? ">=";
+ public XbaseGrammarAccess.OpMultiAssignElements getOpMultiAssignAccess() {
+ return gaXbaseWithAnnotations.getOpMultiAssignAccess();
+ }
+
+ public ParserRule getOpMultiAssignRule() {
+ return getOpMultiAssignAccess().getRule();
+ }
+
+ //XOrExpression returns XExpression:
+ // XAndExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr])
+ // rightOperand=XAndExpression)*;
+ public XbaseGrammarAccess.XOrExpressionElements getXOrExpressionAccess() {
+ return gaXbaseWithAnnotations.getXOrExpressionAccess();
+ }
+
+ public ParserRule getXOrExpressionRule() {
+ return getXOrExpressionAccess().getRule();
+ }
+
+ //OpOr:
+ // "||";
+ public XbaseGrammarAccess.OpOrElements getOpOrAccess() {
+ return gaXbaseWithAnnotations.getOpOrAccess();
+ }
+
+ public ParserRule getOpOrRule() {
+ return getOpOrAccess().getRule();
+ }
+
+ //XAndExpression returns XExpression:
+ // XEqualityExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd])
+ // rightOperand=XEqualityExpression)*;
+ public XbaseGrammarAccess.XAndExpressionElements getXAndExpressionAccess() {
+ return gaXbaseWithAnnotations.getXAndExpressionAccess();
+ }
+
+ public ParserRule getXAndExpressionRule() {
+ return getXAndExpressionAccess().getRule();
+ }
+
+ //OpAnd:
+ // "&&";
+ public XbaseGrammarAccess.OpAndElements getOpAndAccess() {
+ return gaXbaseWithAnnotations.getOpAndAccess();
+ }
+
+ public ParserRule getOpAndRule() {
+ return getOpAndAccess().getRule();
+ }
+
+ //XEqualityExpression returns XExpression:
+ // XRelationalExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality])
+ // rightOperand=XRelationalExpression)*;
+ public XbaseGrammarAccess.XEqualityExpressionElements getXEqualityExpressionAccess() {
+ return gaXbaseWithAnnotations.getXEqualityExpressionAccess();
+ }
+
+ public ParserRule getXEqualityExpressionRule() {
+ return getXEqualityExpressionAccess().getRule();
+ }
+
+ //OpEquality:
+ // "==" | "!=" | "===" | "!==";
+ public XbaseGrammarAccess.OpEqualityElements getOpEqualityAccess() {
+ return gaXbaseWithAnnotations.getOpEqualityAccess();
+ }
+
+ public ParserRule getOpEqualityRule() {
+ return getOpEqualityAccess().getRule();
+ }
+
+ //XRelationalExpression returns XExpression:
+ // XOtherOperatorExpression (=> ({XInstanceOfExpression.expression=current} "instanceof") type=JvmTypeReference | =>
+ // ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare])
+ // rightOperand=XOtherOperatorExpression)*;
+ public XbaseGrammarAccess.XRelationalExpressionElements getXRelationalExpressionAccess() {
+ return gaXbaseWithAnnotations.getXRelationalExpressionAccess();
+ }
+
+ public ParserRule getXRelationalExpressionRule() {
+ return getXRelationalExpressionAccess().getRule();
+ }
+
+ //OpCompare:
+ // ">=" | "<" "=" | ">" | "<";
+ public XbaseGrammarAccess.OpCompareElements getOpCompareAccess() {
+ return gaXbaseWithAnnotations.getOpCompareAccess();
+ }
+
+ public ParserRule getOpCompareRule() {
+ return getOpCompareAccess().getRule();
+ }
+
+ //XOtherOperatorExpression returns XExpression:
+ // XAdditiveExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther])
+ // rightOperand=XAdditiveExpression)*;
+ public XbaseGrammarAccess.XOtherOperatorExpressionElements getXOtherOperatorExpressionAccess() {
+ return gaXbaseWithAnnotations.getXOtherOperatorExpressionAccess();
+ }
+
+ public ParserRule getXOtherOperatorExpressionRule() {
+ return getXOtherOperatorExpressionAccess().getRule();
+ }
+
+ //OpOther:
+ // "->" | "..<" | ">" ".." | ".." | "=>" | ">" (=> (">" ">") | ">") | "<" (=> ("<" "<") | "<" | "=>") | "<>" | "?:";
+ public XbaseGrammarAccess.OpOtherElements getOpOtherAccess() {
+ return gaXbaseWithAnnotations.getOpOtherAccess();
+ }
+
+ public ParserRule getOpOtherRule() {
+ return getOpOtherAccess().getRule();
+ }
+
+ //XAdditiveExpression returns XExpression:
+ // XMultiplicativeExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd])
+ // rightOperand=XMultiplicativeExpression)*;
+ public XbaseGrammarAccess.XAdditiveExpressionElements getXAdditiveExpressionAccess() {
+ return gaXbaseWithAnnotations.getXAdditiveExpressionAccess();
+ }
+
+ public ParserRule getXAdditiveExpressionRule() {
+ return getXAdditiveExpressionAccess().getRule();
+ }
+
+ //OpAdd:
+ // "+" | "-";
+ public XbaseGrammarAccess.OpAddElements getOpAddAccess() {
+ return gaXbaseWithAnnotations.getOpAddAccess();
+ }
+
+ public ParserRule getOpAddRule() {
+ return getOpAddAccess().getRule();
+ }
+
+ //XMultiplicativeExpression returns XExpression:
+ // XUnaryOperation (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti])
+ // rightOperand=XUnaryOperation)*;
+ public XbaseGrammarAccess.XMultiplicativeExpressionElements getXMultiplicativeExpressionAccess() {
+ return gaXbaseWithAnnotations.getXMultiplicativeExpressionAccess();
+ }
+
+ public ParserRule getXMultiplicativeExpressionRule() {
+ return getXMultiplicativeExpressionAccess().getRule();
+ }
+
+ //OpMulti:
+ // "*" | "**" | "/" | "%";
+ public XbaseGrammarAccess.OpMultiElements getOpMultiAccess() {
+ return gaXbaseWithAnnotations.getOpMultiAccess();
+ }
+
+ public ParserRule getOpMultiRule() {
+ return getOpMultiAccess().getRule();
+ }
+
+ //XUnaryOperation returns XExpression:
+ // {XUnaryOperation} feature=[types::JvmIdentifiableElement|OpUnary] operand=XUnaryOperation | XCastedExpression;
+ public XbaseGrammarAccess.XUnaryOperationElements getXUnaryOperationAccess() {
+ return gaXbaseWithAnnotations.getXUnaryOperationAccess();
+ }
+
+ public ParserRule getXUnaryOperationRule() {
+ return getXUnaryOperationAccess().getRule();
+ }
+
+ //OpUnary:
+ // "!" | "-" | "+";
+ public XbaseGrammarAccess.OpUnaryElements getOpUnaryAccess() {
+ return gaXbaseWithAnnotations.getOpUnaryAccess();
+ }
+
+ public ParserRule getOpUnaryRule() {
+ return getOpUnaryAccess().getRule();
+ }
+
+ //XCastedExpression returns XExpression:
+ // XPostfixOperation (=> ({XCastedExpression.target=current} "as") type=JvmTypeReference)*;
+ public XbaseGrammarAccess.XCastedExpressionElements getXCastedExpressionAccess() {
+ return gaXbaseWithAnnotations.getXCastedExpressionAccess();
+ }
+
+ public ParserRule getXCastedExpressionRule() {
+ return getXCastedExpressionAccess().getRule();
+ }
+
+ //XPostfixOperation returns XExpression:
+ // XMemberFeatureCall => ({XPostfixOperation.operand=current} feature=[types::JvmIdentifiableElement|OpPostfix])?;
+ public XbaseGrammarAccess.XPostfixOperationElements getXPostfixOperationAccess() {
+ return gaXbaseWithAnnotations.getXPostfixOperationAccess();
+ }
+
+ public ParserRule getXPostfixOperationRule() {
+ return getXPostfixOperationAccess().getRule();
+ }
+
+ //OpPostfix:
+ // "++" | "--";
+ public XbaseGrammarAccess.OpPostfixElements getOpPostfixAccess() {
+ return gaXbaseWithAnnotations.getOpPostfixAccess();
+ }
+
+ public ParserRule getOpPostfixRule() {
+ return getOpPostfixAccess().getRule();
+ }
+
+ //XMemberFeatureCall returns XExpression:
+ // XPrimaryExpression (=> ({XAssignment.assignable=current} ("." | explicitStatic?="::")
+ // feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign) value=XAssignment | =>
+ // ({XMemberFeatureCall.memberCallTarget=current} ("." | nullSafe?="?." | explicitStatic?="::")) ("<"
+ // typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")?
+ // feature=[types::JvmIdentifiableElement|IdOrSuper] (=> explicitOperationCall?="(" (memberCallArguments+=XShortClosure
+ // | memberCallArguments+=XExpression ("," memberCallArguments+=XExpression)*)? ")")? memberCallArguments+=XClosure?)*;
+ public XbaseGrammarAccess.XMemberFeatureCallElements getXMemberFeatureCallAccess() {
+ return gaXbaseWithAnnotations.getXMemberFeatureCallAccess();
+ }
+
+ public ParserRule getXMemberFeatureCallRule() {
+ return getXMemberFeatureCallAccess().getRule();
+ }
+
+ //XPrimaryExpression returns XExpression:
+ // XConstructorCall | XBlockExpression | XSwitchExpression | XSynchronizedExpression | XFeatureCall | XLiteral |
+ // XIfExpression | XForLoopExpression | XBasicForLoopExpression | XWhileExpression | XDoWhileExpression |
+ // XThrowExpression | XReturnExpression | XTryCatchFinallyExpression | XParenthesizedExpression;
+ public XbaseGrammarAccess.XPrimaryExpressionElements getXPrimaryExpressionAccess() {
+ return gaXbaseWithAnnotations.getXPrimaryExpressionAccess();
+ }
+
+ public ParserRule getXPrimaryExpressionRule() {
+ return getXPrimaryExpressionAccess().getRule();
+ }
+
+ //XLiteral returns XExpression:
+ // XCollectionLiteral | XClosure | XBooleanLiteral | XNumberLiteral | XNullLiteral | XStringLiteral | XTypeLiteral;
+ public XbaseGrammarAccess.XLiteralElements getXLiteralAccess() {
+ return gaXbaseWithAnnotations.getXLiteralAccess();
+ }
+
+ public ParserRule getXLiteralRule() {
+ return getXLiteralAccess().getRule();
+ }
+
+ //XCollectionLiteral:
+ // XSetLiteral | XListLiteral;
+ public XbaseGrammarAccess.XCollectionLiteralElements getXCollectionLiteralAccess() {
+ return gaXbaseWithAnnotations.getXCollectionLiteralAccess();
+ }
+
+ public ParserRule getXCollectionLiteralRule() {
+ return getXCollectionLiteralAccess().getRule();
+ }
+
+ //XSetLiteral:
+ // {XSetLiteral} "#" "{" (elements+=XExpression ("," elements+=XExpression)*)? "}";
+ public XbaseGrammarAccess.XSetLiteralElements getXSetLiteralAccess() {
+ return gaXbaseWithAnnotations.getXSetLiteralAccess();
+ }
+
+ public ParserRule getXSetLiteralRule() {
+ return getXSetLiteralAccess().getRule();
+ }
+
+ //XListLiteral:
+ // {XListLiteral} "#" "[" (elements+=XExpression ("," elements+=XExpression)*)? "]";
+ public XbaseGrammarAccess.XListLiteralElements getXListLiteralAccess() {
+ return gaXbaseWithAnnotations.getXListLiteralAccess();
+ }
+
+ public ParserRule getXListLiteralRule() {
+ return getXListLiteralAccess().getRule();
+ }
+
+ //XClosure returns XExpression:
+ // => ({XClosure} "[") => ((declaredFormalParameters+=JvmFormalParameter (","
+ // declaredFormalParameters+=JvmFormalParameter)*)? explicitSyntax?="|")? expression=XExpressionInClosure "]";
+ public XbaseGrammarAccess.XClosureElements getXClosureAccess() {
+ return gaXbaseWithAnnotations.getXClosureAccess();
+ }
+
+ public ParserRule getXClosureRule() {
+ return getXClosureAccess().getRule();
+ }
+
+ //XExpressionInClosure returns XExpression:
+ // {XBlockExpression} (expressions+=XExpressionOrVarDeclaration ";"?)*;
+ public XbaseGrammarAccess.XExpressionInClosureElements getXExpressionInClosureAccess() {
+ return gaXbaseWithAnnotations.getXExpressionInClosureAccess();
+ }
+
+ public ParserRule getXExpressionInClosureRule() {
+ return getXExpressionInClosureAccess().getRule();
+ }
+
+ //XShortClosure returns XExpression:
+ // => ({XClosure} (declaredFormalParameters+=JvmFormalParameter ("," declaredFormalParameters+=JvmFormalParameter)*)?
+ // explicitSyntax?="|") expression=XExpression;
+ public XbaseGrammarAccess.XShortClosureElements getXShortClosureAccess() {
+ return gaXbaseWithAnnotations.getXShortClosureAccess();
+ }
+
+ public ParserRule getXShortClosureRule() {
+ return getXShortClosureAccess().getRule();
+ }
+
+ //XParenthesizedExpression returns XExpression:
+ // "(" XExpression ")";
+ public XbaseGrammarAccess.XParenthesizedExpressionElements getXParenthesizedExpressionAccess() {
+ return gaXbaseWithAnnotations.getXParenthesizedExpressionAccess();
+ }
+
+ public ParserRule getXParenthesizedExpressionRule() {
+ return getXParenthesizedExpressionAccess().getRule();
+ }
+
+ //XIfExpression returns XExpression:
+ // {XIfExpression} "if" "(" if=XExpression ")" then=XExpression ("else" else=XExpression)?;
+ public XbaseGrammarAccess.XIfExpressionElements getXIfExpressionAccess() {
+ return gaXbaseWithAnnotations.getXIfExpressionAccess();
+ }
+
+ public ParserRule getXIfExpressionRule() {
+ return getXIfExpressionAccess().getRule();
+ }
+
+ //XSwitchExpression returns XExpression:
+ // {XSwitchExpression} "switch" (=> ("(" declaredParam=JvmFormalParameter ":") switch=XExpression ")" | =>
+ // (declaredParam=JvmFormalParameter ":")? switch=XExpression) "{" cases+=XCasePart* ("default" ":"
+ // default=XExpression)? "}";
+ public XbaseGrammarAccess.XSwitchExpressionElements getXSwitchExpressionAccess() {
+ return gaXbaseWithAnnotations.getXSwitchExpressionAccess();
+ }
+
+ public ParserRule getXSwitchExpressionRule() {
+ return getXSwitchExpressionAccess().getRule();
+ }
+
+ //XCasePart:
+ // {XCasePart} typeGuard=JvmTypeReference? ("case" case=XExpression)? (":" then=XExpression | fallThrough?=",");
+ public XbaseGrammarAccess.XCasePartElements getXCasePartAccess() {
+ return gaXbaseWithAnnotations.getXCasePartAccess();
+ }
+
+ public ParserRule getXCasePartRule() {
+ return getXCasePartAccess().getRule();
+ }
+
+ //XForLoopExpression returns XExpression:
+ // => ({XForLoopExpression} "for" "(" declaredParam=JvmFormalParameter ":") forExpression=XExpression ")"
+ // eachExpression=XExpression;
+ public XbaseGrammarAccess.XForLoopExpressionElements getXForLoopExpressionAccess() {
+ return gaXbaseWithAnnotations.getXForLoopExpressionAccess();
+ }
+
+ public ParserRule getXForLoopExpressionRule() {
+ return getXForLoopExpressionAccess().getRule();
+ }
+
+ //XBasicForLoopExpression returns XExpression:
+ // {XBasicForLoopExpression} "for" "(" (initExpressions+=XExpressionOrVarDeclaration (","
+ // initExpressions+=XExpressionOrVarDeclaration)*)? ";" expression=XExpression? ";" (updateExpressions+=XExpression (","
+ // updateExpressions+=XExpression)*)? ")" eachExpression=XExpression;
+ public XbaseGrammarAccess.XBasicForLoopExpressionElements getXBasicForLoopExpressionAccess() {
+ return gaXbaseWithAnnotations.getXBasicForLoopExpressionAccess();
+ }
+
+ public ParserRule getXBasicForLoopExpressionRule() {
+ return getXBasicForLoopExpressionAccess().getRule();
+ }
+
+ //XWhileExpression returns XExpression:
+ // {XWhileExpression} "while" "(" predicate=XExpression ")" body=XExpression;
+ public XbaseGrammarAccess.XWhileExpressionElements getXWhileExpressionAccess() {
+ return gaXbaseWithAnnotations.getXWhileExpressionAccess();
+ }
+
+ public ParserRule getXWhileExpressionRule() {
+ return getXWhileExpressionAccess().getRule();
+ }
+
+ //XDoWhileExpression returns XExpression:
+ // {XDoWhileExpression} "do" body=XExpression "while" "(" predicate=XExpression ")";
+ public XbaseGrammarAccess.XDoWhileExpressionElements getXDoWhileExpressionAccess() {
+ return gaXbaseWithAnnotations.getXDoWhileExpressionAccess();
+ }
+
+ public ParserRule getXDoWhileExpressionRule() {
+ return getXDoWhileExpressionAccess().getRule();
+ }
+
+ //XBlockExpression returns XExpression:
+ // {XBlockExpression} "{" (expressions+=XExpressionOrVarDeclaration ";"?)* "}";
+ public XbaseGrammarAccess.XBlockExpressionElements getXBlockExpressionAccess() {
+ return gaXbaseWithAnnotations.getXBlockExpressionAccess();
+ }
+
+ public ParserRule getXBlockExpressionRule() {
+ return getXBlockExpressionAccess().getRule();
+ }
+
+ //XExpressionOrVarDeclaration returns XExpression:
+ // XVariableDeclaration | XExpression;
+ public XbaseGrammarAccess.XExpressionOrVarDeclarationElements getXExpressionOrVarDeclarationAccess() {
+ return gaXbaseWithAnnotations.getXExpressionOrVarDeclarationAccess();
+ }
+
+ public ParserRule getXExpressionOrVarDeclarationRule() {
+ return getXExpressionOrVarDeclarationAccess().getRule();
+ }
+
+ //XVariableDeclaration returns XExpression:
+ // {XVariableDeclaration} (writeable?="var" | "val") (=> (type=JvmTypeReference name=ValidID) | name=ValidID) ("="
+ // right=XExpression)?;
+ public XbaseGrammarAccess.XVariableDeclarationElements getXVariableDeclarationAccess() {
+ return gaXbaseWithAnnotations.getXVariableDeclarationAccess();
+ }
+
+ public ParserRule getXVariableDeclarationRule() {
+ return getXVariableDeclarationAccess().getRule();
+ }
+
+ //JvmFormalParameter returns types::JvmFormalParameter:
+ // parameterType=JvmTypeReference? name=ValidID;
+ public XbaseGrammarAccess.JvmFormalParameterElements getJvmFormalParameterAccess() {
+ return gaXbaseWithAnnotations.getJvmFormalParameterAccess();
+ }
+
+ public ParserRule getJvmFormalParameterRule() {
+ return getJvmFormalParameterAccess().getRule();
+ }
+
+ //FullJvmFormalParameter returns types::JvmFormalParameter:
+ // parameterType=JvmTypeReference name=ValidID;
+ public XbaseGrammarAccess.FullJvmFormalParameterElements getFullJvmFormalParameterAccess() {
+ return gaXbaseWithAnnotations.getFullJvmFormalParameterAccess();
+ }
+
+ public ParserRule getFullJvmFormalParameterRule() {
+ return getFullJvmFormalParameterAccess().getRule();
+ }
+
+ //XFeatureCall returns XExpression:
+ // {XFeatureCall} ("<" typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")?
+ // feature=[types::JvmIdentifiableElement|IdOrSuper] (=> explicitOperationCall?="(" (featureCallArguments+=XShortClosure
+ // | featureCallArguments+=XExpression ("," featureCallArguments+=XExpression)*)? ")")? featureCallArguments+=XClosure?;
+ public XbaseGrammarAccess.XFeatureCallElements getXFeatureCallAccess() {
+ return gaXbaseWithAnnotations.getXFeatureCallAccess();
+ }
+
+ public ParserRule getXFeatureCallRule() {
+ return getXFeatureCallAccess().getRule();
+ }
+
+ //FeatureCallID:
+ // ValidID | "extends" | "static" | "import" | "extension";
+ public XbaseGrammarAccess.FeatureCallIDElements getFeatureCallIDAccess() {
+ return gaXbaseWithAnnotations.getFeatureCallIDAccess();
+ }
+
+ public ParserRule getFeatureCallIDRule() {
+ return getFeatureCallIDAccess().getRule();
+ }
+
+ //IdOrSuper:
+ // FeatureCallID | "super";
+ public XbaseGrammarAccess.IdOrSuperElements getIdOrSuperAccess() {
+ return gaXbaseWithAnnotations.getIdOrSuperAccess();
+ }
+
+ public ParserRule getIdOrSuperRule() {
+ return getIdOrSuperAccess().getRule();
+ }
+
+ //XConstructorCall returns XExpression:
+ // {XConstructorCall} "new" constructor=[types::JvmConstructor|QualifiedName] ("<"
+ // typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? (=>
+ // explicitConstructorCall?="(" (arguments+=XShortClosure | arguments+=XExpression ("," arguments+=XExpression)*)? ")")?
+ // arguments+=XClosure?;
+ public XbaseGrammarAccess.XConstructorCallElements getXConstructorCallAccess() {
+ return gaXbaseWithAnnotations.getXConstructorCallAccess();
+ }
+
+ public ParserRule getXConstructorCallRule() {
+ return getXConstructorCallAccess().getRule();
+ }
+
+ //XBooleanLiteral returns XExpression:
+ // {XBooleanLiteral} ("false" | isTrue?="true");
+ public XbaseGrammarAccess.XBooleanLiteralElements getXBooleanLiteralAccess() {
+ return gaXbaseWithAnnotations.getXBooleanLiteralAccess();
+ }
+
+ public ParserRule getXBooleanLiteralRule() {
+ return getXBooleanLiteralAccess().getRule();
+ }
+
+ //XNullLiteral returns XExpression:
+ // {XNullLiteral} "null";
+ public XbaseGrammarAccess.XNullLiteralElements getXNullLiteralAccess() {
+ return gaXbaseWithAnnotations.getXNullLiteralAccess();
+ }
+
+ public ParserRule getXNullLiteralRule() {
+ return getXNullLiteralAccess().getRule();
+ }
+
+ //XNumberLiteral returns XExpression:
+ // {XNumberLiteral} value=Number;
+ public XbaseGrammarAccess.XNumberLiteralElements getXNumberLiteralAccess() {
+ return gaXbaseWithAnnotations.getXNumberLiteralAccess();
+ }
+
+ public ParserRule getXNumberLiteralRule() {
+ return getXNumberLiteralAccess().getRule();
+ }
+
+ //XStringLiteral returns XExpression:
+ // {XStringLiteral} value=STRING;
+ public XbaseGrammarAccess.XStringLiteralElements getXStringLiteralAccess() {
+ return gaXbaseWithAnnotations.getXStringLiteralAccess();
+ }
+
+ public ParserRule getXStringLiteralRule() {
+ return getXStringLiteralAccess().getRule();
+ }
+
+ //XTypeLiteral returns XExpression:
+ // {XTypeLiteral} "typeof" "(" type=[types::JvmType|QualifiedName] arrayDimensions+=ArrayBrackets* ")";
+ public XbaseGrammarAccess.XTypeLiteralElements getXTypeLiteralAccess() {
+ return gaXbaseWithAnnotations.getXTypeLiteralAccess();
+ }
+
+ public ParserRule getXTypeLiteralRule() {
+ return getXTypeLiteralAccess().getRule();
+ }
+
+ //XThrowExpression returns XExpression:
+ // {XThrowExpression} "throw" expression=XExpression;
+ public XbaseGrammarAccess.XThrowExpressionElements getXThrowExpressionAccess() {
+ return gaXbaseWithAnnotations.getXThrowExpressionAccess();
+ }
+
+ public ParserRule getXThrowExpressionRule() {
+ return getXThrowExpressionAccess().getRule();
+ }
+
+ //XReturnExpression returns XExpression:
+ // {XReturnExpression} "return" -> expression=XExpression?;
+ public XbaseGrammarAccess.XReturnExpressionElements getXReturnExpressionAccess() {
+ return gaXbaseWithAnnotations.getXReturnExpressionAccess();
+ }
+
+ public ParserRule getXReturnExpressionRule() {
+ return getXReturnExpressionAccess().getRule();
+ }
+
+ //XTryCatchFinallyExpression returns XExpression:
+ // {XTryCatchFinallyExpression} "try" expression=XExpression (catchClauses+=XCatchClause+ ("finally"
+ // finallyExpression=XExpression)? | "finally" finallyExpression=XExpression);
+ public XbaseGrammarAccess.XTryCatchFinallyExpressionElements getXTryCatchFinallyExpressionAccess() {
+ return gaXbaseWithAnnotations.getXTryCatchFinallyExpressionAccess();
+ }
+
+ public ParserRule getXTryCatchFinallyExpressionRule() {
+ return getXTryCatchFinallyExpressionAccess().getRule();
+ }
+
+ //XSynchronizedExpression returns XExpression:
+ // => ({XSynchronizedExpression} "synchronized" "(") param=XExpression ")" expression=XExpression;
+ public XbaseGrammarAccess.XSynchronizedExpressionElements getXSynchronizedExpressionAccess() {
+ return gaXbaseWithAnnotations.getXSynchronizedExpressionAccess();
+ }
+
+ public ParserRule getXSynchronizedExpressionRule() {
+ return getXSynchronizedExpressionAccess().getRule();
+ }
+
+ //XCatchClause:
+ // "catch" "(" declaredParam=FullJvmFormalParameter ")" expression=XExpression;
+ public XbaseGrammarAccess.XCatchClauseElements getXCatchClauseAccess() {
+ return gaXbaseWithAnnotations.getXCatchClauseAccess();
+ }
+
+ public ParserRule getXCatchClauseRule() {
+ return getXCatchClauseAccess().getRule();
+ }
+
+ //QualifiedName:
+ // ValidID ("." ValidID)*;
+ public XbaseGrammarAccess.QualifiedNameElements getQualifiedNameAccess() {
+ return gaXbaseWithAnnotations.getQualifiedNameAccess();
+ }
+
+ public ParserRule getQualifiedNameRule() {
+ return getQualifiedNameAccess().getRule();
+ }
+
+ //Number hidden():
+ // HEX | (INT | DECIMAL) ("." (INT | DECIMAL))?;
+ public XbaseGrammarAccess.NumberElements getNumberAccess() {
+ return gaXbaseWithAnnotations.getNumberAccess();
+ }
+
+ public ParserRule getNumberRule() {
+ return getNumberAccess().getRule();
+ }
+
+ /// **
+ // * Dummy rule, for "better" downwards compatibility, since GrammarAccess generates non-static inner classes,
+ // * which makes downstream grammars break on classloading, when a rule is removed.
+ // * /
+ //StaticQualifier:
+ // (ValidID "::")+;
+ public XbaseGrammarAccess.StaticQualifierElements getStaticQualifierAccess() {
+ return gaXbaseWithAnnotations.getStaticQualifierAccess();
+ }
+
+ public ParserRule getStaticQualifierRule() {
+ return getStaticQualifierAccess().getRule();
+ }
+
+ //terminal HEX:
+ // ("0x" | "0X") ("0".."9" | "a".."f" | "A".."F" | "_")+ ("#" (("b" | "B") ("i" | "I") | ("l" | "L")))?;
+ public TerminalRule getHEXRule() {
+ return gaXbaseWithAnnotations.getHEXRule();
+ }
+
+ //terminal INT returns ecore::EInt:
+ // "0".."9" ("0".."9" | "_")*;
+ public TerminalRule getINTRule() {
+ return gaXbaseWithAnnotations.getINTRule();
+ }
+
+ //terminal DECIMAL:
+ // INT (("e" | "E") ("+" | "-")? INT)? (("b" | "B") ("i" | "I" | "d" | "D") | ("l" | "L" | "d" | "D" | "f" | "F"))?;
+ public TerminalRule getDECIMALRule() {
+ return gaXbaseWithAnnotations.getDECIMALRule();
+ }
+
+ //JvmTypeReference:
+ // JvmParameterizedTypeReference => ({JvmGenericArrayTypeReference.componentType=current} ArrayBrackets)* |
+ // XFunctionTypeRef;
+ public XtypeGrammarAccess.JvmTypeReferenceElements getJvmTypeReferenceAccess() {
+ return gaXbaseWithAnnotations.getJvmTypeReferenceAccess();
+ }
+
+ public ParserRule getJvmTypeReferenceRule() {
+ return getJvmTypeReferenceAccess().getRule();
+ }
+
+ //ArrayBrackets:
+ // "[" "]";
+ public XtypeGrammarAccess.ArrayBracketsElements getArrayBracketsAccess() {
+ return gaXbaseWithAnnotations.getArrayBracketsAccess();
+ }
+
+ public ParserRule getArrayBracketsRule() {
+ return getArrayBracketsAccess().getRule();
+ }
+
+ //XFunctionTypeRef:
+ // ("(" (paramTypes+=JvmTypeReference ("," paramTypes+=JvmTypeReference)*)? ")")? "=>" returnType=JvmTypeReference;
+ public XtypeGrammarAccess.XFunctionTypeRefElements getXFunctionTypeRefAccess() {
+ return gaXbaseWithAnnotations.getXFunctionTypeRefAccess();
+ }
+
+ public ParserRule getXFunctionTypeRefRule() {
+ return getXFunctionTypeRefAccess().getRule();
+ }
+
+ //JvmParameterizedTypeReference:
+ // type=[JvmType|QualifiedName] ("<" arguments+=JvmArgumentTypeReference ("," arguments+=JvmArgumentTypeReference)* ">"
+ // (=> ({JvmInnerTypeReference.outer=current} ".") type=[JvmType|ValidID] ("<" arguments+=JvmArgumentTypeReference (","
+ // arguments+=JvmArgumentTypeReference)* ">")?)*)?;
+ public XtypeGrammarAccess.JvmParameterizedTypeReferenceElements getJvmParameterizedTypeReferenceAccess() {
+ return gaXbaseWithAnnotations.getJvmParameterizedTypeReferenceAccess();
+ }
+
+ public ParserRule getJvmParameterizedTypeReferenceRule() {
+ return getJvmParameterizedTypeReferenceAccess().getRule();
+ }
+
+ //JvmArgumentTypeReference returns JvmTypeReference:
+ // JvmTypeReference | JvmWildcardTypeReference;
+ public XtypeGrammarAccess.JvmArgumentTypeReferenceElements getJvmArgumentTypeReferenceAccess() {
+ return gaXbaseWithAnnotations.getJvmArgumentTypeReferenceAccess();
+ }
+
+ public ParserRule getJvmArgumentTypeReferenceRule() {
+ return getJvmArgumentTypeReferenceAccess().getRule();
+ }
+
+ //JvmWildcardTypeReference:
+ // {JvmWildcardTypeReference} "?" (constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded* |
+ // constraints+=JvmLowerBound constraints+=JvmLowerBoundAnded*)?;
+ public XtypeGrammarAccess.JvmWildcardTypeReferenceElements getJvmWildcardTypeReferenceAccess() {
+ return gaXbaseWithAnnotations.getJvmWildcardTypeReferenceAccess();
+ }
+
+ public ParserRule getJvmWildcardTypeReferenceRule() {
+ return getJvmWildcardTypeReferenceAccess().getRule();
+ }
+
+ //JvmUpperBound:
+ // "extends" typeReference=JvmTypeReference;
+ public XtypeGrammarAccess.JvmUpperBoundElements getJvmUpperBoundAccess() {
+ return gaXbaseWithAnnotations.getJvmUpperBoundAccess();
+ }
+
+ public ParserRule getJvmUpperBoundRule() {
+ return getJvmUpperBoundAccess().getRule();
+ }
+
+ //JvmUpperBoundAnded returns JvmUpperBound:
+ // "&" typeReference=JvmTypeReference;
+ public XtypeGrammarAccess.JvmUpperBoundAndedElements getJvmUpperBoundAndedAccess() {
+ return gaXbaseWithAnnotations.getJvmUpperBoundAndedAccess();
+ }
+
+ public ParserRule getJvmUpperBoundAndedRule() {
+ return getJvmUpperBoundAndedAccess().getRule();
+ }
+
+ //JvmLowerBound:
+ // "super" typeReference=JvmTypeReference;
+ public XtypeGrammarAccess.JvmLowerBoundElements getJvmLowerBoundAccess() {
+ return gaXbaseWithAnnotations.getJvmLowerBoundAccess();
+ }
+
+ public ParserRule getJvmLowerBoundRule() {
+ return getJvmLowerBoundAccess().getRule();
+ }
+
+ //JvmLowerBoundAnded returns JvmLowerBound:
+ // "&" typeReference=JvmTypeReference;
+ public XtypeGrammarAccess.JvmLowerBoundAndedElements getJvmLowerBoundAndedAccess() {
+ return gaXbaseWithAnnotations.getJvmLowerBoundAndedAccess();
+ }
+
+ public ParserRule getJvmLowerBoundAndedRule() {
+ return getJvmLowerBoundAndedAccess().getRule();
+ }
+
+ //JvmTypeParameter:
+ // name=ValidID (constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded*)?;
+ public XtypeGrammarAccess.JvmTypeParameterElements getJvmTypeParameterAccess() {
+ return gaXbaseWithAnnotations.getJvmTypeParameterAccess();
+ }
+
+ public ParserRule getJvmTypeParameterRule() {
+ return getJvmTypeParameterAccess().getRule();
+ }
+
+ //QualifiedNameWithWildcard:
+ // QualifiedName "." "*";
+ public XtypeGrammarAccess.QualifiedNameWithWildcardElements getQualifiedNameWithWildcardAccess() {
+ return gaXbaseWithAnnotations.getQualifiedNameWithWildcardAccess();
+ }
+
+ public ParserRule getQualifiedNameWithWildcardRule() {
+ return getQualifiedNameWithWildcardAccess().getRule();
+ }
+
+ //ValidID:
+ // ID;
+ public XtypeGrammarAccess.ValidIDElements getValidIDAccess() {
+ return gaXbaseWithAnnotations.getValidIDAccess();
+ }
+
+ public ParserRule getValidIDRule() {
+ return getValidIDAccess().getRule();
+ }
+
+ //XImportSection:
+ // importDeclarations+=XImportDeclaration+;
+ public XtypeGrammarAccess.XImportSectionElements getXImportSectionAccess() {
+ return gaXbaseWithAnnotations.getXImportSectionAccess();
+ }
+
+ public ParserRule getXImportSectionRule() {
+ return getXImportSectionAccess().getRule();
+ }
+
+ //XImportDeclaration:
+ // "import" (static?="static" extension?="extension"? importedType=[JvmDeclaredType|QualifiedNameInStaticImport]
+ // (wildcard?="*" | memberName=ValidID) | importedType=[JvmDeclaredType|QualifiedName] |
+ // importedNamespace=QualifiedNameWithWildcard) ";"?;
+ public XtypeGrammarAccess.XImportDeclarationElements getXImportDeclarationAccess() {
+ return gaXbaseWithAnnotations.getXImportDeclarationAccess();
+ }
+
+ public ParserRule getXImportDeclarationRule() {
+ return getXImportDeclarationAccess().getRule();
+ }
+
+ //QualifiedNameInStaticImport:
+ // (ValidID ".")+;
+ public XtypeGrammarAccess.QualifiedNameInStaticImportElements getQualifiedNameInStaticImportAccess() {
+ return gaXbaseWithAnnotations.getQualifiedNameInStaticImportAccess();
+ }
+
+ public ParserRule getQualifiedNameInStaticImportRule() {
+ return getQualifiedNameInStaticImportAccess().getRule();
+ }
+
+ //terminal ID:
+ // "^"? ("a".."z" | "A".."Z" | "$" | "_") ("a".."z" | "A".."Z" | "$" | "_" | "0".."9")*;
+ public TerminalRule getIDRule() {
+ return gaXbaseWithAnnotations.getIDRule();
+ }
+
+ //terminal STRING:
+ // "\"" ("\\" . / * ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') * / | !("\\" | "\""))* "\""? | "\'" ("\\" .
+ // / * ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') * / | !("\\" | "\'"))* "\'"?;
+ public TerminalRule getSTRINGRule() {
+ return gaXbaseWithAnnotations.getSTRINGRule();
+ }
+
+ //terminal ML_COMMENT:
+ // "/ *"->"* /";
+ public TerminalRule getML_COMMENTRule() {
+ return gaXbaseWithAnnotations.getML_COMMENTRule();
+ }
+
+ //terminal SL_COMMENT:
+ // "//" !("\n" | "\r")* ("\r"? "\n")?;
+ public TerminalRule getSL_COMMENTRule() {
+ return gaXbaseWithAnnotations.getSL_COMMENTRule();
+ }
+
+ //terminal WS:
+ // (" " | "\t" | "\r" | "\n")+;
+ public TerminalRule getWSRule() {
+ return gaXbaseWithAnnotations.getWSRule();
+ }
+
+ //terminal ANY_OTHER:
+ // .;
+ public TerminalRule getANY_OTHERRule() {
+ return gaXbaseWithAnnotations.getANY_OTHERRule();
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/validation/AbstractStrategyDSLValidator.java b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/validation/AbstractStrategyDSLValidator.java
new file mode 100644
index 0000000..1c7cec2
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src-gen/org/eclipse/osbp/xtext/strategy/validation/AbstractStrategyDSLValidator.java
@@ -0,0 +1,33 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.emf.ecore.EPackage;
+
+public class AbstractStrategyDSLValidator extends org.eclipse.xtext.xbase.annotations.validation.XbaseWithAnnotationsValidator {
+
+ @Override
+ protected List<EPackage> getEPackages() {
+ List<EPackage> result = new ArrayList<EPackage>(super.getEPackages());
+ result.add(EPackage.Registry.INSTANCE.getEPackage("http://osbp.eclipse.org/xtext/strategy/StrategyDSL"));
+ result.add(EPackage.Registry.INSTANCE.getEPackage("http://osbp.eclipse.org/dsl/common/types/v1"));
+ result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/Xtext/Xbase/XAnnotations"));
+ result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xbase"));
+ result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/common/JavaVMTypes"));
+ result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xtype"));
+ return result;
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/Activator.java b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/Activator.java
new file mode 100644
index 0000000..6036d65
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/Activator.java
@@ -0,0 +1,47 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+ package org.eclipse.osbp.xtext.strategy;
+
+
+import org.eclipse.osbp.gitinfo.Loginfo;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ private static BundleContext context;
+
+ static BundleContext getContext() {
+ return context;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext bundleContext) throws Exception {
+ Activator.context = bundleContext;
+ Loginfo li = new Loginfo();
+ li.print( Activator.class.getCanonicalName(), Activator.class.getClassLoader());
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext bundleContext) throws Exception {
+ Activator.context = null;
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/GenerateStrategyDSL.mwe2 b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/GenerateStrategyDSL.mwe2
new file mode 100644
index 0000000..0d38439
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/GenerateStrategyDSL.mwe2
@@ -0,0 +1,161 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+ module org.eclipse.osbp.xtext.strategy.GenerateStrategyDSL
+
+import org.eclipse.emf.mwe.utils.*
+import org.eclipse.xtext.generator.*
+import org.eclipse.xtext.ui.generator.*
+import org.eclipse.osbp.dsl.mwe.MavenStandaloneSetup
+
+var projectName = "org.eclipse.osbp.xtext.strategy"
+var grammarURI = "platform:/resource/${projectName}/src/org/eclipse/osbp/xtext/strategy/StrategyDSL.xtext"
+var fileExtensions = "strategy"
+var runtimeProject = "../${projectName}"
+var generateXtendStub = true
+var encoding = "UTF-8"
+
+Workflow {
+ bean = org.eclipse.emf.ecore.xcore.XcoreStandaloneSetup : xcore {}
+ bean = org.eclipse.xtext.mwe.Reader {
+ register = xcore
+ }
+ bean = MavenStandaloneSetup {
+ scanClassPath = true
+ platformUri = "${runtimeProject}/.."
+
+ registerGenModelFile = "platform:/resource/org.eclipse.osbp.xtext.strategy/model/StrategyDSL.xcore"
+ registerGeneratedEPackage = "org.eclipse.osbp.xtext.strategy.StrategyDSLPackage"
+ registerGenModelFile = "platform:/resource/org.eclipse.osbp.dsl.common.xtext/model/types.xcore"
+ registerEcoreFile = "platform:/resource/org.eclipse.osbp.dsl.common.xtext/model/types.xcore"
+ registerGenModelFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel"
+ registerEcoreFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.ecore"
+ registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
+ registerEcoreFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xtype.ecore"
+ registerEcoreFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.ecore"
+ registerEcoreFile = "platform:/resource/org.eclipse.xtext.xbase/model/XAnnotations.ecore"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}/src-gen"
+ exclude = "README.txt"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}.ui/src-gen"
+ exclude = "README.txt"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}.tests/src-gen"
+ exclude = "README.txt"
+ }
+
+ component = Generator {
+ pathRtProject = runtimeProject
+ pathUiProject = "${runtimeProject}.ui"
+ pathTestProject = "${runtimeProject}.tests"
+ projectNameRt = projectName
+ projectNameUi = "${projectName}.ui"
+ encoding = encoding
+ language = auto-inject {
+ uri = grammarURI
+
+ // Java API to access grammar elements (required by several other fragments)
+ fragment = grammarAccess.GrammarAccessFragment auto-inject {}
+
+ // generates Java API for the generated EPackages
+ fragment = ecore.EMFGeneratorFragment auto-inject {}
+
+ // the old serialization component
+ // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {}
+
+ // serializer 2.0
+ fragment = serializer.SerializerFragment auto-inject {
+ generateStub = false
+ }
+
+ // a custom ResourceFactory for use with EMF
+ fragment = resourceFactory.ResourceFactoryFragment auto-inject {}
+
+ // The antlr parser generator fragment.
+ fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject {
+ // options = {
+ // backtrack = true
+ // }
+ }
+
+ // Xtend-based API for validation
+ fragment = validation.ValidatorFragment auto-inject {
+ // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ }
+
+ // old scoping and exporting API
+ // fragment = scoping.ImportURIScopingFragment auto-inject {}
+ // fragment = exporting.SimpleNamesFragment auto-inject {}
+
+ // scoping and exporting API
+ fragment = scoping.ImportNamespacesScopingFragment auto-inject {}
+ fragment = exporting.QualifiedNamesFragment auto-inject {}
+ fragment = builder.BuilderIntegrationFragment auto-inject {}
+
+ // generator API
+ fragment = generator.GeneratorFragment auto-inject {}
+
+ // formatter API
+ fragment = formatting.FormatterFragment auto-inject {}
+
+ // labeling API
+ fragment = labeling.LabelProviderFragment auto-inject {}
+
+ // outline API
+ fragment = outline.OutlineTreeProviderFragment auto-inject {}
+ fragment = outline.QuickOutlineFragment auto-inject {}
+
+ // quickfix API
+ fragment = quickfix.QuickfixProviderFragment auto-inject {}
+
+ // content assist API
+ fragment = contentAssist.ContentAssistFragment auto-inject {}
+
+ // generates a more lightweight Antlr parser and lexer tailored for content assist
+ fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {}
+
+ // generates junit test support classes into Generator#pathTestProject
+ fragment = junit.Junit4Fragment auto-inject {}
+
+ // rename refactoring
+ fragment = refactoring.RefactorElementNameFragment auto-inject {}
+
+ // provides the necessary bindings for java types integration
+ fragment = types.TypesGeneratorFragment auto-inject {}
+
+ // generates the required bindings only if the grammar inherits from Xbase
+ fragment = xbase.XbaseGeneratorFragment auto-inject {}
+
+ // generates the required bindings only if the grammar inherits from Xtype
+ fragment = xbase.XtypeGeneratorFragment auto-inject {}
+
+ // provides a preference page for template proposals
+ fragment = templates.CodetemplatesGeneratorFragment auto-inject {}
+
+ // provides a compare view
+ fragment = compare.CompareFragment auto-inject {}
+
+ // parse grammar and generate i18n grammar
+ fragment = org.eclipse.osbp.xtext.basic.generator.BasicDslGrammarI18nGenerator auto-inject {}
+ }
+ }
+}
+
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSL.xtext b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSL.xtext
new file mode 100644
index 0000000..c7fff58
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSL.xtext
@@ -0,0 +1,59 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+grammar org.eclipse.osbp.xtext.strategy.StrategyDSL with org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations
+
+import "http://osbp.eclipse.org/xtext/strategy/StrategyDSL"
+import "http://osbp.eclipse.org/dsl/common/types/v1" as types
+import "http://www.eclipse.org/emf/2002/Ecore" as ecore
+
+StrategyModel:
+ packages+=StrategyPackage*;
+
+StrategyPackage:
+ {StrategyPackage} 'package' name=QualifiedName ('{' (imports+=StrategyImport)* (strategy=Strategy) '}')?;
+
+StrategyImport returns types::LImport:
+ 'import' importedNamespace=StrategyQualifiedNameWithWildCard;
+
+StrategyQualifiedNameWithWildCard:
+ QualifiedName ('.' '*')?;
+
+Strategy:
+ {Strategy} 'strategy' '{' targets=StrategyTarget strategyDefault=StrategyDefault '}';
+
+StrategyTarget:
+ {StrategyTarget} 'targets' ('{' (layoutingStrategies+=LayoutingStrategy)* (focusingStrategies+=FocusingStrategy)*
+ (focusingEnhancer+=FocusingEnhancer)* '}')?;
+
+LayoutingStrategy:
+ {LayoutingStrategy} 'layoutingStrategy' name=ID 'layout=' layout=LayoutingEnum;
+
+FocusingStrategy:
+ {FocusingStrategy} 'focusingStrategy' name=ID 'ecviewFocusingId=' ecviewFocusingId=ID 'focus=' focus=FocusingEnum
+ ('keyStrokeDefinition' '{' 'keyCode=' keyCode=ID ('modifierKeys' '{' (modifierKeys+=ID)* '}')? '}')?;
+
+FocusingEnhancer:
+ {FocusingEnhancer} 'focusingEnhancer' name=ID '{' (focusingStrategies+=[FocusingStrategy])+ '}';
+
+StrategyDefault:
+ {StrategyDefault} 'default' '{' 'defaultLayouting=' defaultLayouting=[LayoutingStrategy] 'defaultFocusing='
+ defaultFocusing=[FocusingEnhancer] '}';
+
+enum LayoutingEnum:
+ HORIZONTAL='Horizontal' | VERTICAL='Vertical' | GRID='Grid' | FORM2='Form2' | FORM3='Form3' | CSS='Css';
+
+enum FocusingEnum:
+ FORWARD='Forward' | BACKWARD='Backward';
+
+ \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLBundleSpaceRuntimeModule.java b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLBundleSpaceRuntimeModule.java
new file mode 100644
index 0000000..a635b51
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLBundleSpaceRuntimeModule.java
@@ -0,0 +1,43 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+ package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.osbp.dsl.xtext.types.bundles.BundleSpaceTypeProviderFactory;
+import org.eclipse.osbp.dsl.xtext.types.bundles.BundleSpaceTypeScopeProvider;
+import org.eclipse.osbp.xtext.builder.types.loader.api.ITypeLoaderFactory;
+import org.eclipse.osbp.xtext.builder.types.loader.api.ITypeLoaderProvider;
+import org.eclipse.osbp.xtext.builder.types.loader.runtime.TypeLoaderFactory;
+import org.eclipse.osbp.xtext.builder.types.loader.runtime.TypeLoaderProvider;
+
+@SuppressWarnings("restriction")
+public class StrategyDSLBundleSpaceRuntimeModule extends
+ StrategyDSLRuntimeModule {
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+ return BundleSpaceTypeProviderFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+ return BundleSpaceTypeScopeProvider.class;
+ }
+
+ public Class<? extends ITypeLoaderFactory> bindITypeLoaderFactory() {
+ return TypeLoaderFactory.class;
+ }
+
+ public Class<? extends ITypeLoaderProvider> ITypeLoaderProvider() {
+ return TypeLoaderProvider.class;
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLBundleSpaceStandaloneSetup.java b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLBundleSpaceStandaloneSetup.java
new file mode 100644
index 0000000..6b09262
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLBundleSpaceStandaloneSetup.java
@@ -0,0 +1,41 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+ package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.osbp.xtext.builder.xbase.setups.XbaseBundleSpaceStandaloneSetup;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+@SuppressWarnings("restriction")
+public class StrategyDSLBundleSpaceStandaloneSetup extends
+ StrategyDSLStandaloneSetup {
+ public static void doSetup() {
+ new StrategyDSLBundleSpaceStandaloneSetup().createInjectorAndDoEMFRegistration();
+ }
+
+ @Override
+ public Injector createInjectorAndDoEMFRegistration() {
+ XbaseBundleSpaceStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ @Override
+ public Injector createInjector() {
+ return Guice.createInjector(new StrategyDSLBundleSpaceRuntimeModule());
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLRuntimeModule.java b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLRuntimeModule.java
new file mode 100644
index 0000000..bbb0123
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLRuntimeModule.java
@@ -0,0 +1,57 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy;
+
+import javax.inject.Singleton;
+
+import org.eclipse.osbp.xtext.i18n.DSLOutputConfigurationProvider;
+import org.eclipse.osbp.xtext.strategy.generator.StrategyDSLGenerator;
+import org.eclipse.osbp.xtext.strategy.scoping.StrategyDSLScopeProvider;
+import org.eclipse.osbp.xtext.strategy.valueconverter.StrategyQualifiedNameProvider;
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.generator.IOutputConfigurationProvider;
+import org.eclipse.xtext.naming.IQualifiedNameProvider;
+import org.eclipse.xtext.scoping.IScopeProvider;
+
+import com.google.inject.Binder;
+
+/**
+ * Use this class to register components to be used at runtime / without the
+ * Equinox extension registry.
+ */
+public class StrategyDSLRuntimeModule extends
+ org.eclipse.osbp.xtext.strategy.AbstractStrategyDSLRuntimeModule {
+ @Override
+ public Class<? extends IGenerator> bindIGenerator() {
+ return StrategyDSLGenerator.class;
+ }
+
+ @Override
+ public Class<? extends IScopeProvider> bindIScopeProvider() {
+ return StrategyDSLScopeProvider.class;
+ }
+
+ @Override
+ public void configure(Binder binder) {
+ super.configure(binder);
+ binder.bind(IOutputConfigurationProvider.class)
+ .to(DSLOutputConfigurationProvider.class).in(Singleton.class);
+ }
+
+ @Override
+ public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return StrategyQualifiedNameProvider.class;
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLStandaloneSetup.java b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLStandaloneSetup.java
new file mode 100644
index 0000000..a016363
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/StrategyDSLStandaloneSetup.java
@@ -0,0 +1,26 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+ package org.eclipse.osbp.xtext.strategy;
+
+/**
+ * Initialization support for running Xtext languages
+ * without equinox extension registry
+ */
+public class StrategyDSLStandaloneSetup extends StrategyDSLStandaloneSetupGenerated{
+
+ public static void doSetup() {
+ new StrategyDSLStandaloneSetup().createInjectorAndDoEMFRegistration();
+ }
+}
+
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/XcoreResourceFactory.java b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/XcoreResourceFactory.java
new file mode 100644
index 0000000..6a09664
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/XcoreResourceFactory.java
@@ -0,0 +1,28 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+ package org.eclipse.osbp.xtext.strategy;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xcore.resource.XcoreResource;
+
+public class XcoreResourceFactory implements Resource.Factory {
+ @Override
+ public Resource createResource(URI uri) {
+ XcoreResource resource = new XcoreResource();
+ resource.setURI(uri);
+ return resource;
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/constants/StrategyConstants.xtend b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/constants/StrategyConstants.xtend
new file mode 100644
index 0000000..1777569
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/constants/StrategyConstants.xtend
@@ -0,0 +1,26 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.constants
+
+class StrategyConstants {
+ public val LAYOUTING_STRATEGY_PREFIX = "LayoutingStrategy";
+ public val LAYOUTING_STRATEGY_PROVIDER_PREFIX = '''«LAYOUTING_STRATEGY_PREFIX»Provider''';
+ public val FOCUSING_STRATEGY_PREFIX = "FocusingStrategy";
+ public val FOCUSING_STRATEGY_PROVIDER_PREFIX = '''«FOCUSING_STRATEGY_PREFIX»Provider''';
+ public val FOCUSING_ENHANCER_PREFIX = "FocusingEnhancer";
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/formatting/StrategyDSLFormatter.xtend b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/formatting/StrategyDSLFormatter.xtend
new file mode 100644
index 0000000..2e0264b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/formatting/StrategyDSLFormatter.xtend
@@ -0,0 +1,45 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.formatting
+
+import com.google.inject.Inject
+import org.eclipse.osbp.utils.xtext.GenericFormatter
+import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter
+import org.eclipse.xtext.formatting.impl.FormattingConfig
+import org.eclipse.xtext.xbase.services.XtypeGrammarAccess
+
+/**
+ * This class contains custom formatting description.
+ *
+ * see : http://www.eclipse.org/Xtext/documentation.html#formatting
+ * on how and when to use it
+ *
+ * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
+ */
+class StrategyDSLFormatter extends AbstractDeclarativeFormatter {
+
+// @Inject extension StrategyDSLGrammarAccess
+ @Inject XtypeGrammarAccess grammarAccess
+
+ override protected void configureFormatting(FormattingConfig c) {
+ val genericFormatter = new GenericFormatter()
+
+ genericFormatter.formatFirstLevelBlocks( c, grammar.grammar, "Strategy", "StrategyImport" )
+ genericFormatter.genericFormatting( c, grammar, grammarAccess )
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/generator/StrategyDSLGenerator.xtend b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/generator/StrategyDSLGenerator.xtend
new file mode 100644
index 0000000..c8fdb3a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/generator/StrategyDSLGenerator.xtend
@@ -0,0 +1,97 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.generator
+
+import java.util.ArrayList
+import javax.inject.Inject
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.osbp.ecview.core.common.context.IViewContext
+import org.eclipse.osbp.ecview.core.common.model.core.YElement
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable
+import org.eclipse.osbp.ecview.core.common.model.core.YField
+import org.eclipse.osbp.ecview.core.common.model.core.YFocusable
+import org.eclipse.osbp.ecview.core.common.model.core.YLayout
+import org.eclipse.osbp.ecview.core.common.model.core.YView
+import org.eclipse.osbp.ecview.core.common.services.IWidgetAssocationsService
+import org.eclipse.osbp.ecview.core.^extension.model.^extension.ExtensionModelFactory
+import org.eclipse.osbp.ecview.core.^extension.model.^extension.YCssLayout
+import org.eclipse.osbp.ecview.core.^extension.model.^extension.YFormLayout
+import org.eclipse.osbp.ecview.core.^extension.model.^extension.YGridLayout
+import org.eclipse.osbp.ecview.core.^extension.model.^extension.YHorizontalLayout
+import org.eclipse.osbp.ecview.core.^extension.model.^extension.YVerticalLayout
+import org.eclipse.osbp.ecview.core.util.emf.ModelUtil
+import org.eclipse.osbp.ecview.^extension.model.YDelegatingFocusingStrategy
+import org.eclipse.osbp.ecview.^extension.model.YECviewFactory
+import org.eclipse.osbp.ecview.^extension.model.YLayoutingInfo
+import org.eclipse.osbp.ecview.^extension.model.YStrategyLayout
+import org.eclipse.osbp.ecview.^extension.model.YSuspect
+import org.eclipse.osbp.ecview.^extension.model.YSuspectInfo
+import org.eclipse.osbp.runtime.common.keystroke.KeyCode
+import org.eclipse.osbp.runtime.common.keystroke.ModifierKey
+import org.eclipse.osbp.xtext.addons.AdvancedJvmModelGenerator
+import org.eclipse.osbp.xtext.basic.generator.BasicDslGeneratorUtils
+import org.eclipse.xtext.common.types.JvmGenericType
+import org.eclipse.xtext.xbase.compiler.GeneratorConfig
+import org.eclipse.xtext.xbase.compiler.ImportManager
+
+/**
+ * Generates code from your model files on save.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#TutorialCodeGeneration
+ */
+class StrategyDSLGenerator extends AdvancedJvmModelGenerator {
+
+ @Inject extension BasicDslGeneratorUtils
+
+ override createAppendable(EObject context, ImportManager importManager, GeneratorConfig config) {
+ if (context instanceof JvmGenericType) {
+ for (superType : (context as JvmGenericType).superTypes) {
+ if (superType.type != null) {
+ builder = context.eResource
+ addImportFor(importManager, _typeReferenceBuilder
+ , ArrayList
+ , YView
+ , IViewContext
+ , IWidgetAssocationsService
+ , YElement
+ , YFocusable
+ , YLayout
+ , YHorizontalLayout
+ , YVerticalLayout
+ , YGridLayout
+ , YFormLayout
+ , YCssLayout
+ , YEmbeddable
+ , YField
+ , ModelUtil
+ , KeyCode
+ , ModifierKey
+ , ExtensionModelFactory
+ , YECviewFactory
+ , YDelegatingFocusingStrategy
+ , YSuspect
+ , YSuspectInfo
+ , YStrategyLayout
+ , YLayoutingInfo
+ )
+ }
+ }
+ }
+ super.createAppendable(context, importManager, config)
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingEnhancerCreator.xtend b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingEnhancerCreator.xtend
new file mode 100644
index 0000000..663c6e8
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingEnhancerCreator.xtend
@@ -0,0 +1,113 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.jvmmodel
+
+import org.eclipse.osbp.ecview.^extension.api.IFocusingEnhancer
+import org.eclipse.osbp.ecview.^extension.model.YStrategyLayout
+import org.eclipse.osbp.utils.annotation.CommonUtils
+import org.eclipse.osbp.utils.constants.GeneratorConstants
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy
+import org.eclipse.osbp.xtext.strategy.StrategyPackage
+import org.eclipse.osbp.xtext.strategy.constants.StrategyConstants
+import javax.inject.Inject
+import org.eclipse.xtext.common.types.JvmGenericType
+import org.eclipse.xtext.common.types.JvmVisibility
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor
+import org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
+import org.osgi.service.component.annotations.Component
+
+class StrategyDSLFocusingEnhancerCreator {
+ @Inject extension JvmTypesBuilder
+ @Inject extension StrategyConstants
+ @Inject extension CommonUtils
+
+ private JvmAnnotationReferenceBuilder _annotationTypesBuilder;
+ private JvmTypeReferenceBuilder _typeReferenceBuilder;
+
+ def void createFocusingEnhancer(StrategyPackage pckg, FocusingEnhancer focusingEnhancer, IJvmDeclaredTypeAcceptor acceptor, JvmAnnotationReferenceBuilder annotationTypesBuilder, JvmTypeReferenceBuilder typeReferenceBuilder){
+ pckg.createFocusingEnhancer(focusingEnhancer, acceptor, annotationTypesBuilder, typeReferenceBuilder, false)
+ }
+
+ def void createFocusingEnhancer(StrategyPackage pckg, FocusingEnhancer focusingEnhancer, IJvmDeclaredTypeAcceptor acceptor, JvmAnnotationReferenceBuilder annotationTypesBuilder, JvmTypeReferenceBuilder typeReferenceBuilder, boolean osdefault){
+ _annotationTypesBuilder = annotationTypesBuilder
+ _typeReferenceBuilder = typeReferenceBuilder
+ // creation of the IFocusingEnhancer implementation
+ var clsStrategy = focusingEnhancer.toClass('''«pckg.name».«focusingEnhancer.getStrategyClassName(osdefault)»''')
+ clsStrategy.getSuperTypes().add(_typeReferenceBuilder.typeRef(typeof(IFocusingEnhancer)))
+ acceptor.accept(clsStrategy,
+ [
+ documentation = GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION
+ var annotationRef = _annotationTypesBuilder.annotationRef(typeof(Component))
+ val propContent = '''ecview.focusing.enhancer.id=«focusingEnhancer.getStrategyClassName(osdefault)»'''
+ if (osdefault){
+ var String[] propContents = newArrayOfSize(2)
+ propContents.set(0,propContent)
+ propContents.set(1,"ecview.focusing.enhancer.default=true")
+ annotationRef.addAnnAttrArr(focusingEnhancer, "property", propContents)
+ } else {
+ annotationRef.addAnnAttr(focusingEnhancer, "property", propContent)
+ }
+ annotations += annotationRef
+ it.toOperations(focusingEnhancer)
+ ])
+
+ }
+
+ // Strategy Methods
+ def void toOperations(JvmGenericType type, FocusingEnhancer focusingEnhancer){
+ // create enhanceFocusing
+ type.members += focusingEnhancer.toMethod("enhanceFocusing", _typeReferenceBuilder.typeRef(Void::TYPE),
+ [
+ annotations += _annotationTypesBuilder.annotationRef(typeof(Override))
+ visibility = JvmVisibility.PUBLIC
+ parameters += focusingEnhancer.toParameter("yLayout", _typeReferenceBuilder.typeRef(YStrategyLayout))
+ body = [append(focusingEnhancer.enhanceFocusingBody)]
+ ])
+ }
+
+ def String getEnhanceFocusingBody(FocusingEnhancer focusingEnhancer){
+ var body = '''yLayout.getFocusingStrategies().clear();'''
+ var idx = 1
+ for (focusingStrategy : focusingEnhancer.focusingStrategies){
+ body = '''
+ «body»
+ YDelegatingFocusingStrategy yStgy«idx» = YECviewFactory.eINSTANCE.createYDelegatingFocusingStrategy();
+ yStgy«idx».setDelegateStrategyId("«focusingStrategy.ecviewFocusingId»");
+ yLayout.getFocusingStrategies().add(yStgy«idx»);'''
+ idx++
+ }
+ return body
+ }
+
+ // Helper Methods
+ def String getStrategyClassName(FocusingEnhancer focusingEnhancer, boolean osdefault) {
+ var focusingEnhancerClassName = focusingEnhancer.notDefaultStrategyClassName
+ if (osdefault){
+ focusingEnhancerClassName = defaultStrategyClassName
+ }
+ return '''«focusingEnhancerClassName»'''
+ }
+
+ def getNotDefaultStrategyClassName(FocusingEnhancer focusingEnhancer)'''«focusingEnhancer.name»«FOCUSING_ENHANCER_PREFIX»'''
+ def getDefaultStrategyClassName()'''Default«FOCUSING_ENHANCER_PREFIX»'''
+
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingStrategyCreator.xtend b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingStrategyCreator.xtend
new file mode 100644
index 0000000..4c5f539
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingStrategyCreator.xtend
@@ -0,0 +1,370 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.jvmmodel
+
+import org.eclipse.osbp.ecview.^extension.api.IFocusingStrategy
+import org.eclipse.osbp.ecview.^extension.api.IFocusingStrategyProvider
+import org.eclipse.osbp.ecview.^extension.model.YStrategyLayout
+import org.eclipse.osbp.utils.annotation.CommonUtils
+import org.eclipse.osbp.utils.constants.GeneratorConstants
+import org.eclipse.osbp.xtext.strategy.FocusingEnum
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy
+import org.eclipse.osbp.xtext.strategy.StrategyPackage
+import org.eclipse.osbp.xtext.strategy.constants.StrategyConstants
+import javax.inject.Inject
+import org.eclipse.xtext.common.types.JvmField
+import org.eclipse.xtext.common.types.JvmGenericType
+import org.eclipse.xtext.common.types.JvmVisibility
+import org.eclipse.xtext.common.types.util.TypeReferences
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor
+import org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable
+import org.eclipse.osbp.ecview.core.common.model.core.YLayout
+import org.eclipse.osbp.runtime.common.keystroke.KeyStrokeDefinition
+import org.osgi.service.component.annotations.Component
+
+class StrategyDSLFocusingStrategyCreator {
+ @Inject extension JvmTypesBuilder
+ @Inject extension StrategyConstants
+ @Inject extension CommonUtils
+ @Inject
+ private TypeReferences references;
+
+
+ private JvmAnnotationReferenceBuilder _annotationTypesBuilder;
+ private JvmTypeReferenceBuilder _typeReferenceBuilder;
+
+ def void createFocusingStrategy(StrategyPackage pckg, FocusingStrategy focusingStrategy, IJvmDeclaredTypeAcceptor acceptor, JvmAnnotationReferenceBuilder annotationTypesBuilder, JvmTypeReferenceBuilder typeReferenceBuilder){
+ _annotationTypesBuilder = annotationTypesBuilder
+ _typeReferenceBuilder = typeReferenceBuilder
+
+ // creation of the IFocusingStrategy implementation
+ var clsStrategy = focusingStrategy.toClass('''«pckg.name».«focusingStrategy.strategyClassName»''')
+ clsStrategy.getSuperTypes().add(_typeReferenceBuilder.typeRef(typeof(IFocusingStrategy)))
+ acceptor.accept(clsStrategy,
+ [
+ documentation = GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION
+ // it.addTranslatorClassesFields(dialog, null, true)
+ // it.addTranslatorBindingFields(dialog)
+ it.toOperations(focusingStrategy)
+ ])
+
+ // creation of the IFocusingStrategyProvider implementation
+ var clsProvider = focusingStrategy.toClass('''«pckg.name».«focusingStrategy.strategyProviderClassName»''')
+ clsProvider.getSuperTypes().add(_typeReferenceBuilder.typeRef(typeof(IFocusingStrategyProvider)))
+ acceptor.accept(clsProvider,
+ [
+ documentation = GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION
+ var annotationRef = _annotationTypesBuilder.annotationRef(typeof(Component))
+ // create the Boolean type
+// val booleanDeclaredType = references.findDeclaredType(typeof(Boolean), focusingStrategy) as JvmDeclaredType
+ annotationRef.addAnnAttr(focusingStrategy, /*references, booleanDeclaredType, */"immediate", true)
+// val classDeclaredType = references.findDeclaredType(typeof(IFocusingStrategyProvider), focusingStrategy) as JvmDeclaredType
+ annotationRef.addAnnAttr(focusingStrategy, /*references, classDeclaredType, */"service", _typeReferenceBuilder.typeRef(IFocusingStrategyProvider))
+
+ var propContent = '''ecview.focusing.id=«focusingStrategy.ecviewFocusingId»'''
+ annotationRef.addAnnAttr(focusingStrategy, /*references, */"property", propContent)
+ annotations += annotationRef
+// val componentAnnoParams = newArrayList("immediate=true", "service = IFocusingStrategyProvider.class");
+// annotations += _annotationTypesBuilder.annotationRef(typeof(Component),componentAnnoParams)
+ // it.addTranslatorClassesFields(dialog, null, true)
+ // it.addTranslatorBindingFields(dialog)
+ it.toProviderFields(focusingStrategy)
+ it.toProviderOperations(focusingStrategy)
+ ])
+
+ }
+
+ // Strategy Methods
+ def void toOperations(JvmGenericType type, FocusingStrategy focusingStrategy){
+ // create focus
+ type.members += focusingStrategy.toMethod("focus", _typeReferenceBuilder.typeRef(Void::TYPE),
+ [
+ annotations += _annotationTypesBuilder.annotationRef(typeof(Override))
+ visibility = JvmVisibility.PUBLIC
+ parameters += focusingStrategy.toParameter("source", _typeReferenceBuilder.typeRef(Object))
+ parameters += focusingStrategy.toParameter("target", _typeReferenceBuilder.typeRef(Object))
+ parameters += focusingStrategy.toParameter("yLayout", _typeReferenceBuilder.typeRef(YStrategyLayout))
+ body = [append('''
+ YView yView = yLayout.getView();
+ IViewContext context = ModelUtil.getViewContext(yView);
+ IWidgetAssocationsService<Object, ? extends YElement> service = context.getService(IWidgetAssocationsService.ID);
+ YEmbeddable yCurrentFocus = (YEmbeddable) service
+ .getModelElement(target);
+ YEmbeddable yNextFocus = findElementToFocus(yCurrentFocus, yLayout);
+ yView.setCurrentFocus((YFocusable) yNextFocus);
+''')]
+ ])
+
+ // create findElementToFocus
+ type.members += focusingStrategy.toMethod("findElementToFocus", _typeReferenceBuilder.typeRef(YEmbeddable),
+ [
+ visibility = JvmVisibility.PROTECTED
+ parameters += focusingStrategy.toParameter("yElement", _typeReferenceBuilder.typeRef(YEmbeddable))
+ parameters += focusingStrategy.toParameter("yLayout", _typeReferenceBuilder.typeRef(YStrategyLayout))
+ body = [append(focusingStrategy.findElementToFocus)]
+ ])
+
+ // create findNextElementToFocus
+ type.members += focusingStrategy.toMethod("findNextElementToFocus", _typeReferenceBuilder.typeRef(YEmbeddable),
+ [
+ visibility = JvmVisibility.PROTECTED
+ parameters += focusingStrategy.toParameter("yParent", _typeReferenceBuilder.typeRef(YLayout))
+ parameters += focusingStrategy.toParameter("index", _typeReferenceBuilder.typeRef(int))
+ parameters += focusingStrategy.toParameter("yLayout", _typeReferenceBuilder.typeRef(YStrategyLayout))
+ body = [append(focusingStrategy.findNextElementToFocus)]
+ ])
+
+ // create findNextElementToFocusInSingularLayout
+ type.members += focusingStrategy.toMethod("findNextElementToFocusInSingularLayout", _typeReferenceBuilder.typeRef(YEmbeddable),
+ [
+ visibility = JvmVisibility.PROTECTED
+ parameters += focusingStrategy.toParameter("yParent", _typeReferenceBuilder.typeRef(YLayout))
+ parameters += focusingStrategy.toParameter("index", _typeReferenceBuilder.typeRef(int))
+ body = [append(focusingStrategy.findNextElementToFocusInSingularLayout)]
+ ])
+
+ // create findNextElementToFocusInAComplexLayout
+ type.members += focusingStrategy.toMethod("findNextElementToFocusInAComplexLayout", _typeReferenceBuilder.typeRef(YEmbeddable),
+ [
+ visibility = JvmVisibility.PROTECTED
+ parameters += focusingStrategy.toParameter("yParent", _typeReferenceBuilder.typeRef(YLayout))
+ parameters += focusingStrategy.toParameter("layout", _typeReferenceBuilder.typeRef(YLayout))
+ parameters += focusingStrategy.toParameter("index", _typeReferenceBuilder.typeRef(int))
+ body = [append(focusingStrategy.findNextElementToFocusInAComplexLayout)]
+ ])
+
+ // create getIndexToFocus
+ type.members += focusingStrategy.toMethod("getIndexToFocus", _typeReferenceBuilder.typeRef(int),
+ [
+ visibility = JvmVisibility.PROTECTED
+ parameters += focusingStrategy.toParameter("yParent", _typeReferenceBuilder.typeRef(YLayout))
+ parameters += focusingStrategy.toParameter("idx", _typeReferenceBuilder.typeRef(int))
+ body = [append(focusingStrategy.indexToFocus)]
+ ])
+
+ // create getKeyStrokeDefinition
+ type.members += focusingStrategy.toMethod("getKeyStrokeDefinition", _typeReferenceBuilder.typeRef(KeyStrokeDefinition),
+ [
+ annotations += _annotationTypesBuilder.annotationRef(typeof(Override))
+ visibility = JvmVisibility.PUBLIC
+ body = [append(focusingStrategy.keyStrokeDefinitionBody)]
+ ])
+
+ }
+
+ def String getFindElementToFocus(FocusingStrategy focusingStrategy){
+ return '''
+ if (yElement == null) {
+ return null;
+ }
+ YLayout yParent = yElement.getParent();
+ YEmbeddable nextFocusElement = null;
+ if (yParent != null){
+ int index = yParent.getElements().indexOf(yElement);
+ «IF focusingStrategy.focus.literal.equals(FocusingEnum.FORWARD.literal)»
+ if (index != yParent.getElements().size() - 1){
+ «ELSEIF focusingStrategy.focus.literal.equals(FocusingEnum.BACKWARD.literal)»
+ if (index != 0){
+ «ENDIF»
+ index = getIndexToFocus(yParent, index);
+ nextFocusElement = yParent.getElements().get(index);
+ } else {
+ nextFocusElement = findNextElementToFocus(yParent, index, yLayout);
+ }
+ // temporary solution until focus on BlobUploadComponent works
+ if (nextFocusElement instanceof org.eclipse.osbp.ecview.extension.model.YBlobUploadComponent){
+ nextFocusElement = findElementToFocus(nextFocusElement, yLayout);
+ } else if (nextFocusElement instanceof YField){
+ YField field = ((YField) nextFocusElement);
+ if (!field.isEditable() || !field.isEnabled() || !field.isVisible()){
+ nextFocusElement = findElementToFocus(nextFocusElement, yLayout);
+ }
+ }
+ }
+ return nextFocusElement;'''
+ }
+
+ def String getFindNextElementToFocus(FocusingStrategy focusingStrategy){
+ return '''
+ YLayout yParentTemp = yParent;
+ YLayoutingInfo layoutingInfo = yLayout.getLayoutingInfo();
+ if (layoutingInfo != null){
+ YEmbeddable content = layoutingInfo.getContent();
+ if (content instanceof YLayout){
+ YLayout layout = (YLayout) content;
+ // in case of only a singular layout within the StrategyLayout
+ if (yParent.equals(layout)){
+ return findNextElementToFocusInSingularLayout(yParent, index);
+ } else {
+ return findNextElementToFocusInAComplexLayout(yParent, layout, index);
+ }
+ }
+ }
+ return null;'''
+ }
+
+ def String findNextElementToFocusInSingularLayout(FocusingStrategy focusingStrategy){
+ return '''
+ int idx = getIndexToFocus(yParent, index);
+ return yParent.getElements().get(idx);'''
+ }
+
+ def String findNextElementToFocusInAComplexLayout(FocusingStrategy focusingStrategy){
+ return '''
+ int layoutElementListSize = layout.getElements().size();
+ // in case of more than one element
+ if (layoutElementListSize > 0){
+ for (int i = 0; i < layoutElementListSize; i++) {
+ YEmbeddable layoutElement = layout.getElement(i);
+ // in case that the layout elements are again layouts
+ if (layoutElement instanceof YLayout){
+ // in case that the layout containing the focus event sending element is found
+ if (yParent.equals(layoutElement)){
+ «IF focusingStrategy.focus.literal.equals(FocusingEnum.FORWARD.literal)»
+ if (i!=layoutElementListSize-1){
+ i = i+1;
+ } else {
+ i = 0;
+ }
+ // find next layout
+ YLayout yParentTemp = (YLayout)layout.getElement(i);
+ // get the first element of the layout
+ return yParentTemp.getElement(0);
+ «ELSEIF focusingStrategy.focus.literal.equals(FocusingEnum.BACKWARD.literal)»
+ if (i!=0){
+ i = i-1;
+ } else {
+ i = layoutElementListSize - 1;
+ }
+ // find next layout
+ YLayout yParentTemp = (YLayout)layout.getElement(i);
+ // get the last element of the layout
+ int idx = yParentTemp.getElements().size() - 1;
+ return yParentTemp.getElement(idx);
+ «ENDIF»
+ } else {
+ YEmbeddable yEmbeddable = findNextElementToFocusInAComplexLayout(yParent, (YLayout)layoutElement, index);
+ // without this if statement the for loop will be broken.
+ if (yEmbeddable!=null){
+ return yEmbeddable;
+ }
+ }
+ }
+ }
+ } else {
+ YEmbeddable layoutElement = layout.getElement(0);
+ // in case that the layout containing the focus event sending element is found
+ if (yParent.equals(layoutElement)){
+ return findNextElementToFocusInSingularLayout(yParent, index);
+ } else {
+ // in case that the layout elements are again layouts
+ if (layoutElement instanceof YLayout){
+ return findNextElementToFocusInAComplexLayout(yParent, (YLayout)layoutElement, index);
+ }
+ }
+ }
+ return null;'''
+ }
+
+ def String getIndexToFocus(FocusingStrategy focusingStrategy){
+ var body = '''int index = idx;'''
+ if (focusingStrategy.focus.literal.equals(FocusingEnum.FORWARD.literal)){
+ body = '''«body»«forwardFocusBodyCode»'''
+ } else if (focusingStrategy.focus.literal.equals(FocusingEnum.BACKWARD.literal)){
+ body = '''«body»«backwardFocusBodyCode»'''
+ }
+ return '''«body»return index;'''
+ }
+
+ def String getKeyStrokeDefinitionBody(FocusingStrategy focusingStrategy){
+ var body = ''''''
+ var modifierKeysLength = 0
+ if (focusingStrategy.modifierKeys!=null){
+ modifierKeysLength = focusingStrategy.modifierKeys.length
+ }
+ body = '''«body»int[] modifierKeys = new int[«modifierKeysLength»];'''
+ if (!focusingStrategy.modifierKeys.empty){
+ var idx = 0
+ for (modifierKey : focusingStrategy.modifierKeys){
+ body = '''«body»
+ modifierKeys[«idx»] = ModifierKey.«modifierKey»;'''
+ idx++
+ }
+ }
+ if (focusingStrategy.keyCode!=null && !focusingStrategy.keyCode.empty){
+ body = '''«body»
+ KeyStrokeDefinition def = new KeyStrokeDefinition("", KeyCode.«focusingStrategy.keyCode», modifierKeys);
+ return def;'''
+ }
+ return body
+ }
+
+ def getForwardFocusBodyCode() '''
+ if (index == yParent.getElements().size() - 1) {
+ // element is the last -> Start again
+ index = 0;
+ } else {
+ // use the next element
+ index = index + 1;
+ }
+ '''
+
+ def getBackwardFocusBodyCode() '''
+ if (index == 0) {
+ // element is the first -> Start again
+ index = yParent.getElements().size() - 1;
+ } else {
+ // use the previous element
+ index = index - 1;
+ }
+ '''
+
+ // Provider Methods
+ /**
+ * <p>build the class variables.</p>
+ *
+ */
+ def void toProviderFields(JvmGenericType type, FocusingStrategy focusingStrategy){
+ var JvmField field = null
+
+ // create logger
+ field = focusingStrategy.toField("ID", _typeReferenceBuilder.typeRef(String))[
+ setInitializer([append('''"«focusingStrategy.ecviewFocusingId»"''')])]
+ field.final = true
+ field.static = true
+ type.members += field
+
+ }
+
+ def void toProviderOperations(JvmGenericType type, FocusingStrategy focusingStrategy){
+ // create focus
+ type.members += focusingStrategy.toMethod("getStrategy", _typeReferenceBuilder.typeRef(IFocusingStrategy),
+ [
+ annotations += _annotationTypesBuilder.annotationRef(typeof(Override))
+ visibility = JvmVisibility.PUBLIC
+ body = [append('''return new «focusingStrategy.strategyClassName»();''')]
+ ])
+ }
+
+ // Helper Methods
+ def getStrategyClassName(FocusingStrategy focusingStrategy)'''«focusingStrategy.name»«focusingStrategy.focus.literal»«FOCUSING_STRATEGY_PREFIX»'''
+ def getStrategyProviderClassName(FocusingStrategy focusingStrategy)'''«focusingStrategy.name»«focusingStrategy.focus.literal»«FOCUSING_STRATEGY_PROVIDER_PREFIX»'''
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLJvmModelInferrer.xtend b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLJvmModelInferrer.xtend
new file mode 100644
index 0000000..193f9a6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLJvmModelInferrer.xtend
@@ -0,0 +1,106 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.jvmmodel
+
+import com.google.inject.Inject
+import org.eclipse.osbp.xtext.strategy.StrategyModel
+import org.eclipse.xtext.common.types.JvmDeclaredType
+import org.eclipse.xtext.xbase.jvmmodel.AbstractModelInferrer
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor.IPostIndexingInitializing
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
+import org.eclipse.osbp.xtext.strategy.StrategyPackage
+import org.eclipse.osbp.xtext.strategy.Strategy
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer
+import org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder
+
+/**
+ * <p>Infers a JVM model from the source model.</p>
+ *
+ * <p>The JVM model should contain all elements that would appear in the Java code
+ * which is generated from the source model. Other models link against the JVM model rather than the source model.</p>
+ */
+class StrategyDSLJvmModelInferrer extends AbstractModelInferrer {
+
+ /**
+ * convenience API to build and initialize JVM types and their members.
+ */
+ @Inject extension JvmTypesBuilder
+ @Inject extension StrategyDSLLayoutingStrategyCreator
+ @Inject extension StrategyDSLFocusingStrategyCreator
+ @Inject extension StrategyDSLFocusingEnhancerCreator
+
+ /**
+ * The dispatch method {@code infer} is called for each instance of the
+ * given element's type that is contained in a resource.
+ *
+ * @param pckg
+ * the model to create one or more
+ * {@link JvmDeclaredType declared
+ * types} from.
+ * @param acceptor
+ * each created
+ * {@link JvmDeclaredType type}
+ * without a container should be passed to the acceptor in order
+ * get attached to the current resource. The acceptor's
+ * {@link IJvmDeclaredTypeAcceptor#accept(org.eclipse.xtext.common.types.JvmDeclaredType)
+ * accept(..)} method takes the constructed empty type for the
+ * pre-indexing phase. This one is further initialized in the
+ * indexing phase using the closure you pass to the returned
+ * {@link IPostIndexingInitializing#initializeLater(org.eclipse.xtext.xbase.lib.Procedures.Procedure1)
+ * initializeLater(..)}.
+ * @param isPreIndexingPhase
+ * whether the method is called in a pre-indexing phase, i.e.
+ * when the global index is not yet fully updated. You must not
+ * rely on linking using the index if isPreIndexingPhase is
+ * <code>true</code>.
+ */
+ def dispatch void infer(StrategyPackage pckg, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) {
+ println('''isPreIndexingPhase: «isPreIndexingPhase»''')
+ if (!isPreIndexingPhase) {
+ var strategy = pckg.strategy
+ if (strategy != null) {
+ for (LayoutingStrategy layoutingStrategy : strategy.targets.layoutingStrategies) {
+ pckg.createLayoutingStrategy(layoutingStrategy, acceptor, _annotationTypesBuilder,
+ _typeReferenceBuilder)
+ if (layoutingStrategy.equals(strategy.strategyDefault.defaultLayouting)){
+ pckg.createLayoutingStrategy(layoutingStrategy, acceptor, _annotationTypesBuilder,
+ _typeReferenceBuilder, true)
+ }
+ }
+ for (FocusingStrategy focusingStrategy : strategy.targets.focusingStrategies) {
+ pckg.createFocusingStrategy(focusingStrategy, acceptor, _annotationTypesBuilder,
+ _typeReferenceBuilder)
+ }
+ for (FocusingEnhancer focusingEnhancer : strategy.targets.focusingEnhancer) {
+ pckg.createFocusingEnhancer(focusingEnhancer, acceptor, _annotationTypesBuilder,
+ _typeReferenceBuilder)
+ if (focusingEnhancer.equals(strategy.strategyDefault.defaultFocusing)){
+ pckg.createFocusingEnhancer(focusingEnhancer, acceptor, _annotationTypesBuilder,
+ _typeReferenceBuilder, true)
+ }
+
+ }
+ }
+ }
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLLayoutingStrategyCreator.xtend b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLLayoutingStrategyCreator.xtend
new file mode 100644
index 0000000..879ce9b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLLayoutingStrategyCreator.xtend
@@ -0,0 +1,324 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.jvmmodel
+
+import org.eclipse.osbp.ecview.^extension.api.ILayoutingStrategy
+import org.eclipse.osbp.ecview.^extension.api.ILayoutingStrategyProvider
+import org.eclipse.osbp.ecview.^extension.model.YLayoutingInfo
+import org.eclipse.osbp.ecview.^extension.strategy.AbstractLayoutingStrategy
+import org.eclipse.osbp.utils.annotation.CommonUtils
+import org.eclipse.osbp.utils.constants.GeneratorConstants
+import org.eclipse.osbp.xtext.strategy.LayoutingEnum
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy
+import org.eclipse.osbp.xtext.strategy.StrategyPackage
+import org.eclipse.osbp.xtext.strategy.constants.StrategyConstants
+import java.util.List
+import javax.inject.Inject
+import org.eclipse.xtext.common.types.JvmDeclaredType
+import org.eclipse.xtext.common.types.JvmField
+import org.eclipse.xtext.common.types.JvmGenericType
+import org.eclipse.xtext.common.types.JvmVisibility
+import org.eclipse.xtext.common.types.util.TypeReferences
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor
+import org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable
+import org.eclipse.osbp.ecview.core.common.model.core.YLayout
+import org.eclipse.osbp.ecview.core.^extension.model.^extension.YFormLayout
+import org.osgi.service.component.annotations.Component
+
+class StrategyDSLLayoutingStrategyCreator {
+ @Inject extension JvmTypesBuilder
+ @Inject extension StrategyConstants
+ @Inject extension CommonUtils
+// @Inject
+// private TypeReferences references;
+
+ private JvmAnnotationReferenceBuilder _annotationTypesBuilder;
+ private JvmTypeReferenceBuilder _typeReferenceBuilder;
+
+ def void createLayoutingStrategy(StrategyPackage pckg, LayoutingStrategy layoutingStrategy,
+ IJvmDeclaredTypeAcceptor acceptor, JvmAnnotationReferenceBuilder annotationTypesBuilder,
+ JvmTypeReferenceBuilder typeReferenceBuilder) {
+ pckg.createLayoutingStrategy(layoutingStrategy, acceptor, annotationTypesBuilder, typeReferenceBuilder, false)
+ }
+
+ def void createLayoutingStrategy(StrategyPackage pckg, LayoutingStrategy layoutingStrategy,
+ IJvmDeclaredTypeAcceptor acceptor, JvmAnnotationReferenceBuilder annotationTypesBuilder,
+ JvmTypeReferenceBuilder typeReferenceBuilder, boolean osdefault) {
+ _annotationTypesBuilder = annotationTypesBuilder
+ _typeReferenceBuilder = typeReferenceBuilder
+
+ // creation of the AbstractLayoutingStrategy implementation
+ var clsStrategy = layoutingStrategy.toClass(
+ '''«pckg.name».«layoutingStrategy.getStrategyClassName(osdefault)»''')
+ clsStrategy.getSuperTypes().add(_typeReferenceBuilder.typeRef(typeof(AbstractLayoutingStrategy)))
+ acceptor.accept(clsStrategy,
+ [
+ documentation = GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION
+ it.toConstructor(layoutingStrategy)
+ it.toFields(layoutingStrategy)
+ it.toOperations(layoutingStrategy)
+ ])
+
+ // creation of the ILayoutingStrategyProvider implementation
+ var clsProvider = layoutingStrategy.toClass(
+ '''«pckg.name».«layoutingStrategy.getStrategyProviderClassName(osdefault)»''')
+ clsProvider.getSuperTypes().add(_typeReferenceBuilder.typeRef(typeof(ILayoutingStrategyProvider)))
+ acceptor.accept(clsProvider,
+ [
+ documentation = GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION
+ var annotationRef = _annotationTypesBuilder.annotationRef(typeof(Component))
+ annotationRef.addAnnAttr(layoutingStrategy, "immediate", true)
+ annotationRef.addAnnAttr(layoutingStrategy, "service",
+ _typeReferenceBuilder.typeRef(ILayoutingStrategyProvider))
+ var layoutingId = layoutingStrategy.strategyClassName
+ if (osdefault) {
+ layoutingId = "Default"
+ }
+ var propContent = '''ecview.layouting.id=«layoutingId»'''
+ annotationRef.addAnnAttr(layoutingStrategy, "property", propContent)
+ annotations += annotationRef
+ it.toProviderFields(layoutingStrategy, osdefault)
+ it.toProviderOperations(layoutingStrategy, osdefault)
+ ])
+ }
+
+ // Strategy Methods
+ /**
+ * <p>build the constructors to be used by an e4 application.</p>
+ *
+ */
+ def void toConstructor(JvmDeclaredType type, LayoutingStrategy layoutingStrategy) {
+ type.members += layoutingStrategy.toConstructor(
+ [
+ body = [
+ append(
+ '''
+ super(null);''')]
+ ])
+ }
+
+ /**
+ * <p>build the class variables.</p>
+ *
+ */
+ def void toFields(JvmGenericType type, LayoutingStrategy layoutingStrategy) {
+ var JvmField field = null
+ if (layoutingStrategy.isForm){
+// for (var i=0; i < 2 ; i++){
+ // create index
+ field = layoutingStrategy.toField('''index''', _typeReferenceBuilder.typeRef(int))
+ field.visibility = JvmVisibility.PRIVATE
+ type.members += field
+// }
+ // create FormLayoutList
+ field = layoutingStrategy.toField("formLayoutList", _typeReferenceBuilder.typeRef(List,_typeReferenceBuilder.typeRef(YFormLayout)))[setInitializer([append('''new ArrayList<>()''')])]
+ field.visibility = JvmVisibility.PRIVATE
+ type.members += field
+ }
+ }
+
+ def getContentFormLayoutBody(LayoutingStrategy layoutingStrategy)'''
+ YHorizontalLayout layout = ExtensionModelFactory.eINSTANCE.createYHorizontalLayout();
+ «layoutingStrategy.basicFormLayoutBody»
+ for (YFormLayout formLayoutListItem : formLayoutList){
+ layout.addElement(formLayoutListItem);
+ }
+ return layout;
+ '''
+
+ def String getBasicFormLayoutBody(LayoutingStrategy layoutingStrategy){
+ var formLayoutIdx = 1
+ if (layoutingStrategy.layout.literal.equals(LayoutingEnum.FORM2.literal)){
+ formLayoutIdx = 2
+ } else if (layoutingStrategy.layout.literal.equals(LayoutingEnum.FORM3.literal)){
+ formLayoutIdx = 3
+ }
+
+ var body = ''''''
+ for (var i=0; i < formLayoutIdx ; i++){
+ body = '''
+ «body»
+ formLayoutList.add(ExtensionModelFactory.eINSTANCE.createYFormLayout());'''
+ }
+ body
+ }
+
+ def void toOperations(JvmGenericType type, LayoutingStrategy layoutingStrategy) {
+
+// // create layout
+// type.members += layoutingStrategy.toMethod("layout", _typeReferenceBuilder.typeRef(Void::TYPE),
+// [
+// annotations += _annotationTypesBuilder.annotationRef(typeof(Override))
+// parameters +=
+// layoutingStrategy.toParameter("layoutingInfo", _typeReferenceBuilder.typeRef(YLayoutingInfo))
+// visibility = JvmVisibility.PUBLIC
+// body = [append(layoutingStrategy.layoutBody)]
+// ])
+
+ // create createContentLayout
+ type.members += layoutingStrategy.toMethod("createContentLayout", _typeReferenceBuilder.typeRef(YLayout),
+ [
+ visibility = JvmVisibility.PROTECTED
+ annotations += _annotationTypesBuilder.annotationRef(Override)
+ body = [append(layoutingStrategy.contentLayoutBody)]
+ ])
+
+ // create addElement
+ type.members += layoutingStrategy.toMethod("addElement", _typeReferenceBuilder.typeRef(Void::TYPE),
+ [
+ parameters += layoutingStrategy.toParameter("layout", _typeReferenceBuilder.typeRef(YLayout))
+ parameters += layoutingStrategy.toParameter("element", _typeReferenceBuilder.typeRef(YEmbeddable))
+ visibility = JvmVisibility.PROTECTED
+ annotations+= _annotationTypesBuilder.annotationRef(Override)
+ body = [
+ append(layoutingStrategy.addElementBody)]
+ ])
+ }
+
+ def CharSequence addElementBody(LayoutingStrategy layoutingStrategy){
+ if (layoutingStrategy.isForm) {
+ val modIdx = layoutingStrategy.modIdx
+ if (modIdx > 0){
+ '''
+ int idx = index % «modIdx»;
+ if (idx == 0) formLayoutList.get(0).addElement(element); else formLayoutList.get(idx).addElement(element);
+ index++;'''
+ }
+ } else {
+ '''layout.addElement(element);'''
+ }
+ }
+
+// def String getLayoutBody(LayoutingStrategy layoutingStrategy) {
+// var body = '''
+// YStrategyLayout yLayout = layoutingInfo.getLayout();
+// layoutingInfo.getActiveSuspectInfos().clear();
+// '''
+// if (layoutingStrategy.isForm) {
+// body = '''«body»«layoutingStrategy.formLayoutBody»'''
+// } else {
+// body = '''«body»«layoutingStrategy.simpleLayoutBody»'''
+// }
+// return body
+// }
+
+ def String getContentLayoutBody(LayoutingStrategy layoutingStrategy) {
+ if (layoutingStrategy.isForm) {
+ return '''«layoutingStrategy.contentFormLayoutBody»'''
+ } else {
+ return '''return ExtensionModelFactory.eINSTANCE.createY«layoutingStrategy.layout.literal»Layout();'''
+ }
+ }
+
+// def getSimpleLayoutBody(LayoutingStrategy layoutingStrategy) '''«layoutingStrategy.
+// getBasicLayoutBody(layoutingStrategy.layout.literal, "content.addElement(yEmbeddable)")»'''
+//
+// def String getFormLayoutBody(LayoutingStrategy layoutingStrategy) '''
+// «layoutingStrategy.basicFormLayoutBody»
+// «layoutingStrategy.getBasicLayoutBody(LayoutingEnum.HORIZONTAL.literal, "addElement(yEmbeddable)")»'''
+//
+// def String getBasicLayoutBody(LayoutingStrategy layoutingStrategy, String layoutName, String addElement) '''
+// Y«layoutName»Layout content = (Y«layoutName»Layout) createContentLayout();
+// for (YSuspect suspect : new ArrayList<YSuspect>(yLayout.getSuspects())) {
+// YSuspectInfo suspectInfo = layoutingInfo.createSuspectInfo(suspect);
+// // add the suspectInfo as active suspect
+// layoutingInfo.getActiveSuspectInfos().add(suspectInfo);
+//
+// YEmbeddable yEmbeddable = prepareElementForSuspect(suspectInfo);
+//
+// «addElement»;
+// }
+//
+// layoutingInfo.setContent(content);
+// '''
+
+ // Provider Methods
+ /**
+ * <p>build the class variables.</p>
+ *
+ */
+ def void toProviderFields(JvmGenericType type, LayoutingStrategy layoutingStrategy, boolean osdefault) {
+ var JvmField field = null
+
+ // create logger
+ field = layoutingStrategy.toField("ID", _typeReferenceBuilder.typeRef(String))[
+ setInitializer([append('''"«layoutingStrategy.getStrategyClassName(osdefault)»"''')]) final = true static = true]
+ type.members += field
+ }
+
+ def void toProviderOperations(JvmGenericType type, LayoutingStrategy layoutingStrategy, boolean osdefault) {
+
+ // create focus
+ type.members += layoutingStrategy.toMethod("getStrategy", _typeReferenceBuilder.typeRef(ILayoutingStrategy),
+ [
+ annotations += _annotationTypesBuilder.annotationRef(typeof(Override))
+ visibility = JvmVisibility.PUBLIC
+ body = [append('''return new «layoutingStrategy.getStrategyClassName(osdefault)»();''')]
+ ])
+ }
+
+ // Helper Methods
+ // Helper Methods
+ def String getStrategyClassName(LayoutingStrategy layoutingStrategy) {
+ layoutingStrategy.getStrategyClassName(false)
+ }
+
+ def String getStrategyClassName(LayoutingStrategy layoutingStrategy, boolean osdefault) {
+ var layoutingStrategyClassName = layoutingStrategy.notDefaultStrategyClassName
+ if (osdefault) {
+ layoutingStrategyClassName = layoutingStrategy.defaultStrategyClassName
+ }
+ return '''«layoutingStrategyClassName»'''
+ }
+
+ def String getStrategyProviderClassName(LayoutingStrategy layoutingStrategy) {
+ layoutingStrategy.getStrategyProviderClassName(false)
+ }
+
+ def String getStrategyProviderClassName(LayoutingStrategy layoutingStrategy, boolean osdefault) {
+ var layoutingStrategyProviderClassName = layoutingStrategy.notDefaultStrategyProviderClassName
+ if (osdefault) {
+ layoutingStrategyProviderClassName = layoutingStrategy.defaultStrategyProviderClassName
+ }
+ return '''«layoutingStrategyProviderClassName»'''
+ }
+
+ def int getModIdx(LayoutingStrategy layoutingStrategy){
+ if (layoutingStrategy.layout.literal.equals(LayoutingEnum.FORM2.literal)) {
+ return 2
+ } else if (layoutingStrategy.layout.literal.equals(LayoutingEnum.FORM3.literal)) {
+ return 3
+ }
+ return 0
+ }
+
+ def boolean isForm(LayoutingStrategy layoutingStrategy){
+ return ((layoutingStrategy.layout.literal.equals(LayoutingEnum.FORM2.literal)) || (layoutingStrategy.layout.literal.equals(LayoutingEnum.FORM3.literal)))
+ }
+
+ def getNotDefaultStrategyClassName(LayoutingStrategy layoutingStrategy) '''«layoutingStrategy.name»«LAYOUTING_STRATEGY_PREFIX»'''
+
+ def getDefaultStrategyClassName(LayoutingStrategy layoutingStrategy) '''Default«LAYOUTING_STRATEGY_PREFIX»'''
+
+ def getNotDefaultStrategyProviderClassName(LayoutingStrategy layoutingStrategy) '''«layoutingStrategy.name»«LAYOUTING_STRATEGY_PROVIDER_PREFIX»'''
+
+ def getDefaultStrategyProviderClassName(LayoutingStrategy layoutingStrategy) '''Default«LAYOUTING_STRATEGY_PROVIDER_PREFIX»'''
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/scoping/StrategyDSLScopeProvider.xtend b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/scoping/StrategyDSLScopeProvider.xtend
new file mode 100644
index 0000000..53db5ba
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/scoping/StrategyDSLScopeProvider.xtend
@@ -0,0 +1,48 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.scoping
+
+import org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsBatchScopeProvider
+
+/**
+ * This class contains custom scoping description.
+ *
+ * see : http://www.eclipse.org/Xtext/documentation.html#scoping
+ * on how and when to use it
+ *
+ */
+class StrategyDSLScopeProvider extends XbaseWithAnnotationsBatchScopeProvider {
+
+// @Override
+// override IScope getScope(EObject context, EReference reference) {
+// if (reference == StrategyDSLPackage.Literals.XXX) {
+// return getScope_OSFocusingStrategy_XXX(context)
+// } else if (reference == StrategyDSLPackage.Literals.XXX) {
+// return getScope_OSFocusingStrategy_XXX2(context)
+// } else {
+// return super.getScope(context, reference)
+// }
+// }
+//
+// def getScope_OSFocusingStrategy_XXX(EObject object) {
+// var result = <IEObjectDescription>newArrayList
+// result.add(EObjectDescription.create((f as XXX).name, (f as XXX)))
+// return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+// }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/validation/StrategyDSLValidator.xtend b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/validation/StrategyDSLValidator.xtend
new file mode 100644
index 0000000..8ad51a3
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/validation/StrategyDSLValidator.xtend
@@ -0,0 +1,38 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ *
+ */
+
+package org.eclipse.osbp.xtext.strategy.validation
+//import org.eclipse.xtext.validation.Check
+
+/**
+ * Custom validation rules.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#validation
+ */
+class StrategyDSLValidator extends AbstractStrategyDSLValidator {
+
+// public static val INVALID_NAME = 'invalidName'
+//
+// @Check
+// def checkGreetingStartsWithCapital(Greeting greeting) {
+// if (!Character.isUpperCase(greeting.name.charAt(0))) {
+// warning('Name should start with a capital',
+// MyDslPackage.Literals.GREETING__NAME,
+// INVALID_NAME)
+// }
+// }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/valueconverter/StrategyQualifiedNameProvider.java b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/valueconverter/StrategyQualifiedNameProvider.java
new file mode 100644
index 0000000..fd06e3b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/src/org/eclipse/osbp/xtext/strategy/valueconverter/StrategyQualifiedNameProvider.java
@@ -0,0 +1,53 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+package org.eclipse.osbp.xtext.strategy.valueconverter;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.xtext.strategy.StrategyDefault;
+import org.eclipse.xtext.naming.IQualifiedNameConverter;
+import org.eclipse.xtext.naming.QualifiedName;
+import org.eclipse.xtext.xbase.scoping.XbaseQualifiedNameProvider;
+
+import com.google.inject.Inject;
+
+/**
+ * The Class DatamartQualifiedNameProvider.
+ */
+@SuppressWarnings("restriction")
+public class StrategyQualifiedNameProvider extends XbaseQualifiedNameProvider {
+
+ /** The qualified name converter. */
+ @Inject
+ private IQualifiedNameConverter qualifiedNameConverter;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.xtext.xbase.scoping.XbaseQualifiedNameProvider#
+ * getFullyQualifiedName(org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public QualifiedName getFullyQualifiedName(EObject obj) {
+ if (obj == null) {
+ return QualifiedName.create("");
+ }
+
+ if(obj instanceof StrategyDefault) {
+ return QualifiedName.create("default");
+ }
+
+ return super.getFullyQualifiedName(obj);
+ }
+
+}
diff --git a/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/constants/StrategyConstants.java b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/constants/StrategyConstants.java
new file mode 100644
index 0000000..6e946ad
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/constants/StrategyConstants.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.constants;
+
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Functions.Function0;
+
+@SuppressWarnings("all")
+public class StrategyConstants {
+ public final String LAYOUTING_STRATEGY_PREFIX = "LayoutingStrategy";
+
+ public final String LAYOUTING_STRATEGY_PROVIDER_PREFIX = new Function0<String>() {
+ public String apply() {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append(StrategyConstants.this.LAYOUTING_STRATEGY_PREFIX, "");
+ _builder.append("Provider");
+ return _builder.toString();
+ }
+ }.apply();
+
+ public final String FOCUSING_STRATEGY_PREFIX = "FocusingStrategy";
+
+ public final String FOCUSING_STRATEGY_PROVIDER_PREFIX = new Function0<String>() {
+ public String apply() {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append(StrategyConstants.this.FOCUSING_STRATEGY_PREFIX, "");
+ _builder.append("Provider");
+ return _builder.toString();
+ }
+ }.apply();
+
+ public final String FOCUSING_ENHANCER_PREFIX = "FocusingEnhancer";
+}
diff --git a/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/formatting/StrategyDSLFormatter.java b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/formatting/StrategyDSLFormatter.java
new file mode 100644
index 0000000..6f6bda6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/formatting/StrategyDSLFormatter.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.formatting;
+
+import com.google.inject.Inject;
+import org.eclipse.osbp.utils.xtext.GenericFormatter;
+import org.eclipse.xtext.Grammar;
+import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter;
+import org.eclipse.xtext.formatting.impl.FormattingConfig;
+import org.eclipse.xtext.xbase.services.XtypeGrammarAccess;
+
+/**
+ * This class contains custom formatting description.
+ *
+ * see : http://www.eclipse.org/Xtext/documentation.html#formatting
+ * on how and when to use it
+ *
+ * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
+ */
+@SuppressWarnings("all")
+public class StrategyDSLFormatter extends AbstractDeclarativeFormatter {
+ @Inject
+ private XtypeGrammarAccess grammarAccess;
+
+ protected void configureFormatting(final FormattingConfig c) {
+ final GenericFormatter genericFormatter = new GenericFormatter();
+ Grammar _grammar = this.grammar.getGrammar();
+ genericFormatter.formatFirstLevelBlocks(c, _grammar, "Strategy", "StrategyImport");
+ genericFormatter.genericFormatting(c, this.grammar, this.grammarAccess);
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/generator/StrategyDSLGenerator.java b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/generator/StrategyDSLGenerator.java
new file mode 100644
index 0000000..7f4ac34
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/generator/StrategyDSLGenerator.java
@@ -0,0 +1,86 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.generator;
+
+import com.google.common.base.Objects;
+import java.util.ArrayList;
+import javax.inject.Inject;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.common.model.core.YField;
+import org.eclipse.osbp.ecview.core.common.model.core.YFocusable;
+import org.eclipse.osbp.ecview.core.common.model.core.YLayout;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.core.common.services.IWidgetAssocationsService;
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YCssLayout;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFormLayout;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayout;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YHorizontalLayout;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YVerticalLayout;
+import org.eclipse.osbp.ecview.core.util.emf.ModelUtil;
+import org.eclipse.osbp.ecview.extension.model.YDelegatingFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingInfo;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.eclipse.osbp.ecview.extension.model.YSuspect;
+import org.eclipse.osbp.ecview.extension.model.YSuspectInfo;
+import org.eclipse.osbp.runtime.common.keystroke.KeyCode;
+import org.eclipse.osbp.runtime.common.keystroke.ModifierKey;
+import org.eclipse.osbp.xtext.addons.AdvancedJvmModelGenerator;
+import org.eclipse.osbp.xtext.basic.generator.BasicDslGeneratorUtils;
+import org.eclipse.xtext.common.types.JvmGenericType;
+import org.eclipse.xtext.common.types.JvmType;
+import org.eclipse.xtext.common.types.JvmTypeReference;
+import org.eclipse.xtext.xbase.compiler.GeneratorConfig;
+import org.eclipse.xtext.xbase.compiler.ImportManager;
+import org.eclipse.xtext.xbase.compiler.output.TreeAppendable;
+import org.eclipse.xtext.xbase.lib.Extension;
+
+/**
+ * Generates code from your model files on save.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#TutorialCodeGeneration
+ */
+@SuppressWarnings("all")
+public class StrategyDSLGenerator extends AdvancedJvmModelGenerator {
+ @Inject
+ @Extension
+ private BasicDslGeneratorUtils _basicDslGeneratorUtils;
+
+ public TreeAppendable createAppendable(final EObject context, final ImportManager importManager, final GeneratorConfig config) {
+ TreeAppendable _xblockexpression = null;
+ {
+ if ((context instanceof JvmGenericType)) {
+ EList<JvmTypeReference> _superTypes = ((JvmGenericType) context).getSuperTypes();
+ for (final JvmTypeReference superType : _superTypes) {
+ JvmType _type = superType.getType();
+ boolean _notEquals = (!Objects.equal(_type, null));
+ if (_notEquals) {
+ Resource _eResource = ((JvmGenericType)context).eResource();
+ this.setBuilder(_eResource);
+ this._basicDslGeneratorUtils.addImportFor(this, importManager, this._typeReferenceBuilder, ArrayList.class, YView.class, IViewContext.class, IWidgetAssocationsService.class, YElement.class, YFocusable.class, YLayout.class, YHorizontalLayout.class, YVerticalLayout.class, YGridLayout.class, YFormLayout.class, YCssLayout.class, YEmbeddable.class, YField.class, ModelUtil.class, KeyCode.class, ModifierKey.class, ExtensionModelFactory.class, YECviewFactory.class, YDelegatingFocusingStrategy.class, YSuspect.class, YSuspectInfo.class, YStrategyLayout.class, YLayoutingInfo.class);
+ }
+ }
+ }
+ _xblockexpression = super.createAppendable(context, importManager, config);
+ }
+ return _xblockexpression;
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingEnhancerCreator.java b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingEnhancerCreator.java
new file mode 100644
index 0000000..6385461
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingEnhancerCreator.java
@@ -0,0 +1,187 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.jvmmodel;
+
+import javax.inject.Inject;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.eclipse.osbp.utils.annotation.CommonUtils;
+import org.eclipse.osbp.utils.constants.GeneratorConstants;
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer;
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy;
+import org.eclipse.osbp.xtext.strategy.StrategyPackage;
+import org.eclipse.osbp.xtext.strategy.constants.StrategyConstants;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.common.types.JvmAnnotationReference;
+import org.eclipse.xtext.common.types.JvmFormalParameter;
+import org.eclipse.xtext.common.types.JvmGenericType;
+import org.eclipse.xtext.common.types.JvmMember;
+import org.eclipse.xtext.common.types.JvmOperation;
+import org.eclipse.xtext.common.types.JvmTypeReference;
+import org.eclipse.xtext.common.types.JvmVisibility;
+import org.eclipse.xtext.xbase.compiler.output.ITreeAppendable;
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor;
+import org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder;
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder;
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder;
+import org.eclipse.xtext.xbase.lib.Extension;
+import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
+import org.osgi.service.component.annotations.Component;
+
+@SuppressWarnings("all")
+public class StrategyDSLFocusingEnhancerCreator {
+ @Inject
+ @Extension
+ private JvmTypesBuilder _jvmTypesBuilder;
+
+ @Inject
+ @Extension
+ private StrategyConstants _strategyConstants;
+
+ @Inject
+ @Extension
+ private CommonUtils _commonUtils;
+
+ private JvmAnnotationReferenceBuilder _annotationTypesBuilder;
+
+ private JvmTypeReferenceBuilder _typeReferenceBuilder;
+
+ public void createFocusingEnhancer(final StrategyPackage pckg, final FocusingEnhancer focusingEnhancer, final IJvmDeclaredTypeAcceptor acceptor, final JvmAnnotationReferenceBuilder annotationTypesBuilder, final JvmTypeReferenceBuilder typeReferenceBuilder) {
+ this.createFocusingEnhancer(pckg, focusingEnhancer, acceptor, annotationTypesBuilder, typeReferenceBuilder, false);
+ }
+
+ public void createFocusingEnhancer(final StrategyPackage pckg, final FocusingEnhancer focusingEnhancer, final IJvmDeclaredTypeAcceptor acceptor, final JvmAnnotationReferenceBuilder annotationTypesBuilder, final JvmTypeReferenceBuilder typeReferenceBuilder, final boolean osdefault) {
+ this._annotationTypesBuilder = annotationTypesBuilder;
+ this._typeReferenceBuilder = typeReferenceBuilder;
+ StringConcatenation _builder = new StringConcatenation();
+ String _name = pckg.getName();
+ _builder.append(_name, "");
+ _builder.append(".");
+ String _strategyClassName = this.getStrategyClassName(focusingEnhancer, osdefault);
+ _builder.append(_strategyClassName, "");
+ JvmGenericType clsStrategy = this._jvmTypesBuilder.toClass(focusingEnhancer, _builder.toString());
+ EList<JvmTypeReference> _superTypes = clsStrategy.getSuperTypes();
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(IFocusingEnhancer.class);
+ _superTypes.add(_typeRef);
+ final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() {
+ public void apply(final JvmGenericType it) {
+ StrategyDSLFocusingEnhancerCreator.this._jvmTypesBuilder.setDocumentation(it, GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION);
+ JvmAnnotationReference annotationRef = StrategyDSLFocusingEnhancerCreator.this._annotationTypesBuilder.annotationRef(Component.class);
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("ecview.focusing.enhancer.id=");
+ String _strategyClassName = StrategyDSLFocusingEnhancerCreator.this.getStrategyClassName(focusingEnhancer, osdefault);
+ _builder.append(_strategyClassName, "");
+ final String propContent = _builder.toString();
+ if (osdefault) {
+ String[] propContents = new String[2];
+ propContents[0] = propContent;
+ propContents[1] = "ecview.focusing.enhancer.default=true";
+ StrategyDSLFocusingEnhancerCreator.this._commonUtils.addAnnAttrArr(annotationRef, focusingEnhancer, "property", propContents);
+ } else {
+ StrategyDSLFocusingEnhancerCreator.this._commonUtils.addAnnAttr(annotationRef, focusingEnhancer, "property", propContent);
+ }
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ StrategyDSLFocusingEnhancerCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, annotationRef);
+ StrategyDSLFocusingEnhancerCreator.this.toOperations(it, focusingEnhancer);
+ }
+ };
+ acceptor.<JvmGenericType>accept(clsStrategy, _function);
+ }
+
+ public void toOperations(final JvmGenericType type, final FocusingEnhancer focusingEnhancer) {
+ EList<JvmMember> _members = type.getMembers();
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(Void.TYPE);
+ final Procedure1<JvmOperation> _function = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ JvmAnnotationReference _annotationRef = StrategyDSLFocusingEnhancerCreator.this._annotationTypesBuilder.annotationRef(Override.class);
+ StrategyDSLFocusingEnhancerCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
+ it.setVisibility(JvmVisibility.PUBLIC);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmTypeReference _typeRef = StrategyDSLFocusingEnhancerCreator.this._typeReferenceBuilder.typeRef(YStrategyLayout.class);
+ JvmFormalParameter _parameter = StrategyDSLFocusingEnhancerCreator.this._jvmTypesBuilder.toParameter(focusingEnhancer, "yLayout", _typeRef);
+ StrategyDSLFocusingEnhancerCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ String _enhanceFocusingBody = StrategyDSLFocusingEnhancerCreator.this.getEnhanceFocusingBody(focusingEnhancer);
+ it.append(_enhanceFocusingBody);
+ }
+ };
+ StrategyDSLFocusingEnhancerCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method = this._jvmTypesBuilder.toMethod(focusingEnhancer, "enhanceFocusing", _typeRef, _function);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method);
+ }
+
+ public String getEnhanceFocusingBody(final FocusingEnhancer focusingEnhancer) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("yLayout.getFocusingStrategies().clear();");
+ String body = _builder.toString();
+ int idx = 1;
+ EList<FocusingStrategy> _focusingStrategies = focusingEnhancer.getFocusingStrategies();
+ for (final FocusingStrategy focusingStrategy : _focusingStrategies) {
+ {
+ StringConcatenation _builder_1 = new StringConcatenation();
+ _builder_1.append(body, "");
+ _builder_1.newLineIfNotEmpty();
+ _builder_1.append("YDelegatingFocusingStrategy yStgy");
+ _builder_1.append(idx, "");
+ _builder_1.append(" = YECviewFactory.eINSTANCE.createYDelegatingFocusingStrategy();");
+ _builder_1.newLineIfNotEmpty();
+ _builder_1.append("yStgy");
+ _builder_1.append(idx, "");
+ _builder_1.append(".setDelegateStrategyId(\"");
+ String _ecviewFocusingId = focusingStrategy.getEcviewFocusingId();
+ _builder_1.append(_ecviewFocusingId, "");
+ _builder_1.append("\");");
+ _builder_1.newLineIfNotEmpty();
+ _builder_1.append("yLayout.getFocusingStrategies().add(yStgy");
+ _builder_1.append(idx, "");
+ _builder_1.append(");");
+ body = _builder_1.toString();
+ idx++;
+ }
+ }
+ return body;
+ }
+
+ public String getStrategyClassName(final FocusingEnhancer focusingEnhancer, final boolean osdefault) {
+ CharSequence focusingEnhancerClassName = this.getNotDefaultStrategyClassName(focusingEnhancer);
+ if (osdefault) {
+ CharSequence _defaultStrategyClassName = this.getDefaultStrategyClassName();
+ focusingEnhancerClassName = _defaultStrategyClassName;
+ }
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append(focusingEnhancerClassName, "");
+ return _builder.toString();
+ }
+
+ public CharSequence getNotDefaultStrategyClassName(final FocusingEnhancer focusingEnhancer) {
+ StringConcatenation _builder = new StringConcatenation();
+ String _name = focusingEnhancer.getName();
+ _builder.append(_name, "");
+ _builder.append(this._strategyConstants.FOCUSING_ENHANCER_PREFIX, "");
+ return _builder;
+ }
+
+ public CharSequence getDefaultStrategyClassName() {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("Default");
+ _builder.append(this._strategyConstants.FOCUSING_ENHANCER_PREFIX, "");
+ return _builder;
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingStrategyCreator.java b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingStrategyCreator.java
new file mode 100644
index 0000000..016c892
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLFocusingStrategyCreator.java
@@ -0,0 +1,849 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.jvmmodel;
+
+import com.google.common.base.Objects;
+import javax.inject.Inject;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.common.model.core.YLayout;
+import org.eclipse.osbp.ecview.extension.api.IFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.api.IFocusingStrategyProvider;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.eclipse.osbp.runtime.common.keystroke.KeyStrokeDefinition;
+import org.eclipse.osbp.utils.annotation.CommonUtils;
+import org.eclipse.osbp.utils.constants.GeneratorConstants;
+import org.eclipse.osbp.xtext.strategy.FocusingEnum;
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy;
+import org.eclipse.osbp.xtext.strategy.StrategyPackage;
+import org.eclipse.osbp.xtext.strategy.constants.StrategyConstants;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.common.types.JvmAnnotationReference;
+import org.eclipse.xtext.common.types.JvmField;
+import org.eclipse.xtext.common.types.JvmFormalParameter;
+import org.eclipse.xtext.common.types.JvmGenericType;
+import org.eclipse.xtext.common.types.JvmMember;
+import org.eclipse.xtext.common.types.JvmOperation;
+import org.eclipse.xtext.common.types.JvmTypeReference;
+import org.eclipse.xtext.common.types.JvmVisibility;
+import org.eclipse.xtext.common.types.util.TypeReferences;
+import org.eclipse.xtext.xbase.compiler.output.ITreeAppendable;
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor;
+import org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder;
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder;
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder;
+import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.Extension;
+import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
+import org.osgi.service.component.annotations.Component;
+
+@SuppressWarnings("all")
+public class StrategyDSLFocusingStrategyCreator {
+ @Inject
+ @Extension
+ private JvmTypesBuilder _jvmTypesBuilder;
+
+ @Inject
+ @Extension
+ private StrategyConstants _strategyConstants;
+
+ @Inject
+ @Extension
+ private CommonUtils _commonUtils;
+
+ @Inject
+ private TypeReferences references;
+
+ private JvmAnnotationReferenceBuilder _annotationTypesBuilder;
+
+ private JvmTypeReferenceBuilder _typeReferenceBuilder;
+
+ public void createFocusingStrategy(final StrategyPackage pckg, final FocusingStrategy focusingStrategy, final IJvmDeclaredTypeAcceptor acceptor, final JvmAnnotationReferenceBuilder annotationTypesBuilder, final JvmTypeReferenceBuilder typeReferenceBuilder) {
+ this._annotationTypesBuilder = annotationTypesBuilder;
+ this._typeReferenceBuilder = typeReferenceBuilder;
+ StringConcatenation _builder = new StringConcatenation();
+ String _name = pckg.getName();
+ _builder.append(_name, "");
+ _builder.append(".");
+ CharSequence _strategyClassName = this.getStrategyClassName(focusingStrategy);
+ _builder.append(_strategyClassName, "");
+ JvmGenericType clsStrategy = this._jvmTypesBuilder.toClass(focusingStrategy, _builder.toString());
+ EList<JvmTypeReference> _superTypes = clsStrategy.getSuperTypes();
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(IFocusingStrategy.class);
+ _superTypes.add(_typeRef);
+ final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() {
+ public void apply(final JvmGenericType it) {
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setDocumentation(it, GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION);
+ StrategyDSLFocusingStrategyCreator.this.toOperations(it, focusingStrategy);
+ }
+ };
+ acceptor.<JvmGenericType>accept(clsStrategy, _function);
+ StringConcatenation _builder_1 = new StringConcatenation();
+ String _name_1 = pckg.getName();
+ _builder_1.append(_name_1, "");
+ _builder_1.append(".");
+ CharSequence _strategyProviderClassName = this.getStrategyProviderClassName(focusingStrategy);
+ _builder_1.append(_strategyProviderClassName, "");
+ JvmGenericType clsProvider = this._jvmTypesBuilder.toClass(focusingStrategy, _builder_1.toString());
+ EList<JvmTypeReference> _superTypes_1 = clsProvider.getSuperTypes();
+ JvmTypeReference _typeRef_1 = this._typeReferenceBuilder.typeRef(IFocusingStrategyProvider.class);
+ _superTypes_1.add(_typeRef_1);
+ final Procedure1<JvmGenericType> _function_1 = new Procedure1<JvmGenericType>() {
+ public void apply(final JvmGenericType it) {
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setDocumentation(it, GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION);
+ JvmAnnotationReference annotationRef = StrategyDSLFocusingStrategyCreator.this._annotationTypesBuilder.annotationRef(Component.class);
+ StrategyDSLFocusingStrategyCreator.this._commonUtils.addAnnAttr(annotationRef, focusingStrategy, "immediate", Boolean.valueOf(true));
+ JvmTypeReference _typeRef = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(IFocusingStrategyProvider.class);
+ StrategyDSLFocusingStrategyCreator.this._commonUtils.addAnnAttr(annotationRef, focusingStrategy, "service", _typeRef);
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("ecview.focusing.id=");
+ String _ecviewFocusingId = focusingStrategy.getEcviewFocusingId();
+ _builder.append(_ecviewFocusingId, "");
+ String propContent = _builder.toString();
+ StrategyDSLFocusingStrategyCreator.this._commonUtils.addAnnAttr(annotationRef, focusingStrategy, "property", propContent);
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, annotationRef);
+ StrategyDSLFocusingStrategyCreator.this.toProviderFields(it, focusingStrategy);
+ StrategyDSLFocusingStrategyCreator.this.toProviderOperations(it, focusingStrategy);
+ }
+ };
+ acceptor.<JvmGenericType>accept(clsProvider, _function_1);
+ }
+
+ public void toOperations(final JvmGenericType type, final FocusingStrategy focusingStrategy) {
+ EList<JvmMember> _members = type.getMembers();
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(Void.TYPE);
+ final Procedure1<JvmOperation> _function = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ JvmAnnotationReference _annotationRef = StrategyDSLFocusingStrategyCreator.this._annotationTypesBuilder.annotationRef(Override.class);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
+ it.setVisibility(JvmVisibility.PUBLIC);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmTypeReference _typeRef = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(Object.class);
+ JvmFormalParameter _parameter = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "source", _typeRef);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ EList<JvmFormalParameter> _parameters_1 = it.getParameters();
+ JvmTypeReference _typeRef_1 = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(Object.class);
+ JvmFormalParameter _parameter_1 = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "target", _typeRef_1);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
+ EList<JvmFormalParameter> _parameters_2 = it.getParameters();
+ JvmTypeReference _typeRef_2 = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(YStrategyLayout.class);
+ JvmFormalParameter _parameter_2 = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "yLayout", _typeRef_2);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_2, _parameter_2);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("YView yView = yLayout.getView();");
+ _builder.newLine();
+ _builder.append("IViewContext context = ModelUtil.getViewContext(yView);");
+ _builder.newLine();
+ _builder.append("IWidgetAssocationsService<Object, ? extends YElement> service = context.getService(IWidgetAssocationsService.ID);");
+ _builder.newLine();
+ _builder.append("YEmbeddable yCurrentFocus = (YEmbeddable) service");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append(".getModelElement(target);");
+ _builder.newLine();
+ _builder.append("YEmbeddable yNextFocus = findElementToFocus(yCurrentFocus, yLayout);");
+ _builder.newLine();
+ _builder.append("yView.setCurrentFocus((YFocusable) yNextFocus);");
+ _builder.newLine();
+ it.append(_builder);
+ }
+ };
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method = this._jvmTypesBuilder.toMethod(focusingStrategy, "focus", _typeRef, _function);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method);
+ EList<JvmMember> _members_1 = type.getMembers();
+ JvmTypeReference _typeRef_1 = this._typeReferenceBuilder.typeRef(YEmbeddable.class);
+ final Procedure1<JvmOperation> _function_1 = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ it.setVisibility(JvmVisibility.PROTECTED);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmTypeReference _typeRef = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(YEmbeddable.class);
+ JvmFormalParameter _parameter = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "yElement", _typeRef);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ EList<JvmFormalParameter> _parameters_1 = it.getParameters();
+ JvmTypeReference _typeRef_1 = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(YStrategyLayout.class);
+ JvmFormalParameter _parameter_1 = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "yLayout", _typeRef_1);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ String _findElementToFocus = StrategyDSLFocusingStrategyCreator.this.getFindElementToFocus(focusingStrategy);
+ it.append(_findElementToFocus);
+ }
+ };
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method_1 = this._jvmTypesBuilder.toMethod(focusingStrategy, "findElementToFocus", _typeRef_1, _function_1);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_1, _method_1);
+ EList<JvmMember> _members_2 = type.getMembers();
+ JvmTypeReference _typeRef_2 = this._typeReferenceBuilder.typeRef(YEmbeddable.class);
+ final Procedure1<JvmOperation> _function_2 = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ it.setVisibility(JvmVisibility.PROTECTED);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmTypeReference _typeRef = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(YLayout.class);
+ JvmFormalParameter _parameter = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "yParent", _typeRef);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ EList<JvmFormalParameter> _parameters_1 = it.getParameters();
+ JvmTypeReference _typeRef_1 = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(int.class);
+ JvmFormalParameter _parameter_1 = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "index", _typeRef_1);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
+ EList<JvmFormalParameter> _parameters_2 = it.getParameters();
+ JvmTypeReference _typeRef_2 = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(YStrategyLayout.class);
+ JvmFormalParameter _parameter_2 = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "yLayout", _typeRef_2);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_2, _parameter_2);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ String _findNextElementToFocus = StrategyDSLFocusingStrategyCreator.this.getFindNextElementToFocus(focusingStrategy);
+ it.append(_findNextElementToFocus);
+ }
+ };
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method_2 = this._jvmTypesBuilder.toMethod(focusingStrategy, "findNextElementToFocus", _typeRef_2, _function_2);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_2, _method_2);
+ EList<JvmMember> _members_3 = type.getMembers();
+ JvmTypeReference _typeRef_3 = this._typeReferenceBuilder.typeRef(YEmbeddable.class);
+ final Procedure1<JvmOperation> _function_3 = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ it.setVisibility(JvmVisibility.PROTECTED);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmTypeReference _typeRef = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(YLayout.class);
+ JvmFormalParameter _parameter = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "yParent", _typeRef);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ EList<JvmFormalParameter> _parameters_1 = it.getParameters();
+ JvmTypeReference _typeRef_1 = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(int.class);
+ JvmFormalParameter _parameter_1 = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "index", _typeRef_1);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ String _findNextElementToFocusInSingularLayout = StrategyDSLFocusingStrategyCreator.this.findNextElementToFocusInSingularLayout(focusingStrategy);
+ it.append(_findNextElementToFocusInSingularLayout);
+ }
+ };
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method_3 = this._jvmTypesBuilder.toMethod(focusingStrategy, "findNextElementToFocusInSingularLayout", _typeRef_3, _function_3);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_3, _method_3);
+ EList<JvmMember> _members_4 = type.getMembers();
+ JvmTypeReference _typeRef_4 = this._typeReferenceBuilder.typeRef(YEmbeddable.class);
+ final Procedure1<JvmOperation> _function_4 = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ it.setVisibility(JvmVisibility.PROTECTED);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmTypeReference _typeRef = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(YLayout.class);
+ JvmFormalParameter _parameter = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "yParent", _typeRef);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ EList<JvmFormalParameter> _parameters_1 = it.getParameters();
+ JvmTypeReference _typeRef_1 = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(YLayout.class);
+ JvmFormalParameter _parameter_1 = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "layout", _typeRef_1);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
+ EList<JvmFormalParameter> _parameters_2 = it.getParameters();
+ JvmTypeReference _typeRef_2 = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(int.class);
+ JvmFormalParameter _parameter_2 = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "index", _typeRef_2);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_2, _parameter_2);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ String _findNextElementToFocusInAComplexLayout = StrategyDSLFocusingStrategyCreator.this.findNextElementToFocusInAComplexLayout(focusingStrategy);
+ it.append(_findNextElementToFocusInAComplexLayout);
+ }
+ };
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method_4 = this._jvmTypesBuilder.toMethod(focusingStrategy, "findNextElementToFocusInAComplexLayout", _typeRef_4, _function_4);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_4, _method_4);
+ EList<JvmMember> _members_5 = type.getMembers();
+ JvmTypeReference _typeRef_5 = this._typeReferenceBuilder.typeRef(int.class);
+ final Procedure1<JvmOperation> _function_5 = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ it.setVisibility(JvmVisibility.PROTECTED);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmTypeReference _typeRef = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(YLayout.class);
+ JvmFormalParameter _parameter = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "yParent", _typeRef);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ EList<JvmFormalParameter> _parameters_1 = it.getParameters();
+ JvmTypeReference _typeRef_1 = StrategyDSLFocusingStrategyCreator.this._typeReferenceBuilder.typeRef(int.class);
+ JvmFormalParameter _parameter_1 = StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.toParameter(focusingStrategy, "idx", _typeRef_1);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ String _indexToFocus = StrategyDSLFocusingStrategyCreator.this.getIndexToFocus(focusingStrategy);
+ it.append(_indexToFocus);
+ }
+ };
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method_5 = this._jvmTypesBuilder.toMethod(focusingStrategy, "getIndexToFocus", _typeRef_5, _function_5);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_5, _method_5);
+ EList<JvmMember> _members_6 = type.getMembers();
+ JvmTypeReference _typeRef_6 = this._typeReferenceBuilder.typeRef(KeyStrokeDefinition.class);
+ final Procedure1<JvmOperation> _function_6 = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ JvmAnnotationReference _annotationRef = StrategyDSLFocusingStrategyCreator.this._annotationTypesBuilder.annotationRef(Override.class);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
+ it.setVisibility(JvmVisibility.PUBLIC);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ String _keyStrokeDefinitionBody = StrategyDSLFocusingStrategyCreator.this.getKeyStrokeDefinitionBody(focusingStrategy);
+ it.append(_keyStrokeDefinitionBody);
+ }
+ };
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method_6 = this._jvmTypesBuilder.toMethod(focusingStrategy, "getKeyStrokeDefinition", _typeRef_6, _function_6);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_6, _method_6);
+ }
+
+ public String getFindElementToFocus(final FocusingStrategy focusingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("if (yElement == null) {");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("return null;");
+ _builder.newLine();
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("YLayout yParent = yElement.getParent();");
+ _builder.newLine();
+ _builder.append("YEmbeddable nextFocusElement = null;");
+ _builder.newLine();
+ _builder.append("if (yParent != null){");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("int index = yParent.getElements().indexOf(yElement);");
+ _builder.newLine();
+ {
+ FocusingEnum _focus = focusingStrategy.getFocus();
+ String _literal = _focus.getLiteral();
+ String _literal_1 = FocusingEnum.FORWARD.getLiteral();
+ boolean _equals = _literal.equals(_literal_1);
+ if (_equals) {
+ _builder.append("\t");
+ _builder.append("if (index != yParent.getElements().size() - 1){");
+ _builder.newLine();
+ } else {
+ FocusingEnum _focus_1 = focusingStrategy.getFocus();
+ String _literal_2 = _focus_1.getLiteral();
+ String _literal_3 = FocusingEnum.BACKWARD.getLiteral();
+ boolean _equals_1 = _literal_2.equals(_literal_3);
+ if (_equals_1) {
+ _builder.append("\t");
+ _builder.append("if (index != 0){");
+ _builder.newLine();
+ }
+ }
+ }
+ _builder.append("\t\t");
+ _builder.append("index = getIndexToFocus(yParent, index);");
+ _builder.newLine();
+ _builder.append("\t ");
+ _builder.append("nextFocusElement = yParent.getElements().get(index);");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("nextFocusElement = findNextElementToFocus(yParent, index, yLayout);");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("// temporary solution until focus on BlobUploadComponent works");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("if (nextFocusElement instanceof org.eclipse.osbp.ecview.extension.model.YBlobUploadComponent){");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("nextFocusElement = findElementToFocus(nextFocusElement, yLayout);");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("} else if (nextFocusElement instanceof YField){");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("YField field = ((YField) nextFocusElement);");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("if (!field.isEditable() || !field.isEnabled() || !field.isVisible()){");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("nextFocusElement = findElementToFocus(nextFocusElement, yLayout);");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("return nextFocusElement;");
+ return _builder.toString();
+ }
+
+ public String getFindNextElementToFocus(final FocusingStrategy focusingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("YLayout yParentTemp = yParent;");
+ _builder.newLine();
+ _builder.append("YLayoutingInfo layoutingInfo = yLayout.getLayoutingInfo();");
+ _builder.newLine();
+ _builder.append("if (layoutingInfo != null){");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("YEmbeddable content = layoutingInfo.getContent();");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("if (content instanceof YLayout){");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("YLayout layout = (YLayout) content;");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("// in case of only a singular layout within the StrategyLayout");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("if (yParent.equals(layout)){");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("return findNextElementToFocusInSingularLayout(yParent, index);");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("return findNextElementToFocusInAComplexLayout(yParent, layout, index);");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("return null;");
+ return _builder.toString();
+ }
+
+ public String findNextElementToFocusInSingularLayout(final FocusingStrategy focusingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("int idx = getIndexToFocus(yParent, index);");
+ _builder.newLine();
+ _builder.append("return yParent.getElements().get(idx);");
+ return _builder.toString();
+ }
+
+ public String findNextElementToFocusInAComplexLayout(final FocusingStrategy focusingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("int layoutElementListSize = layout.getElements().size();");
+ _builder.newLine();
+ _builder.append("// in case of more than one element");
+ _builder.newLine();
+ _builder.append("if (layoutElementListSize > 0){");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("for (int i = 0; i < layoutElementListSize; i++) {");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("YEmbeddable layoutElement = layout.getElement(i);");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("// in case that the layout elements are again layouts");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("if (layoutElement instanceof YLayout){");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("// in case that the layout containing the focus event sending element is found");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("if (yParent.equals(layoutElement)){");
+ _builder.newLine();
+ {
+ FocusingEnum _focus = focusingStrategy.getFocus();
+ String _literal = _focus.getLiteral();
+ String _literal_1 = FocusingEnum.FORWARD.getLiteral();
+ boolean _equals = _literal.equals(_literal_1);
+ if (_equals) {
+ _builder.append("\t\t\t\t");
+ _builder.append("if (i!=layoutElementListSize-1){");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("\t");
+ _builder.append("i = i+1;");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("\t");
+ _builder.append("i = 0;");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("// find next layout");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("YLayout yParentTemp = (YLayout)layout.getElement(i);");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("// get the first element of the layout");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("return yParentTemp.getElement(0);");
+ _builder.newLine();
+ } else {
+ FocusingEnum _focus_1 = focusingStrategy.getFocus();
+ String _literal_2 = _focus_1.getLiteral();
+ String _literal_3 = FocusingEnum.BACKWARD.getLiteral();
+ boolean _equals_1 = _literal_2.equals(_literal_3);
+ if (_equals_1) {
+ _builder.append("\t\t\t\t");
+ _builder.append("if (i!=0){");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("\t");
+ _builder.append("i = i-1;");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("\t");
+ _builder.append("i = layoutElementListSize - 1;");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("// find next layout");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("YLayout yParentTemp = (YLayout)layout.getElement(i);");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("// get the last element of the layout");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("int idx = yParentTemp.getElements().size() - 1;");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("return yParentTemp.getElement(idx);");
+ _builder.newLine();
+ }
+ }
+ }
+ _builder.append("\t\t\t");
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("YEmbeddable yEmbeddable = findNextElementToFocusInAComplexLayout(yParent, (YLayout)layoutElement, index);");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("// without this if statement the for loop will be broken.");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("if (yEmbeddable!=null){");
+ _builder.newLine();
+ _builder.append("\t\t\t\t\t");
+ _builder.append("return yEmbeddable;");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("YEmbeddable layoutElement = layout.getElement(0);");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("// in case that the layout containing the focus event sending element is found");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("if (yParent.equals(layoutElement)){");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("return findNextElementToFocusInSingularLayout(yParent, index);");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("// in case that the layout elements are again layouts");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("if (layoutElement instanceof YLayout){");
+ _builder.newLine();
+ _builder.append("\t\t\t");
+ _builder.append("return findNextElementToFocusInAComplexLayout(yParent, (YLayout)layoutElement, index);");
+ _builder.newLine();
+ _builder.append("\t\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("return null;");
+ return _builder.toString();
+ }
+
+ public String getIndexToFocus(final FocusingStrategy focusingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("int index = idx;");
+ String body = _builder.toString();
+ FocusingEnum _focus = focusingStrategy.getFocus();
+ String _literal = _focus.getLiteral();
+ String _literal_1 = FocusingEnum.FORWARD.getLiteral();
+ boolean _equals = _literal.equals(_literal_1);
+ if (_equals) {
+ StringConcatenation _builder_1 = new StringConcatenation();
+ _builder_1.append(body, "");
+ CharSequence _forwardFocusBodyCode = this.getForwardFocusBodyCode();
+ _builder_1.append(_forwardFocusBodyCode, "");
+ body = _builder_1.toString();
+ } else {
+ FocusingEnum _focus_1 = focusingStrategy.getFocus();
+ String _literal_2 = _focus_1.getLiteral();
+ String _literal_3 = FocusingEnum.BACKWARD.getLiteral();
+ boolean _equals_1 = _literal_2.equals(_literal_3);
+ if (_equals_1) {
+ StringConcatenation _builder_2 = new StringConcatenation();
+ _builder_2.append(body, "");
+ CharSequence _backwardFocusBodyCode = this.getBackwardFocusBodyCode();
+ _builder_2.append(_backwardFocusBodyCode, "");
+ body = _builder_2.toString();
+ }
+ }
+ StringConcatenation _builder_3 = new StringConcatenation();
+ _builder_3.append(body, "");
+ _builder_3.append("return index;");
+ return _builder_3.toString();
+ }
+
+ public String getKeyStrokeDefinitionBody(final FocusingStrategy focusingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ String body = _builder.toString();
+ int modifierKeysLength = 0;
+ EList<String> _modifierKeys = focusingStrategy.getModifierKeys();
+ boolean _notEquals = (!Objects.equal(_modifierKeys, null));
+ if (_notEquals) {
+ EList<String> _modifierKeys_1 = focusingStrategy.getModifierKeys();
+ int _length = ((Object[])Conversions.unwrapArray(_modifierKeys_1, Object.class)).length;
+ modifierKeysLength = _length;
+ }
+ StringConcatenation _builder_1 = new StringConcatenation();
+ _builder_1.append(body, "");
+ _builder_1.append("int[] modifierKeys = new int[");
+ _builder_1.append(modifierKeysLength, "");
+ _builder_1.append("];");
+ body = _builder_1.toString();
+ EList<String> _modifierKeys_2 = focusingStrategy.getModifierKeys();
+ boolean _isEmpty = _modifierKeys_2.isEmpty();
+ boolean _not = (!_isEmpty);
+ if (_not) {
+ int idx = 0;
+ EList<String> _modifierKeys_3 = focusingStrategy.getModifierKeys();
+ for (final String modifierKey : _modifierKeys_3) {
+ {
+ StringConcatenation _builder_2 = new StringConcatenation();
+ _builder_2.append(body, "");
+ _builder_2.newLineIfNotEmpty();
+ _builder_2.append("\t\t\t\t");
+ _builder_2.append("modifierKeys[");
+ _builder_2.append(idx, "\t\t\t\t");
+ _builder_2.append("] = ModifierKey.");
+ _builder_2.append(modifierKey, "\t\t\t\t");
+ _builder_2.append(";");
+ body = _builder_2.toString();
+ idx++;
+ }
+ }
+ }
+ boolean _and = false;
+ String _keyCode = focusingStrategy.getKeyCode();
+ boolean _notEquals_1 = (!Objects.equal(_keyCode, null));
+ if (!_notEquals_1) {
+ _and = false;
+ } else {
+ String _keyCode_1 = focusingStrategy.getKeyCode();
+ boolean _isEmpty_1 = _keyCode_1.isEmpty();
+ boolean _not_1 = (!_isEmpty_1);
+ _and = _not_1;
+ }
+ if (_and) {
+ StringConcatenation _builder_2 = new StringConcatenation();
+ _builder_2.append(body, "");
+ _builder_2.newLineIfNotEmpty();
+ _builder_2.append("\t\t\t\t");
+ _builder_2.append("KeyStrokeDefinition def = new KeyStrokeDefinition(\"\", KeyCode.");
+ String _keyCode_2 = focusingStrategy.getKeyCode();
+ _builder_2.append(_keyCode_2, "\t\t\t\t");
+ _builder_2.append(", modifierKeys);");
+ _builder_2.newLineIfNotEmpty();
+ _builder_2.append("\t\t\t\t");
+ _builder_2.append("return def;");
+ body = _builder_2.toString();
+ }
+ return body;
+ }
+
+ public CharSequence getForwardFocusBodyCode() {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("if (index == yParent.getElements().size() - 1) {");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("// element is the last -> Start again");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("index = 0;");
+ _builder.newLine();
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("// use the next element");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("index = index + 1;");
+ _builder.newLine();
+ _builder.append("}");
+ _builder.newLine();
+ return _builder;
+ }
+
+ public CharSequence getBackwardFocusBodyCode() {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("if (index == 0) {");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("// element is the first -> Start again");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("index = yParent.getElements().size() - 1;");
+ _builder.newLine();
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("// use the previous element");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("index = index - 1;");
+ _builder.newLine();
+ _builder.append("}");
+ _builder.newLine();
+ return _builder;
+ }
+
+ /**
+ * <p>build the class variables.</p>
+ */
+ public void toProviderFields(final JvmGenericType type, final FocusingStrategy focusingStrategy) {
+ JvmField field = null;
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(String.class);
+ final Procedure1<JvmField> _function = new Procedure1<JvmField>() {
+ public void apply(final JvmField it) {
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("\"");
+ String _ecviewFocusingId = focusingStrategy.getEcviewFocusingId();
+ _builder.append(_ecviewFocusingId, "");
+ _builder.append("\"");
+ it.append(_builder);
+ }
+ };
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setInitializer(it, _function);
+ }
+ };
+ JvmField _field = this._jvmTypesBuilder.toField(focusingStrategy, "ID", _typeRef, _function);
+ field = _field;
+ field.setFinal(true);
+ field.setStatic(true);
+ EList<JvmMember> _members = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
+ }
+
+ public void toProviderOperations(final JvmGenericType type, final FocusingStrategy focusingStrategy) {
+ EList<JvmMember> _members = type.getMembers();
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(IFocusingStrategy.class);
+ final Procedure1<JvmOperation> _function = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ JvmAnnotationReference _annotationRef = StrategyDSLFocusingStrategyCreator.this._annotationTypesBuilder.annotationRef(Override.class);
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
+ it.setVisibility(JvmVisibility.PUBLIC);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("return new ");
+ CharSequence _strategyClassName = StrategyDSLFocusingStrategyCreator.this.getStrategyClassName(focusingStrategy);
+ _builder.append(_strategyClassName, "");
+ _builder.append("();");
+ it.append(_builder);
+ }
+ };
+ StrategyDSLFocusingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method = this._jvmTypesBuilder.toMethod(focusingStrategy, "getStrategy", _typeRef, _function);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method);
+ }
+
+ public CharSequence getStrategyClassName(final FocusingStrategy focusingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ String _name = focusingStrategy.getName();
+ _builder.append(_name, "");
+ FocusingEnum _focus = focusingStrategy.getFocus();
+ String _literal = _focus.getLiteral();
+ _builder.append(_literal, "");
+ _builder.append(this._strategyConstants.FOCUSING_STRATEGY_PREFIX, "");
+ return _builder;
+ }
+
+ public CharSequence getStrategyProviderClassName(final FocusingStrategy focusingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ String _name = focusingStrategy.getName();
+ _builder.append(_name, "");
+ FocusingEnum _focus = focusingStrategy.getFocus();
+ String _literal = _focus.getLiteral();
+ _builder.append(_literal, "");
+ _builder.append(this._strategyConstants.FOCUSING_STRATEGY_PROVIDER_PREFIX, "");
+ return _builder;
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLJvmModelInferrer.java b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLJvmModelInferrer.java
new file mode 100644
index 0000000..c68070d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLJvmModelInferrer.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.jvmmodel;
+
+import com.google.common.base.Objects;
+import com.google.inject.Inject;
+import java.util.Arrays;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.xtext.strategy.FocusingEnhancer;
+import org.eclipse.osbp.xtext.strategy.FocusingStrategy;
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy;
+import org.eclipse.osbp.xtext.strategy.Strategy;
+import org.eclipse.osbp.xtext.strategy.StrategyDefault;
+import org.eclipse.osbp.xtext.strategy.StrategyPackage;
+import org.eclipse.osbp.xtext.strategy.StrategyTarget;
+import org.eclipse.osbp.xtext.strategy.jvmmodel.StrategyDSLFocusingEnhancerCreator;
+import org.eclipse.osbp.xtext.strategy.jvmmodel.StrategyDSLFocusingStrategyCreator;
+import org.eclipse.osbp.xtext.strategy.jvmmodel.StrategyDSLLayoutingStrategyCreator;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.common.types.JvmDeclaredType;
+import org.eclipse.xtext.xbase.jvmmodel.AbstractModelInferrer;
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor;
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor.IPostIndexingInitializing;
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder;
+import org.eclipse.xtext.xbase.lib.Extension;
+import org.eclipse.xtext.xbase.lib.InputOutput;
+
+/**
+ * <p>Infers a JVM model from the source model.</p>
+ *
+ * <p>The JVM model should contain all elements that would appear in the Java code
+ * which is generated from the source model. Other models link against the JVM model rather than the source model.</p>
+ */
+@SuppressWarnings("all")
+public class StrategyDSLJvmModelInferrer extends AbstractModelInferrer {
+ /**
+ * convenience API to build and initialize JVM types and their members.
+ */
+ @Inject
+ @Extension
+ private JvmTypesBuilder _jvmTypesBuilder;
+
+ @Inject
+ @Extension
+ private StrategyDSLLayoutingStrategyCreator _strategyDSLLayoutingStrategyCreator;
+
+ @Inject
+ @Extension
+ private StrategyDSLFocusingStrategyCreator _strategyDSLFocusingStrategyCreator;
+
+ @Inject
+ @Extension
+ private StrategyDSLFocusingEnhancerCreator _strategyDSLFocusingEnhancerCreator;
+
+ /**
+ * The dispatch method {@code infer} is called for each instance of the
+ * given element's type that is contained in a resource.
+ *
+ * @param pckg
+ * the model to create one or more
+ * {@link JvmDeclaredType declared
+ * types} from.
+ * @param acceptor
+ * each created
+ * {@link JvmDeclaredType type}
+ * without a container should be passed to the acceptor in order
+ * get attached to the current resource. The acceptor's
+ * {@link IJvmDeclaredTypeAcceptor#accept(org.eclipse.xtext.common.types.JvmDeclaredType)
+ * accept(..)} method takes the constructed empty type for the
+ * pre-indexing phase. This one is further initialized in the
+ * indexing phase using the closure you pass to the returned
+ * {@link IPostIndexingInitializing#initializeLater(org.eclipse.xtext.xbase.lib.Procedures.Procedure1)
+ * initializeLater(..)}.
+ * @param isPreIndexingPhase
+ * whether the method is called in a pre-indexing phase, i.e.
+ * when the global index is not yet fully updated. You must not
+ * rely on linking using the index if isPreIndexingPhase is
+ * <code>true</code>.
+ */
+ protected void _infer(final StrategyPackage pckg, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("isPreIndexingPhase: ");
+ _builder.append(isPreIndexingPhase, "");
+ InputOutput.<String>println(_builder.toString());
+ if ((!isPreIndexingPhase)) {
+ Strategy strategy = pckg.getStrategy();
+ boolean _notEquals = (!Objects.equal(strategy, null));
+ if (_notEquals) {
+ StrategyTarget _targets = strategy.getTargets();
+ EList<LayoutingStrategy> _layoutingStrategies = _targets.getLayoutingStrategies();
+ for (final LayoutingStrategy layoutingStrategy : _layoutingStrategies) {
+ {
+ this._strategyDSLLayoutingStrategyCreator.createLayoutingStrategy(pckg, layoutingStrategy, acceptor, this._annotationTypesBuilder,
+ this._typeReferenceBuilder);
+ StrategyDefault _strategyDefault = strategy.getStrategyDefault();
+ LayoutingStrategy _defaultLayouting = _strategyDefault.getDefaultLayouting();
+ boolean _equals = layoutingStrategy.equals(_defaultLayouting);
+ if (_equals) {
+ this._strategyDSLLayoutingStrategyCreator.createLayoutingStrategy(pckg, layoutingStrategy, acceptor, this._annotationTypesBuilder,
+ this._typeReferenceBuilder, true);
+ }
+ }
+ }
+ StrategyTarget _targets_1 = strategy.getTargets();
+ EList<FocusingStrategy> _focusingStrategies = _targets_1.getFocusingStrategies();
+ for (final FocusingStrategy focusingStrategy : _focusingStrategies) {
+ this._strategyDSLFocusingStrategyCreator.createFocusingStrategy(pckg, focusingStrategy, acceptor, this._annotationTypesBuilder,
+ this._typeReferenceBuilder);
+ }
+ StrategyTarget _targets_2 = strategy.getTargets();
+ EList<FocusingEnhancer> _focusingEnhancer = _targets_2.getFocusingEnhancer();
+ for (final FocusingEnhancer focusingEnhancer : _focusingEnhancer) {
+ {
+ this._strategyDSLFocusingEnhancerCreator.createFocusingEnhancer(pckg, focusingEnhancer, acceptor, this._annotationTypesBuilder,
+ this._typeReferenceBuilder);
+ StrategyDefault _strategyDefault = strategy.getStrategyDefault();
+ FocusingEnhancer _defaultFocusing = _strategyDefault.getDefaultFocusing();
+ boolean _equals = focusingEnhancer.equals(_defaultFocusing);
+ if (_equals) {
+ this._strategyDSLFocusingEnhancerCreator.createFocusingEnhancer(pckg, focusingEnhancer, acceptor, this._annotationTypesBuilder,
+ this._typeReferenceBuilder, true);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public void infer(final EObject pckg, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) {
+ if (pckg instanceof StrategyPackage) {
+ _infer((StrategyPackage)pckg, acceptor, isPreIndexingPhase);
+ return;
+ } else if (pckg != null) {
+ _infer(pckg, acceptor, isPreIndexingPhase);
+ return;
+ } else {
+ throw new IllegalArgumentException("Unhandled parameter types: " +
+ Arrays.<Object>asList(pckg, acceptor, isPreIndexingPhase).toString());
+ }
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLLayoutingStrategyCreator.java b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLLayoutingStrategyCreator.java
new file mode 100644
index 0000000..b564e2f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/jvmmodel/StrategyDSLLayoutingStrategyCreator.java
@@ -0,0 +1,489 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.jvmmodel;
+
+import java.util.List;
+import javax.inject.Inject;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.common.model.core.YLayout;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFormLayout;
+import org.eclipse.osbp.ecview.extension.api.ILayoutingStrategy;
+import org.eclipse.osbp.ecview.extension.api.ILayoutingStrategyProvider;
+import org.eclipse.osbp.ecview.extension.strategy.AbstractLayoutingStrategy;
+import org.eclipse.osbp.utils.annotation.CommonUtils;
+import org.eclipse.osbp.utils.constants.GeneratorConstants;
+import org.eclipse.osbp.xtext.strategy.LayoutingEnum;
+import org.eclipse.osbp.xtext.strategy.LayoutingStrategy;
+import org.eclipse.osbp.xtext.strategy.StrategyPackage;
+import org.eclipse.osbp.xtext.strategy.constants.StrategyConstants;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.common.types.JvmAnnotationReference;
+import org.eclipse.xtext.common.types.JvmConstructor;
+import org.eclipse.xtext.common.types.JvmDeclaredType;
+import org.eclipse.xtext.common.types.JvmField;
+import org.eclipse.xtext.common.types.JvmFormalParameter;
+import org.eclipse.xtext.common.types.JvmGenericType;
+import org.eclipse.xtext.common.types.JvmMember;
+import org.eclipse.xtext.common.types.JvmOperation;
+import org.eclipse.xtext.common.types.JvmTypeReference;
+import org.eclipse.xtext.common.types.JvmVisibility;
+import org.eclipse.xtext.xbase.compiler.output.ITreeAppendable;
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor;
+import org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder;
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder;
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder;
+import org.eclipse.xtext.xbase.lib.Extension;
+import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
+import org.osgi.service.component.annotations.Component;
+
+@SuppressWarnings("all")
+public class StrategyDSLLayoutingStrategyCreator {
+ @Inject
+ @Extension
+ private JvmTypesBuilder _jvmTypesBuilder;
+
+ @Inject
+ @Extension
+ private StrategyConstants _strategyConstants;
+
+ @Inject
+ @Extension
+ private CommonUtils _commonUtils;
+
+ private JvmAnnotationReferenceBuilder _annotationTypesBuilder;
+
+ private JvmTypeReferenceBuilder _typeReferenceBuilder;
+
+ public void createLayoutingStrategy(final StrategyPackage pckg, final LayoutingStrategy layoutingStrategy, final IJvmDeclaredTypeAcceptor acceptor, final JvmAnnotationReferenceBuilder annotationTypesBuilder, final JvmTypeReferenceBuilder typeReferenceBuilder) {
+ this.createLayoutingStrategy(pckg, layoutingStrategy, acceptor, annotationTypesBuilder, typeReferenceBuilder, false);
+ }
+
+ public void createLayoutingStrategy(final StrategyPackage pckg, final LayoutingStrategy layoutingStrategy, final IJvmDeclaredTypeAcceptor acceptor, final JvmAnnotationReferenceBuilder annotationTypesBuilder, final JvmTypeReferenceBuilder typeReferenceBuilder, final boolean osdefault) {
+ this._annotationTypesBuilder = annotationTypesBuilder;
+ this._typeReferenceBuilder = typeReferenceBuilder;
+ StringConcatenation _builder = new StringConcatenation();
+ String _name = pckg.getName();
+ _builder.append(_name, "");
+ _builder.append(".");
+ String _strategyClassName = this.getStrategyClassName(layoutingStrategy, osdefault);
+ _builder.append(_strategyClassName, "");
+ JvmGenericType clsStrategy = this._jvmTypesBuilder.toClass(layoutingStrategy, _builder.toString());
+ EList<JvmTypeReference> _superTypes = clsStrategy.getSuperTypes();
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(AbstractLayoutingStrategy.class);
+ _superTypes.add(_typeRef);
+ final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() {
+ public void apply(final JvmGenericType it) {
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.setDocumentation(it, GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION);
+ StrategyDSLLayoutingStrategyCreator.this.toConstructor(it, layoutingStrategy);
+ StrategyDSLLayoutingStrategyCreator.this.toFields(it, layoutingStrategy);
+ StrategyDSLLayoutingStrategyCreator.this.toOperations(it, layoutingStrategy);
+ }
+ };
+ acceptor.<JvmGenericType>accept(clsStrategy, _function);
+ StringConcatenation _builder_1 = new StringConcatenation();
+ String _name_1 = pckg.getName();
+ _builder_1.append(_name_1, "");
+ _builder_1.append(".");
+ String _strategyProviderClassName = this.getStrategyProviderClassName(layoutingStrategy, osdefault);
+ _builder_1.append(_strategyProviderClassName, "");
+ JvmGenericType clsProvider = this._jvmTypesBuilder.toClass(layoutingStrategy, _builder_1.toString());
+ EList<JvmTypeReference> _superTypes_1 = clsProvider.getSuperTypes();
+ JvmTypeReference _typeRef_1 = this._typeReferenceBuilder.typeRef(ILayoutingStrategyProvider.class);
+ _superTypes_1.add(_typeRef_1);
+ final Procedure1<JvmGenericType> _function_1 = new Procedure1<JvmGenericType>() {
+ public void apply(final JvmGenericType it) {
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.setDocumentation(it, GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION);
+ JvmAnnotationReference annotationRef = StrategyDSLLayoutingStrategyCreator.this._annotationTypesBuilder.annotationRef(Component.class);
+ StrategyDSLLayoutingStrategyCreator.this._commonUtils.addAnnAttr(annotationRef, layoutingStrategy, "immediate", Boolean.valueOf(true));
+ JvmTypeReference _typeRef = StrategyDSLLayoutingStrategyCreator.this._typeReferenceBuilder.typeRef(ILayoutingStrategyProvider.class);
+ StrategyDSLLayoutingStrategyCreator.this._commonUtils.addAnnAttr(annotationRef, layoutingStrategy, "service", _typeRef);
+ String layoutingId = StrategyDSLLayoutingStrategyCreator.this.getStrategyClassName(layoutingStrategy);
+ if (osdefault) {
+ layoutingId = "Default";
+ }
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("ecview.layouting.id=");
+ _builder.append(layoutingId, "");
+ String propContent = _builder.toString();
+ StrategyDSLLayoutingStrategyCreator.this._commonUtils.addAnnAttr(annotationRef, layoutingStrategy, "property", propContent);
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, annotationRef);
+ StrategyDSLLayoutingStrategyCreator.this.toProviderFields(it, layoutingStrategy, osdefault);
+ StrategyDSLLayoutingStrategyCreator.this.toProviderOperations(it, layoutingStrategy, osdefault);
+ }
+ };
+ acceptor.<JvmGenericType>accept(clsProvider, _function_1);
+ }
+
+ /**
+ * <p>build the constructors to be used by an e4 application.</p>
+ */
+ public void toConstructor(final JvmDeclaredType type, final LayoutingStrategy layoutingStrategy) {
+ EList<JvmMember> _members = type.getMembers();
+ final Procedure1<JvmConstructor> _function = new Procedure1<JvmConstructor>() {
+ public void apply(final JvmConstructor it) {
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("super(null);");
+ it.append(_builder);
+ }
+ };
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmConstructor _constructor = this._jvmTypesBuilder.toConstructor(layoutingStrategy, _function);
+ this._jvmTypesBuilder.<JvmConstructor>operator_add(_members, _constructor);
+ }
+
+ /**
+ * <p>build the class variables.</p>
+ */
+ public void toFields(final JvmGenericType type, final LayoutingStrategy layoutingStrategy) {
+ JvmField field = null;
+ boolean _isForm = this.isForm(layoutingStrategy);
+ if (_isForm) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("index");
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(int.class);
+ JvmField _field = this._jvmTypesBuilder.toField(layoutingStrategy, _builder.toString(), _typeRef);
+ field = _field;
+ field.setVisibility(JvmVisibility.PRIVATE);
+ EList<JvmMember> _members = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
+ JvmTypeReference _typeRef_1 = this._typeReferenceBuilder.typeRef(YFormLayout.class);
+ JvmTypeReference _typeRef_2 = this._typeReferenceBuilder.typeRef(List.class, _typeRef_1);
+ final Procedure1<JvmField> _function = new Procedure1<JvmField>() {
+ public void apply(final JvmField it) {
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("new ArrayList<>()");
+ it.append(_builder);
+ }
+ };
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.setInitializer(it, _function);
+ }
+ };
+ JvmField _field_1 = this._jvmTypesBuilder.toField(layoutingStrategy, "formLayoutList", _typeRef_2, _function);
+ field = _field_1;
+ field.setVisibility(JvmVisibility.PRIVATE);
+ EList<JvmMember> _members_1 = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members_1, field);
+ }
+ }
+
+ public CharSequence getContentFormLayoutBody(final LayoutingStrategy layoutingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("YHorizontalLayout layout = ExtensionModelFactory.eINSTANCE.createYHorizontalLayout();");
+ _builder.newLine();
+ String _basicFormLayoutBody = this.getBasicFormLayoutBody(layoutingStrategy);
+ _builder.append(_basicFormLayoutBody, "");
+ _builder.newLineIfNotEmpty();
+ _builder.append("for (YFormLayout formLayoutListItem : formLayoutList){");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("layout.addElement(formLayoutListItem);");
+ _builder.newLine();
+ _builder.append("}");
+ _builder.newLine();
+ _builder.append("return layout;");
+ _builder.newLine();
+ return _builder;
+ }
+
+ public String getBasicFormLayoutBody(final LayoutingStrategy layoutingStrategy) {
+ String _xblockexpression = null;
+ {
+ int formLayoutIdx = 1;
+ LayoutingEnum _layout = layoutingStrategy.getLayout();
+ String _literal = _layout.getLiteral();
+ String _literal_1 = LayoutingEnum.FORM2.getLiteral();
+ boolean _equals = _literal.equals(_literal_1);
+ if (_equals) {
+ formLayoutIdx = 2;
+ } else {
+ LayoutingEnum _layout_1 = layoutingStrategy.getLayout();
+ String _literal_2 = _layout_1.getLiteral();
+ String _literal_3 = LayoutingEnum.FORM3.getLiteral();
+ boolean _equals_1 = _literal_2.equals(_literal_3);
+ if (_equals_1) {
+ formLayoutIdx = 3;
+ }
+ }
+ StringConcatenation _builder = new StringConcatenation();
+ String body = _builder.toString();
+ for (int i = 0; (i < formLayoutIdx); i++) {
+ StringConcatenation _builder_1 = new StringConcatenation();
+ _builder_1.append(body, "");
+ _builder_1.newLineIfNotEmpty();
+ _builder_1.append("formLayoutList.add(ExtensionModelFactory.eINSTANCE.createYFormLayout());");
+ body = _builder_1.toString();
+ }
+ _xblockexpression = body;
+ }
+ return _xblockexpression;
+ }
+
+ public void toOperations(final JvmGenericType type, final LayoutingStrategy layoutingStrategy) {
+ EList<JvmMember> _members = type.getMembers();
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(YLayout.class);
+ final Procedure1<JvmOperation> _function = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ it.setVisibility(JvmVisibility.PROTECTED);
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ JvmAnnotationReference _annotationRef = StrategyDSLLayoutingStrategyCreator.this._annotationTypesBuilder.annotationRef(Override.class);
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ String _contentLayoutBody = StrategyDSLLayoutingStrategyCreator.this.getContentLayoutBody(layoutingStrategy);
+ it.append(_contentLayoutBody);
+ }
+ };
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method = this._jvmTypesBuilder.toMethod(layoutingStrategy, "createContentLayout", _typeRef, _function);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method);
+ EList<JvmMember> _members_1 = type.getMembers();
+ JvmTypeReference _typeRef_1 = this._typeReferenceBuilder.typeRef(Void.TYPE);
+ final Procedure1<JvmOperation> _function_1 = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmTypeReference _typeRef = StrategyDSLLayoutingStrategyCreator.this._typeReferenceBuilder.typeRef(YLayout.class);
+ JvmFormalParameter _parameter = StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.toParameter(layoutingStrategy, "layout", _typeRef);
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ EList<JvmFormalParameter> _parameters_1 = it.getParameters();
+ JvmTypeReference _typeRef_1 = StrategyDSLLayoutingStrategyCreator.this._typeReferenceBuilder.typeRef(YEmbeddable.class);
+ JvmFormalParameter _parameter_1 = StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.toParameter(layoutingStrategy, "element", _typeRef_1);
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
+ it.setVisibility(JvmVisibility.PROTECTED);
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ JvmAnnotationReference _annotationRef = StrategyDSLLayoutingStrategyCreator.this._annotationTypesBuilder.annotationRef(Override.class);
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ CharSequence _addElementBody = StrategyDSLLayoutingStrategyCreator.this.addElementBody(layoutingStrategy);
+ it.append(_addElementBody);
+ }
+ };
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method_1 = this._jvmTypesBuilder.toMethod(layoutingStrategy, "addElement", _typeRef_1, _function_1);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_1, _method_1);
+ }
+
+ public CharSequence addElementBody(final LayoutingStrategy layoutingStrategy) {
+ CharSequence _xifexpression = null;
+ boolean _isForm = this.isForm(layoutingStrategy);
+ if (_isForm) {
+ CharSequence _xblockexpression = null;
+ {
+ final int modIdx = this.getModIdx(layoutingStrategy);
+ CharSequence _xifexpression_1 = null;
+ if ((modIdx > 0)) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("int idx = index % ");
+ _builder.append(modIdx, "");
+ _builder.append(";");
+ _builder.newLineIfNotEmpty();
+ _builder.append("if (idx == 0) formLayoutList.get(0).addElement(element); else formLayoutList.get(idx).addElement(element);");
+ _builder.newLine();
+ _builder.append("index++;");
+ _xifexpression_1 = _builder;
+ }
+ _xblockexpression = _xifexpression_1;
+ }
+ _xifexpression = _xblockexpression;
+ } else {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("layout.addElement(element);");
+ _xifexpression = _builder;
+ }
+ return _xifexpression;
+ }
+
+ public String getContentLayoutBody(final LayoutingStrategy layoutingStrategy) {
+ boolean _isForm = this.isForm(layoutingStrategy);
+ if (_isForm) {
+ StringConcatenation _builder = new StringConcatenation();
+ CharSequence _contentFormLayoutBody = this.getContentFormLayoutBody(layoutingStrategy);
+ _builder.append(_contentFormLayoutBody, "");
+ return _builder.toString();
+ } else {
+ StringConcatenation _builder_1 = new StringConcatenation();
+ _builder_1.append("return ExtensionModelFactory.eINSTANCE.createY");
+ LayoutingEnum _layout = layoutingStrategy.getLayout();
+ String _literal = _layout.getLiteral();
+ _builder_1.append(_literal, "");
+ _builder_1.append("Layout();");
+ return _builder_1.toString();
+ }
+ }
+
+ /**
+ * <p>build the class variables.</p>
+ */
+ public void toProviderFields(final JvmGenericType type, final LayoutingStrategy layoutingStrategy, final boolean osdefault) {
+ JvmField field = null;
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(String.class);
+ final Procedure1<JvmField> _function = new Procedure1<JvmField>() {
+ public void apply(final JvmField it) {
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("\"");
+ String _strategyClassName = StrategyDSLLayoutingStrategyCreator.this.getStrategyClassName(layoutingStrategy, osdefault);
+ _builder.append(_strategyClassName, "");
+ _builder.append("\"");
+ it.append(_builder);
+ }
+ };
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.setInitializer(it, _function);
+ it.setFinal(true);
+ it.setStatic(true);
+ }
+ };
+ JvmField _field = this._jvmTypesBuilder.toField(layoutingStrategy, "ID", _typeRef, _function);
+ field = _field;
+ EList<JvmMember> _members = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
+ }
+
+ public void toProviderOperations(final JvmGenericType type, final LayoutingStrategy layoutingStrategy, final boolean osdefault) {
+ EList<JvmMember> _members = type.getMembers();
+ JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(ILayoutingStrategy.class);
+ final Procedure1<JvmOperation> _function = new Procedure1<JvmOperation>() {
+ public void apply(final JvmOperation it) {
+ EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+ JvmAnnotationReference _annotationRef = StrategyDSLLayoutingStrategyCreator.this._annotationTypesBuilder.annotationRef(Override.class);
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
+ it.setVisibility(JvmVisibility.PUBLIC);
+ final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+ public void apply(final ITreeAppendable it) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("return new ");
+ String _strategyClassName = StrategyDSLLayoutingStrategyCreator.this.getStrategyClassName(layoutingStrategy, osdefault);
+ _builder.append(_strategyClassName, "");
+ _builder.append("();");
+ it.append(_builder);
+ }
+ };
+ StrategyDSLLayoutingStrategyCreator.this._jvmTypesBuilder.setBody(it, _function);
+ }
+ };
+ JvmOperation _method = this._jvmTypesBuilder.toMethod(layoutingStrategy, "getStrategy", _typeRef, _function);
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method);
+ }
+
+ public String getStrategyClassName(final LayoutingStrategy layoutingStrategy) {
+ return this.getStrategyClassName(layoutingStrategy, false);
+ }
+
+ public String getStrategyClassName(final LayoutingStrategy layoutingStrategy, final boolean osdefault) {
+ CharSequence layoutingStrategyClassName = this.getNotDefaultStrategyClassName(layoutingStrategy);
+ if (osdefault) {
+ CharSequence _defaultStrategyClassName = this.getDefaultStrategyClassName(layoutingStrategy);
+ layoutingStrategyClassName = _defaultStrategyClassName;
+ }
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append(layoutingStrategyClassName, "");
+ return _builder.toString();
+ }
+
+ public String getStrategyProviderClassName(final LayoutingStrategy layoutingStrategy) {
+ return this.getStrategyProviderClassName(layoutingStrategy, false);
+ }
+
+ public String getStrategyProviderClassName(final LayoutingStrategy layoutingStrategy, final boolean osdefault) {
+ CharSequence layoutingStrategyProviderClassName = this.getNotDefaultStrategyProviderClassName(layoutingStrategy);
+ if (osdefault) {
+ CharSequence _defaultStrategyProviderClassName = this.getDefaultStrategyProviderClassName(layoutingStrategy);
+ layoutingStrategyProviderClassName = _defaultStrategyProviderClassName;
+ }
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append(layoutingStrategyProviderClassName, "");
+ return _builder.toString();
+ }
+
+ public int getModIdx(final LayoutingStrategy layoutingStrategy) {
+ LayoutingEnum _layout = layoutingStrategy.getLayout();
+ String _literal = _layout.getLiteral();
+ String _literal_1 = LayoutingEnum.FORM2.getLiteral();
+ boolean _equals = _literal.equals(_literal_1);
+ if (_equals) {
+ return 2;
+ } else {
+ LayoutingEnum _layout_1 = layoutingStrategy.getLayout();
+ String _literal_2 = _layout_1.getLiteral();
+ String _literal_3 = LayoutingEnum.FORM3.getLiteral();
+ boolean _equals_1 = _literal_2.equals(_literal_3);
+ if (_equals_1) {
+ return 3;
+ }
+ }
+ return 0;
+ }
+
+ public boolean isForm(final LayoutingStrategy layoutingStrategy) {
+ boolean _or = false;
+ LayoutingEnum _layout = layoutingStrategy.getLayout();
+ String _literal = _layout.getLiteral();
+ String _literal_1 = LayoutingEnum.FORM2.getLiteral();
+ boolean _equals = _literal.equals(_literal_1);
+ if (_equals) {
+ _or = true;
+ } else {
+ LayoutingEnum _layout_1 = layoutingStrategy.getLayout();
+ String _literal_2 = _layout_1.getLiteral();
+ String _literal_3 = LayoutingEnum.FORM3.getLiteral();
+ boolean _equals_1 = _literal_2.equals(_literal_3);
+ _or = _equals_1;
+ }
+ return _or;
+ }
+
+ public CharSequence getNotDefaultStrategyClassName(final LayoutingStrategy layoutingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ String _name = layoutingStrategy.getName();
+ _builder.append(_name, "");
+ _builder.append(this._strategyConstants.LAYOUTING_STRATEGY_PREFIX, "");
+ return _builder;
+ }
+
+ public CharSequence getDefaultStrategyClassName(final LayoutingStrategy layoutingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("Default");
+ _builder.append(this._strategyConstants.LAYOUTING_STRATEGY_PREFIX, "");
+ return _builder;
+ }
+
+ public CharSequence getNotDefaultStrategyProviderClassName(final LayoutingStrategy layoutingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ String _name = layoutingStrategy.getName();
+ _builder.append(_name, "");
+ _builder.append(this._strategyConstants.LAYOUTING_STRATEGY_PROVIDER_PREFIX, "");
+ return _builder;
+ }
+
+ public CharSequence getDefaultStrategyProviderClassName(final LayoutingStrategy layoutingStrategy) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("Default");
+ _builder.append(this._strategyConstants.LAYOUTING_STRATEGY_PROVIDER_PREFIX, "");
+ return _builder;
+ }
+}
diff --git a/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/scoping/StrategyDSLScopeProvider.java b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/scoping/StrategyDSLScopeProvider.java
new file mode 100644
index 0000000..5a8f3e4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/scoping/StrategyDSLScopeProvider.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.scoping;
+
+import org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsBatchScopeProvider;
+
+/**
+ * This class contains custom scoping description.
+ *
+ * see : http://www.eclipse.org/Xtext/documentation.html#scoping
+ * on how and when to use it
+ */
+@SuppressWarnings("all")
+public class StrategyDSLScopeProvider extends XbaseWithAnnotationsBatchScopeProvider {
+}
diff --git a/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/validation/StrategyDSLValidator.java b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/validation/StrategyDSLValidator.java
new file mode 100644
index 0000000..b785a56
--- /dev/null
+++ b/org.eclipse.osbp.xtext.strategy/xtend-gen/org/eclipse/osbp/xtext/strategy/validation/StrategyDSLValidator.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ *
+ * This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.strategy.validation;
+
+import org.eclipse.osbp.xtext.strategy.validation.AbstractStrategyDSLValidator;
+
+/**
+ * Custom validation rules.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#validation
+ */
+@SuppressWarnings("all")
+public class StrategyDSLValidator extends AbstractStrategyDSLValidator {
+}
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..92a6537
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany). -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation API and implementation -->
+<!--#======================================================================= -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.osbp.releng.maven</groupId>
+ <artifactId>org.eclipse.osbp.releng.maven.parent.tycho</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.eclipse.osbp.xtext.strategy</groupId>
+ <artifactId>org.eclipse.osbp.xtext.strategy.aggregator</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <url>${osbp.site.repository.url}</url>
+ <scm>
+ <url>${osbp.scm.url}</url>
+ <connection>${osbp.scm.connection}</connection>
+ <developerConnection>${osbp.scm.connection.dev}</developerConnection>
+ <tag>HEAD</tag>
+ </scm>
+ <distributionManagement>
+ <site>
+ <id>gh-pages</id>
+ <name>OSBP GitHub Pages</name>
+ <url>${distribution.site.url}</url>
+ </site>
+ </distributionManagement>
+
+ <properties>
+ <osbp.gitrepo.name>${project.groupId}</osbp.gitrepo.name>
+ </properties>
+
+ <modules>
+ <module>org.eclipse.osbp.xtext.strategy</module>
+ <module>org.eclipse.osbp.xtext.strategy.ui</module>
+ <module>org.eclipse.osbp.xtext.strategy.tests</module>
+ <module>org.eclipse.osbp.xtext.strategy.feature</module>
+ </modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <resolver>p2</resolver>
+ <pomDependencies>consider</pomDependencies>
+ <environments>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>macosx</os>
+ <ws>cocoa</ws>
+ <arch>x86_64</arch>
+ </environment>
+ </environments>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>

Back to the top