Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcmraidha2011-03-28 21:36:14 +0000
committercmraidha2011-03-28 21:36:14 +0000
commite18c6f15991a7ad74a0ee4bfec09e91718319bf3 (patch)
tree8ae6e2bc733b0de581303755c00ba050e70bee27 /extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl
parentbeeac2826a9218b640251ce64feb469c3841c752 (diff)
downloadorg.eclipse.papyrus-e18c6f15991a7ad74a0ee4bfec09e91718319bf3.tar.gz
org.eclipse.papyrus-e18c6f15991a7ad74a0ee4bfec09e91718319bf3.tar.xz
org.eclipse.papyrus-e18c6f15991a7ad74a0ee4bfec09e91718319bf3.zip
Merged with branch 0.7.X.
Diffstat (limited to 'extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl')
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/AbstractStereotypeApplicationWithVSLRuntimeModule.java122
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.ecore65
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.genmodel38
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.xmi1195
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSLStandaloneSetupGenerated.java57
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parseTreeConstruction/StereotypeApplicationWithVSLParsetreeConstructor.java7559
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/StereotypeApplicationWithVSLAntlrTokenFileProvider.java25
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/StereotypeApplicationWithVSLParser.java66
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g3570
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.tokens50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSLLexer.java3147
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSLParser.java8250
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL__.g85
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/services/StereotypeApplicationWithVSLGrammarAccess.java737
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/ExpressionValueRule.java85
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationRule.java103
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationWithVSLFactory.java81
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationWithVSLPackage.java419
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationsRule.java75
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/TagSpecificationRule.java111
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/ExpressionValueRuleImpl.java229
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationRuleImpl.java269
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationWithVSLFactoryImpl.java153
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationWithVSLPackageImpl.java349
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationsRuleImpl.java201
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/TagSpecificationRuleImpl.java294
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLAdapterFactory.java203
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLResourceFactoryImpl.java66
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLResourceImpl.java41
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLSwitch.java218
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLXMLProcessor.java65
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/validation/AbstractStereotypeApplicationWithVSLJavaValidator.java33
32 files changed, 27961 insertions, 0 deletions
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/AbstractStereotypeApplicationWithVSLRuntimeModule.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/AbstractStereotypeApplicationWithVSLRuntimeModule.java
new file mode 100644
index 00000000000..e30e7db103d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/AbstractStereotypeApplicationWithVSLRuntimeModule.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext;
+
+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.papyrus.stereotypeapplicationwithvsl.editor.xtext.StereotypeApplicationWithVSLRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractStereotypeApplicationWithVSLRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.StereotypeApplicationWithVSL");
+ }
+
+ 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("StereotypeApplicationWithVSL");
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.services.StereotypeApplicationWithVSLGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parseTreeConstructor.ParseTreeConstructorFragment
+ public Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> bindIParseTreeConstructor() {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parseTreeConstruction.StereotypeApplicationWithVSLParsetreeConstructor.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrParser> bindIAntlrParser() {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.StereotypeApplicationWithVSLParser.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.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.StereotypeApplicationWithVSLAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.internal.InternalStereotypeApplicationWithVSLLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.internal.InternalStereotypeApplicationWithVSLLexer> provideInternalStereotypeApplicationWithVSLLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.internal.InternalStereotypeApplicationWithVSLLexer.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.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.internal.InternalStereotypeApplicationWithVSLLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.StereotypeApplicationWithVSLJavaValidator> bindStereotypeApplicationWithVSLJavaValidator() {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.StereotypeApplicationWithVSLJavaValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.scoping.StereotypeApplicationWithVSLScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named("org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.delegate")).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return org.eclipse.xtext.naming.SimpleNameProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.formatting.StereotypeApplicationWithVSLFormatter.class;
+ }
+
+}
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.ecore b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.ecore
new file mode 100644
index 00000000000..f0a74ec9e5d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.ecore
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="stereotypeApplicationWithVSL"
+ nsURI="http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL"
+ nsPrefix="stereotypeApplicationWithVSL">
+ <eClassifiers xsi:type="ecore:EClass" name="StereotypeApplicationsRule">
+ <eOperations name="getExpectedType" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Type">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="getContextElement" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Element">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stereotypeApplications"
+ upperBound="-1" eType="#//StereotypeApplicationRule" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StereotypeApplicationRule">
+ <eOperations name="getExpectedType" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Type">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="getContextElement" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Element">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stereotype" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Stereotype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tagSpecification" upperBound="-1"
+ eType="#//TagSpecificationRule" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TagSpecificationRule">
+ <eOperations name="getExpectedType" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Type">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="getContextElement" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Element">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="property" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//ExpressionValueRule"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExpressionValueRule">
+ <eOperations name="getExpectedType" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Type">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="getContextElement" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/model/UML.ecore#//Element">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass ../../../../../../../../org.eclipse.papyrus.marte.vsl/src-gen/org/eclipse/papyrus/marte/vsl/VSL.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.genmodel b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.genmodel
new file mode 100644
index 00000000000..d6ac25447bf
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.genmodel
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen"
+ editDirectory="/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.edit/src"
+ editorDirectory="/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.editor/src"
+ modelPluginID="org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext"
+ forceOverwrite="true" modelName="StereotypeApplicationWithVSL" updateClasspath="false"
+ rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" complianceLevel="5.0"
+ copyrightFields="false" editPluginID="org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.edit"
+ editorPluginID="org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.editor"
+ usedGenPackages="../../../../../../../../org.eclipse.papyrus.marte.vsl/src-gen/org/eclipse/papyrus/marte/vsl/VSL.genmodel#//vSL">
+ <genPackages prefix="StereotypeApplicationWithVSL" basePackage="org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext"
+ resource="XML" disposableProviderFactory="true" ecorePackage="StereotypeApplicationWithVSL.ecore#/">
+ <genClasses ecoreClass="StereotypeApplicationWithVSL.ecore#//StereotypeApplicationsRule">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StereotypeApplicationWithVSL.ecore#//StereotypeApplicationsRule/stereotypeApplications"/>
+ <genOperations ecoreOperation="StereotypeApplicationWithVSL.ecore#//StereotypeApplicationsRule/getExpectedType"/>
+ <genOperations ecoreOperation="StereotypeApplicationWithVSL.ecore#//StereotypeApplicationsRule/getContextElement"/>
+ </genClasses>
+ <genClasses ecoreClass="StereotypeApplicationWithVSL.ecore#//StereotypeApplicationRule">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference StereotypeApplicationWithVSL.ecore#//StereotypeApplicationRule/stereotype"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StereotypeApplicationWithVSL.ecore#//StereotypeApplicationRule/tagSpecification"/>
+ <genOperations ecoreOperation="StereotypeApplicationWithVSL.ecore#//StereotypeApplicationRule/getExpectedType"/>
+ <genOperations ecoreOperation="StereotypeApplicationWithVSL.ecore#//StereotypeApplicationRule/getContextElement"/>
+ </genClasses>
+ <genClasses ecoreClass="StereotypeApplicationWithVSL.ecore#//TagSpecificationRule">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference StereotypeApplicationWithVSL.ecore#//TagSpecificationRule/property"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StereotypeApplicationWithVSL.ecore#//TagSpecificationRule/value"/>
+ <genOperations ecoreOperation="StereotypeApplicationWithVSL.ecore#//TagSpecificationRule/getExpectedType"/>
+ <genOperations ecoreOperation="StereotypeApplicationWithVSL.ecore#//TagSpecificationRule/getContextElement"/>
+ </genClasses>
+ <genClasses ecoreClass="StereotypeApplicationWithVSL.ecore#//ExpressionValueRule">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StereotypeApplicationWithVSL.ecore#//ExpressionValueRule/expression"/>
+ <genOperations ecoreOperation="StereotypeApplicationWithVSL.ecore#//ExpressionValueRule/getExpectedType"/>
+ <genOperations ecoreOperation="StereotypeApplicationWithVSL.ecore#//ExpressionValueRule/getContextElement"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.xmi b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.xmi
new file mode 100644
index 00000000000..0d1c5ceceb0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL.xmi
@@ -0,0 +1,1195 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
+ <xtext:Grammar name="org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.StereotypeApplicationWithVSL" usedGrammars="/1">
+ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="uml">
+ <ePackage href="http://www.eclipse.org/uml2/3.0.0/UML#/"/>
+ </metamodelDeclarations>
+ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="stereotypeApplicationWithVSL">
+ <ePackage href="http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="StereotypeApplicationsRule">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL#//StereotypeApplicationsRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" cardinality="*" feature="stereotypeApplications" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="StereotypeApplicationRule">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL#//StereotypeApplicationRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="&lt;&lt;"/>
+ <elements xsi:type="xtext:Assignment" feature="stereotype" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Stereotype"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=">>"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="tagSpecification" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="tagSpecification" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TagSpecificationRule">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL#//TagSpecificationRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="property" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ExpressionValueRule">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL#//ExpressionValueRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ </alternatives>
+ </rules>
+ </xtext:Grammar>
+ <xtext:Grammar name="org.eclipse.papyrus.marte.vsl.VSL" usedGrammars="/2">
+ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="uml">
+ <ePackage href="http://www.eclipse.org/uml2/3.0.0/UML#/"/>
+ </metamodelDeclarations>
+ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="vSL">
+ <ePackage href="http://www.eclipse.org/papyrus/marte/vsl/VSL#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="Expression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//Expression"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="exp" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AndOrXorExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//AndOrXorExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="and"/>
+ <elements xsi:type="xtext:Keyword" value="or"/>
+ <elements xsi:type="xtext:Keyword" value="xor"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EqualityExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//EqualityExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.3"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="=="/>
+ <elements xsi:type="xtext:Keyword" value="&lt;>"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.3"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="RelationalExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//RelationalExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.4"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="&lt;"/>
+ <elements xsi:type="xtext:Keyword" value=">"/>
+ <elements xsi:type="xtext:Keyword" value="&lt;="/>
+ <elements xsi:type="xtext:Keyword" value=">="/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.4"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ConditionalExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//ConditionalExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.5"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="+=">
+ <terminal xsi:type="xtext:Keyword" value="?"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.5"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.5"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AdditiveExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//AdditiveExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.6"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.6"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="MultiplicativeExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//MultiplicativeExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.7"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="*"/>
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:Keyword" value="mod"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.7"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnaryExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//UnaryExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="not"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unary" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.7"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.8"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrimaryExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//PrimaryExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="prefix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.9"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Assignment" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.10"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ValueSpecification">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//ValueSpecification"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.13"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.14"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.16"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.17"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.18"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.22"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.28"/>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SuffixExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//SuffixExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.11"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.12"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PropertyCallExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//PropertyCallExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="property" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Assignment" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.10"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="OperationCallExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//OperationCallExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Operation"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="arguments" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.19"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Assignment" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.10"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Literal">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//Literal"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.31"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.37"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.39"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.41"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.43"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.44"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NameOrChoiceOrBehaviorCall">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//NameOrChoiceOrBehaviorCall"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="path" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//NamedElement"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="arguments" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.19"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="QualifiedName">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//QualifiedName"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="path" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Namespace"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="::"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="remaining" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.15"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Interval">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//Interval"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ <elements xsi:type="xtext:Assignment" feature="isLowerIncluded" operator="=">
+ <terminal xsi:type="xtext:Keyword" value="["/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="lower" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=".."/>
+ <elements xsi:type="xtext:Assignment" feature="upper" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Assignment" feature="isUpperIncluded" operator="=">
+ <terminal xsi:type="xtext:Keyword" value="]"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="["/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CollectionOrTuple">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//CollectionOrTuple"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" feature="listOfValues" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.19"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Tuple">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//Tuple"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" feature="listOfValueNamePairs" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.20"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ListOfValues">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//ListOfValues"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="values" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="values" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ListOfValueNamePairs">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//ListOfValueNamePairs"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="valueNamePairs" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.21"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="valueNamePairs" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.21"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ValueNamePair">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//ValueNamePair"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="property" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Property"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TimeExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//TimeExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.23"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.25"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.27"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InstantObsExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//InstantObsExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="@"/>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.24"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="index" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="when"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="condition" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InstantObsName">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//InstantObsName"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="path" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="instantId" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//TimeObservation"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DurationObsExpression">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//DurationObsExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="&amp;"/>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.26"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="index" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="when"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="condition" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DurationObsName">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//DurationObsName"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="path" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="durationId" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//DurationObservation"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="JitterExp">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//JitterExp"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="jitter("/>
+ <elements xsi:type="xtext:Assignment" feature="firstInstant" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.23"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ <elements xsi:type="xtext:Assignment" feature="secondInstant" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.23"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="VariableDeclaration">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//VariableDeclaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="variableDeclaration" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.29"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="$"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.30"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="initValue" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="initValue" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="VariableDirectionKind">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="in"/>
+ <elements xsi:type="xtext:Keyword" value="out"/>
+ <elements xsi:type="xtext:Keyword" value="inout"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DataTypeName">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//DataTypeName"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="path" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//DataType"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.0"/>
+ </terminal>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NumberLiteralRule">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//NumberLiteralRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.32"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.34"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.35"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="IntegerLiteralRule">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//IntegerLiteralRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.33"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="IntegerLiteral">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="0x"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="F"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="f"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="0b"/>
+ <elements xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="1"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnlimitedLiteralRule">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//UnlimitedLiteralRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:Keyword" value="*"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="RealLiteralRule">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//RealLiteralRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.36"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="RealLiteral">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="E"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DateTimeLiteralRule">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//DateTimeLiteralRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.38"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="DateTimeLiteral">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="1"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="2"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="3"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="5"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="5"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value=" "/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="0"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="1"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="2"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="2"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="3"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="0"/>
+ <elements xsi:type="xtext:Keyword" value="1"/>
+ </elements>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value=" "/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="Mon"/>
+ <elements xsi:type="xtext:Keyword" value="Tue"/>
+ <elements xsi:type="xtext:Keyword" value="Wed"/>
+ <elements xsi:type="xtext:Keyword" value="Thr"/>
+ <elements xsi:type="xtext:Keyword" value="Fri"/>
+ <elements xsi:type="xtext:Keyword" value="Sat"/>
+ <elements xsi:type="xtext:Keyword" value="Sun"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="0"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="1"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="2"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="2"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="3"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="0"/>
+ <elements xsi:type="xtext:Keyword" value="1"/>
+ </elements>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value=" "/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="Mon"/>
+ <elements xsi:type="xtext:Keyword" value="Tue"/>
+ <elements xsi:type="xtext:Keyword" value="Wed"/>
+ <elements xsi:type="xtext:Keyword" value="Thr"/>
+ <elements xsi:type="xtext:Keyword" value="Fri"/>
+ <elements xsi:type="xtext:Keyword" value="Sat"/>
+ <elements xsi:type="xtext:Keyword" value="Sun"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="Mon"/>
+ <elements xsi:type="xtext:Keyword" value="Tue"/>
+ <elements xsi:type="xtext:Keyword" value="Wed"/>
+ <elements xsi:type="xtext:Keyword" value="Thr"/>
+ <elements xsi:type="xtext:Keyword" value="Fri"/>
+ <elements xsi:type="xtext:Keyword" value="Sat"/>
+ <elements xsi:type="xtext:Keyword" value="Sun"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="BooleanLiteralRule">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//BooleanLiteralRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.40"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="BooleanLiteral">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="true"/>
+ <elements xsi:type="xtext:Keyword" value="false"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NullLiteralRule">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//NullLiteralRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.42"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="NullLiteral">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="null"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DefaultLiteralRule">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//DefaultLiteralRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:Keyword" value="/"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="StringLiteralRule">
+ <type metamodel="/1/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/marte/vsl/VSL#//StringLiteralRule"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/2/@rules.2"/>
+ </alternatives>
+ </rules>
+ </xtext:Grammar>
+ <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/2/@rules.5 /2/@rules.3 /2/@rules.4">
+ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
+ <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:TerminalRule" name="ID">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="INT">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </type>
+ <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="STRING">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/*"/>
+ <elements xsi:type="xtext:UntilToken">
+ <terminal xsi:type="xtext:Keyword" value="*/"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="//"/>
+ <elements xsi:type="xtext:NegatedToken" cardinality="*">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="WS">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:Keyword" value=" "/>
+ <elements xsi:type="xtext:Keyword" value="&#x9;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
+ <type metamodel="/2/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Wildcard"/>
+ </rules>
+ </xtext:Grammar>
+</xmi:XMI>
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSLStandaloneSetupGenerated.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSLStandaloneSetupGenerated.java
new file mode 100644
index 00000000000..a1c41099e9f
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSLStandaloneSetupGenerated.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext;
+
+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 StereotypeApplicationWithVSLStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ org.eclipse.papyrus.marte.vsl.VSLStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.StereotypeApplicationWithVSLRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL", org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage.eINSTANCE);
+ }
+
+ org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+ org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("StereotypeApplicationWithVSL", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("StereotypeApplicationWithVSL", serviceProvider);
+
+
+
+
+
+ }
+}
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parseTreeConstruction/StereotypeApplicationWithVSLParsetreeConstructor.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parseTreeConstruction/StereotypeApplicationWithVSLParsetreeConstructor.java
new file mode 100644
index 00000000000..3fd47d268d5
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parseTreeConstruction/StereotypeApplicationWithVSLParsetreeConstructor.java
@@ -0,0 +1,7559 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parseTreeConstruction;
+
+import org.eclipse.emf.ecore.*;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer;
+import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor;
+
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.services.StereotypeApplicationWithVSLGrammarAccess;
+
+import com.google.inject.Inject;
+
+@SuppressWarnings("all")
+public class StereotypeApplicationWithVSLParsetreeConstructor extends AbstractParseTreeConstructor {
+
+ @Inject
+ private StereotypeApplicationWithVSLGrammarAccess grammarAccess;
+
+ @Override
+ protected AbstractToken getRootToken(IEObjectConsumer inst) {
+ return new ThisRootNode(inst);
+ }
+
+protected class ThisRootNode extends RootToken {
+ public ThisRootNode(IEObjectConsumer inst) {
+ super(inst);
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StereotypeApplicationsRule_StereotypeApplicationsAssignment(this, this, 0, inst);
+ case 1: return new StereotypeApplicationRule_Group(this, this, 1, inst);
+ case 2: return new TagSpecificationRule_Group(this, this, 2, inst);
+ case 3: return new ExpressionValueRule_Group(this, this, 3, inst);
+ case 4: return new Expression_ExpAssignment(this, this, 4, inst);
+ case 5: return new AndOrXorExpression_Group(this, this, 5, inst);
+ case 6: return new EqualityExpression_Group(this, this, 6, inst);
+ case 7: return new RelationalExpression_Group(this, this, 7, inst);
+ case 8: return new ConditionalExpression_Group(this, this, 8, inst);
+ case 9: return new AdditiveExpression_Group(this, this, 9, inst);
+ case 10: return new MultiplicativeExpression_Group(this, this, 10, inst);
+ case 11: return new UnaryExpression_Alternatives(this, this, 11, inst);
+ case 12: return new PrimaryExpression_Group(this, this, 12, inst);
+ case 13: return new ValueSpecification_Alternatives(this, this, 13, inst);
+ case 14: return new SuffixExpression_Alternatives(this, this, 14, inst);
+ case 15: return new PropertyCallExpression_Group(this, this, 15, inst);
+ case 16: return new OperationCallExpression_Group(this, this, 16, inst);
+ case 17: return new Literal_Alternatives(this, this, 17, inst);
+ case 18: return new NameOrChoiceOrBehaviorCall_Group(this, this, 18, inst);
+ case 19: return new QualifiedName_Group(this, this, 19, inst);
+ case 20: return new Interval_Group(this, this, 20, inst);
+ case 21: return new CollectionOrTuple_Group(this, this, 21, inst);
+ case 22: return new Tuple_Group(this, this, 22, inst);
+ case 23: return new ListOfValues_Group(this, this, 23, inst);
+ case 24: return new ListOfValueNamePairs_Group(this, this, 24, inst);
+ case 25: return new ValueNamePair_Group(this, this, 25, inst);
+ case 26: return new TimeExpression_Alternatives(this, this, 26, inst);
+ case 27: return new InstantObsExpression_Group(this, this, 27, inst);
+ case 28: return new InstantObsName_Group(this, this, 28, inst);
+ case 29: return new DurationObsExpression_Group(this, this, 29, inst);
+ case 30: return new DurationObsName_Group(this, this, 30, inst);
+ case 31: return new JitterExp_Group(this, this, 31, inst);
+ case 32: return new VariableDeclaration_Group(this, this, 32, inst);
+ case 33: return new DataTypeName_Group(this, this, 33, inst);
+ case 34: return new NumberLiteralRule_Alternatives(this, this, 34, inst);
+ case 35: return new IntegerLiteralRule_ValueAssignment(this, this, 35, inst);
+ case 36: return new UnlimitedLiteralRule_ValueAssignment(this, this, 36, inst);
+ case 37: return new RealLiteralRule_ValueAssignment(this, this, 37, inst);
+ case 38: return new DateTimeLiteralRule_ValueAssignment(this, this, 38, inst);
+ case 39: return new BooleanLiteralRule_ValueAssignment(this, this, 39, inst);
+ case 40: return new NullLiteralRule_ValueAssignment(this, this, 40, inst);
+ case 41: return new DefaultLiteralRule_ValueAssignment(this, this, 41, inst);
+ case 42: return new StringLiteralRule_ValueAssignment(this, this, 42, inst);
+ default: return null;
+ }
+ }
+}
+
+
+/************ begin Rule StereotypeApplicationsRule ****************
+ *
+ * StereotypeApplicationsRule:
+ * stereotypeApplications+=StereotypeApplicationRule*;
+ *
+ **/
+
+// stereotypeApplications+=StereotypeApplicationRule*
+protected class StereotypeApplicationsRule_StereotypeApplicationsAssignment extends AssignmentToken {
+
+ public StereotypeApplicationsRule_StereotypeApplicationsAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationsRuleAccess().getStereotypeApplicationsAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StereotypeApplicationRule_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("stereotypeApplications",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("stereotypeApplications");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getStereotypeApplicationRuleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getStereotypeApplicationsRuleAccess().getStereotypeApplicationsStereotypeApplicationRuleParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new StereotypeApplicationsRule_StereotypeApplicationsAssignment(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
+ }
+ }
+}
+
+/************ end Rule StereotypeApplicationsRule ****************/
+
+
+/************ begin Rule StereotypeApplicationRule ****************
+ *
+ * StereotypeApplicationRule:
+ * "<<" stereotype=[uml::Stereotype] ">>" (tagSpecification+=TagSpecificationRule (","
+ * tagSpecification+=TagSpecificationRule)*)?;
+ *
+ **/
+
+// "<<" stereotype=[uml::Stereotype] ">>" (tagSpecification+=TagSpecificationRule (","
+// tagSpecification+=TagSpecificationRule)*)?
+protected class StereotypeApplicationRule_Group extends GroupToken {
+
+ public StereotypeApplicationRule_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationRuleAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StereotypeApplicationRule_Group_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new StereotypeApplicationRule_GreaterThanSignGreaterThanSignKeyword_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getStereotypeApplicationRuleRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "<<"
+protected class StereotypeApplicationRule_LessThanSignLessThanSignKeyword_0 extends KeywordToken {
+
+ public StereotypeApplicationRule_LessThanSignLessThanSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationRuleAccess().getLessThanSignLessThanSignKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// stereotype=[uml::Stereotype]
+protected class StereotypeApplicationRule_StereotypeAssignment_1 extends AssignmentToken {
+
+ public StereotypeApplicationRule_StereotypeAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationRuleAccess().getStereotypeAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StereotypeApplicationRule_LessThanSignLessThanSignKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("stereotype",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("stereotype");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getStereotypeApplicationRuleAccess().getStereotypeStereotypeCrossReference_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getStereotypeApplicationRuleAccess().getStereotypeStereotypeCrossReference_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ">>"
+protected class StereotypeApplicationRule_GreaterThanSignGreaterThanSignKeyword_2 extends KeywordToken {
+
+ public StereotypeApplicationRule_GreaterThanSignGreaterThanSignKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationRuleAccess().getGreaterThanSignGreaterThanSignKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StereotypeApplicationRule_StereotypeAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (tagSpecification+=TagSpecificationRule ("," tagSpecification+=TagSpecificationRule)*)?
+protected class StereotypeApplicationRule_Group_3 extends GroupToken {
+
+ public StereotypeApplicationRule_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationRuleAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StereotypeApplicationRule_Group_3_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new StereotypeApplicationRule_TagSpecificationAssignment_3_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// tagSpecification+=TagSpecificationRule
+protected class StereotypeApplicationRule_TagSpecificationAssignment_3_0 extends AssignmentToken {
+
+ public StereotypeApplicationRule_TagSpecificationAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationRuleAccess().getTagSpecificationAssignment_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TagSpecificationRule_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tagSpecification",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tagSpecification");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTagSpecificationRuleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getStereotypeApplicationRuleAccess().getTagSpecificationTagSpecificationRuleParserRuleCall_3_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new StereotypeApplicationRule_GreaterThanSignGreaterThanSignKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," tagSpecification+=TagSpecificationRule)*
+protected class StereotypeApplicationRule_Group_3_1 extends GroupToken {
+
+ public StereotypeApplicationRule_Group_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationRuleAccess().getGroup_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StereotypeApplicationRule_TagSpecificationAssignment_3_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class StereotypeApplicationRule_CommaKeyword_3_1_0 extends KeywordToken {
+
+ public StereotypeApplicationRule_CommaKeyword_3_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationRuleAccess().getCommaKeyword_3_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StereotypeApplicationRule_Group_3_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new StereotypeApplicationRule_TagSpecificationAssignment_3_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// tagSpecification+=TagSpecificationRule
+protected class StereotypeApplicationRule_TagSpecificationAssignment_3_1_1 extends AssignmentToken {
+
+ public StereotypeApplicationRule_TagSpecificationAssignment_3_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStereotypeApplicationRuleAccess().getTagSpecificationAssignment_3_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TagSpecificationRule_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tagSpecification",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tagSpecification");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTagSpecificationRuleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getStereotypeApplicationRuleAccess().getTagSpecificationTagSpecificationRuleParserRuleCall_3_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new StereotypeApplicationRule_CommaKeyword_3_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+
+/************ end Rule StereotypeApplicationRule ****************/
+
+
+/************ begin Rule TagSpecificationRule ****************
+ *
+ * TagSpecificationRule:
+ * property=[uml::Property] value=ExpressionValueRule;
+ *
+ **/
+
+// property=[uml::Property] value=ExpressionValueRule
+protected class TagSpecificationRule_Group extends GroupToken {
+
+ public TagSpecificationRule_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTagSpecificationRuleAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TagSpecificationRule_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTagSpecificationRuleRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// property=[uml::Property]
+protected class TagSpecificationRule_PropertyAssignment_0 extends AssignmentToken {
+
+ public TagSpecificationRule_PropertyAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTagSpecificationRuleAccess().getPropertyAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("property",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("property");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTagSpecificationRuleAccess().getPropertyPropertyCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getTagSpecificationRuleAccess().getPropertyPropertyCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// value=ExpressionValueRule
+protected class TagSpecificationRule_ValueAssignment_1 extends AssignmentToken {
+
+ public TagSpecificationRule_ValueAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTagSpecificationRuleAccess().getValueAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpressionValueRule_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionValueRuleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTagSpecificationRuleAccess().getValueExpressionValueRuleParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TagSpecificationRule_PropertyAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule TagSpecificationRule ****************/
+
+
+/************ begin Rule ExpressionValueRule ****************
+ *
+ * ExpressionValueRule:
+ * "=" expression=Expression;
+ *
+ **/
+
+// "=" expression=Expression
+protected class ExpressionValueRule_Group extends GroupToken {
+
+ public ExpressionValueRule_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getExpressionValueRuleAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExpressionValueRule_ExpressionAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getExpressionValueRuleRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "="
+protected class ExpressionValueRule_EqualsSignKeyword_0 extends KeywordToken {
+
+ public ExpressionValueRule_EqualsSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getExpressionValueRuleAccess().getEqualsSignKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// expression=Expression
+protected class ExpressionValueRule_ExpressionAssignment_1 extends AssignmentToken {
+
+ public ExpressionValueRule_ExpressionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExpressionValueRuleAccess().getExpressionAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getExpressionValueRuleAccess().getExpressionExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ExpressionValueRule_EqualsSignKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule ExpressionValueRule ****************/
+
+
+/************ begin Rule Expression ****************
+ *
+ * Expression:
+ * exp=AndOrXorExpression;
+ *
+ **/
+
+// exp=AndOrXorExpression
+protected class Expression_ExpAssignment extends AssignmentToken {
+
+ public Expression_ExpAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExpressionAccess().getExpAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AndOrXorExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getExpressionRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getExpressionAccess().getExpAndOrXorExpressionParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule Expression ****************/
+
+
+/************ begin Rule AndOrXorExpression ****************
+ *
+ * AndOrXorExpression:
+ * exp+=EqualityExpression (op+=("and" | "or" | "xor") exp+=EqualityExpression)*;
+ *
+ **/
+
+// exp+=EqualityExpression (op+=("and" | "or" | "xor") exp+=EqualityExpression)*
+protected class AndOrXorExpression_Group extends GroupToken {
+
+ public AndOrXorExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAndOrXorExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AndOrXorExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new AndOrXorExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAndOrXorExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=EqualityExpression
+protected class AndOrXorExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public AndOrXorExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAndOrXorExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getEqualityExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAndOrXorExpressionAccess().getExpEqualityExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op+=("and" | "or" | "xor") exp+=EqualityExpression)*
+protected class AndOrXorExpression_Group_1 extends GroupToken {
+
+ public AndOrXorExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAndOrXorExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AndOrXorExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op+=("and" | "or" | "xor")
+protected class AndOrXorExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public AndOrXorExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAndOrXorExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AndOrXorExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new AndOrXorExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAndOrXorExpressionAccess().getOpAndKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getAndOrXorExpressionAccess().getOpAndKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAndOrXorExpressionAccess().getOpOrKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getAndOrXorExpressionAccess().getOpOrKeyword_1_0_0_1();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAndOrXorExpressionAccess().getOpXorKeyword_1_0_0_2(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getAndOrXorExpressionAccess().getOpXorKeyword_1_0_0_2();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=EqualityExpression
+protected class AndOrXorExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public AndOrXorExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAndOrXorExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getEqualityExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAndOrXorExpressionAccess().getExpEqualityExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AndOrXorExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule AndOrXorExpression ****************/
+
+
+/************ begin Rule EqualityExpression ****************
+ *
+ * EqualityExpression:
+ * exp+=RelationalExpression (op+=("==" | "<>") exp+=RelationalExpression)*;
+ *
+ **/
+
+// exp+=RelationalExpression (op+=("==" | "<>") exp+=RelationalExpression)*
+protected class EqualityExpression_Group extends GroupToken {
+
+ public EqualityExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new EqualityExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getEqualityExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=RelationalExpression
+protected class EqualityExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public EqualityExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationalExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getRelationalExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getEqualityExpressionAccess().getExpRelationalExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op+=("==" | "<>") exp+=RelationalExpression)*
+protected class EqualityExpression_Group_1 extends GroupToken {
+
+ public EqualityExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op+=("==" | "<>")
+protected class EqualityExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public EqualityExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new EqualityExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getEqualityExpressionAccess().getOpLessThanSignGreaterThanSignKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getEqualityExpressionAccess().getOpLessThanSignGreaterThanSignKeyword_1_0_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=RelationalExpression
+protected class EqualityExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public EqualityExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationalExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getRelationalExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getEqualityExpressionAccess().getExpRelationalExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new EqualityExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule EqualityExpression ****************/
+
+
+/************ begin Rule RelationalExpression ****************
+ *
+ * RelationalExpression:
+ * exp+=ConditionalExpression (op+=("<" | ">" | "<=" | ">=") exp+=ConditionalExpression)*;
+ *
+ **/
+
+// exp+=ConditionalExpression (op+=("<" | ">" | "<=" | ">=") exp+=ConditionalExpression)*
+protected class RelationalExpression_Group extends GroupToken {
+
+ public RelationalExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationalExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new RelationalExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getRelationalExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=ConditionalExpression
+protected class RelationalExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public RelationalExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConditionalExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRelationalExpressionAccess().getExpConditionalExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op+=("<" | ">" | "<=" | ">=") exp+=ConditionalExpression)*
+protected class RelationalExpression_Group_1 extends GroupToken {
+
+ public RelationalExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationalExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op+=("<" | ">" | "<=" | ">=")
+protected class RelationalExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public RelationalExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationalExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new RelationalExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getRelationalExpressionAccess().getOpLessThanSignKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getRelationalExpressionAccess().getOpLessThanSignKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignKeyword_1_0_0_1();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getRelationalExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_0_0_2(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getRelationalExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_0_0_2();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_0_0_3(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_0_0_3();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=ConditionalExpression
+protected class RelationalExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public RelationalExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConditionalExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRelationalExpressionAccess().getExpConditionalExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new RelationalExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule RelationalExpression ****************/
+
+
+/************ begin Rule ConditionalExpression ****************
+ *
+ * ConditionalExpression:
+ * exp+=AdditiveExpression (op+="?" exp+=AdditiveExpression ":" exp+=AdditiveExpression)?;
+ *
+ **/
+
+// exp+=AdditiveExpression (op+="?" exp+=AdditiveExpression ":" exp+=AdditiveExpression)?
+protected class ConditionalExpression_Group extends GroupToken {
+
+ public ConditionalExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConditionalExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ConditionalExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getConditionalExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=AdditiveExpression
+protected class ConditionalExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public ConditionalExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAdditiveExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op+="?" exp+=AdditiveExpression ":" exp+=AdditiveExpression)?
+protected class ConditionalExpression_Group_1 extends GroupToken {
+
+ public ConditionalExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConditionalExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalExpression_ExpAssignment_1_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op+="?"
+protected class ConditionalExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public ConditionalExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalExpression_ExpAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getConditionalExpressionAccess().getOpQuestionMarkKeyword_1_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getConditionalExpressionAccess().getOpQuestionMarkKeyword_1_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=AdditiveExpression
+protected class ConditionalExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public ConditionalExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAdditiveExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ConditionalExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ":"
+protected class ConditionalExpression_ColonKeyword_1_2 extends KeywordToken {
+
+ public ConditionalExpression_ColonKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getConditionalExpressionAccess().getColonKeyword_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// exp+=AdditiveExpression
+protected class ConditionalExpression_ExpAssignment_1_3 extends AssignmentToken {
+
+ public ConditionalExpression_ExpAssignment_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalExpressionAccess().getExpAssignment_1_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAdditiveExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ConditionalExpression_ColonKeyword_1_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ConditionalExpression ****************/
+
+
+/************ begin Rule AdditiveExpression ****************
+ *
+ * AdditiveExpression:
+ * exp+=MultiplicativeExpression (op+=("+" | "-") exp+=MultiplicativeExpression)*;
+ *
+ **/
+
+// exp+=MultiplicativeExpression (op+=("+" | "-") exp+=MultiplicativeExpression)*
+protected class AdditiveExpression_Group extends GroupToken {
+
+ public AdditiveExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new AdditiveExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAdditiveExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=MultiplicativeExpression
+protected class AdditiveExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public AdditiveExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op+=("+" | "-") exp+=MultiplicativeExpression)*
+protected class AdditiveExpression_Group_1 extends GroupToken {
+
+ public AdditiveExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op+=("+" | "-")
+protected class AdditiveExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public AdditiveExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new AdditiveExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAdditiveExpressionAccess().getOpPlusSignKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getAdditiveExpressionAccess().getOpPlusSignKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAdditiveExpressionAccess().getOpHyphenMinusKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getAdditiveExpressionAccess().getOpHyphenMinusKeyword_1_0_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=MultiplicativeExpression
+protected class AdditiveExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public AdditiveExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AdditiveExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule AdditiveExpression ****************/
+
+
+/************ begin Rule MultiplicativeExpression ****************
+ *
+ * MultiplicativeExpression:
+ * exp+=UnaryExpression (op+=("*" | "/" | "mod") exp+=UnaryExpression)*;
+ *
+ **/
+
+// exp+=UnaryExpression (op+=("*" | "/" | "mod") exp+=UnaryExpression)*
+protected class MultiplicativeExpression_Group extends GroupToken {
+
+ public MultiplicativeExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new MultiplicativeExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=UnaryExpression
+protected class MultiplicativeExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public MultiplicativeExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnaryExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op+=("*" | "/" | "mod") exp+=UnaryExpression)*
+protected class MultiplicativeExpression_Group_1 extends GroupToken {
+
+ public MultiplicativeExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op+=("*" | "/" | "mod")
+protected class MultiplicativeExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public MultiplicativeExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new MultiplicativeExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicativeExpressionAccess().getOpAsteriskKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getOpAsteriskKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicativeExpressionAccess().getOpSolidusKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getOpSolidusKeyword_1_0_0_1();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicativeExpressionAccess().getOpModKeyword_1_0_0_2(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getOpModKeyword_1_0_0_2();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=UnaryExpression
+protected class MultiplicativeExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public MultiplicativeExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnaryExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new MultiplicativeExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule MultiplicativeExpression ****************/
+
+
+/************ begin Rule UnaryExpression ****************
+ *
+ * UnaryExpression:
+ * op=("not" | "-" | "+") unary=UnaryExpression | exp=PrimaryExpression;
+ *
+ **/
+
+// op=("not" | "-" | "+") unary=UnaryExpression | exp=PrimaryExpression
+protected class UnaryExpression_Alternatives extends AlternativesToken {
+
+ public UnaryExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getUnaryExpressionAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryExpression_Group_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new UnaryExpression_ExpAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUnaryExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// op=("not" | "-" | "+") unary=UnaryExpression
+protected class UnaryExpression_Group_0 extends GroupToken {
+
+ public UnaryExpression_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getUnaryExpressionAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryExpression_UnaryAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op=("not" | "-" | "+")
+protected class UnaryExpression_OpAssignment_0_0 extends AssignmentToken {
+
+ public UnaryExpression_OpAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnaryExpressionAccess().getOpAssignment_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUnaryExpressionAccess().getOpNotKeyword_0_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUnaryExpressionAccess().getOpNotKeyword_0_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUnaryExpressionAccess().getOpHyphenMinusKeyword_0_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUnaryExpressionAccess().getOpHyphenMinusKeyword_0_0_0_1();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUnaryExpressionAccess().getOpPlusSignKeyword_0_0_0_2(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUnaryExpressionAccess().getOpPlusSignKeyword_0_0_0_2();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// unary=UnaryExpression
+protected class UnaryExpression_UnaryAssignment_0_1 extends AssignmentToken {
+
+ public UnaryExpression_UnaryAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnaryExpressionAccess().getUnaryAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("unary",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("unary");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnaryExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getUnaryExpressionAccess().getUnaryUnaryExpressionParserRuleCall_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new UnaryExpression_OpAssignment_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// exp=PrimaryExpression
+protected class UnaryExpression_ExpAssignment_1 extends AssignmentToken {
+
+ public UnaryExpression_ExpAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnaryExpressionAccess().getExpAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPrimaryExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getUnaryExpressionAccess().getExpPrimaryExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+
+/************ end Rule UnaryExpression ****************/
+
+
+/************ begin Rule PrimaryExpression ****************
+ *
+ * PrimaryExpression:
+ * prefix=ValueSpecification ("." suffix=SuffixExpression)?;
+ *
+ **/
+
+// prefix=ValueSpecification ("." suffix=SuffixExpression)?
+protected class PrimaryExpression_Group extends GroupToken {
+
+ public PrimaryExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PrimaryExpression_PrefixAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrimaryExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// prefix=ValueSpecification
+protected class PrimaryExpression_PrefixAssignment_0 extends AssignmentToken {
+
+ public PrimaryExpression_PrefixAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpressionAccess().getPrefixAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueSpecification_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("prefix",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("prefix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getValueSpecificationRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpressionAccess().getPrefixValueSpecificationParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("." suffix=SuffixExpression)?
+protected class PrimaryExpression_Group_1 extends GroupToken {
+
+ public PrimaryExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPrimaryExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpression_SuffixAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "."
+protected class PrimaryExpression_FullStopKeyword_1_0 extends KeywordToken {
+
+ public PrimaryExpression_FullStopKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPrimaryExpressionAccess().getFullStopKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpression_PrefixAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// suffix=SuffixExpression
+protected class PrimaryExpression_SuffixAssignment_1_1 extends AssignmentToken {
+
+ public PrimaryExpression_SuffixAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpressionAccess().getSuffixAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PrimaryExpression_FullStopKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule PrimaryExpression ****************/
+
+
+/************ begin Rule ValueSpecification ****************
+ *
+ * ValueSpecification:
+ * Literal | NameOrChoiceOrBehaviorCall | Interval | CollectionOrTuple | Tuple | TimeExpression | VariableDeclaration |
+ * "(" Expression ")";
+ *
+ **/
+
+// Literal | NameOrChoiceOrBehaviorCall | Interval | CollectionOrTuple | Tuple | TimeExpression | VariableDeclaration | "("
+// Expression ")"
+protected class ValueSpecification_Alternatives extends AlternativesToken {
+
+ public ValueSpecification_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueSpecification_LiteralParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ValueSpecification_NameOrChoiceOrBehaviorCallParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new ValueSpecification_IntervalParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new ValueSpecification_CollectionOrTupleParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
+ case 4: return new ValueSpecification_TupleParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
+ case 5: return new ValueSpecification_TimeExpressionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
+ case 6: return new ValueSpecification_VariableDeclarationParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
+ case 7: return new ValueSpecification_Group_7(lastRuleCallOrigin, this, 7, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectionOrTupleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getDateTimeLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getDefaultLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getDurationObsExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInstantObsExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIntegerLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIntervalRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getJitterExpRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNameOrChoiceOrBehaviorCallRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getRealLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getTupleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getVariableDeclarationRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// Literal
+protected class ValueSpecification_LiteralParserRuleCall_0 extends RuleCallToken {
+
+ public ValueSpecification_LiteralParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getLiteralParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Literal_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getDateTimeLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getDefaultLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIntegerLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getRealLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(Literal_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// NameOrChoiceOrBehaviorCall
+protected class ValueSpecification_NameOrChoiceOrBehaviorCallParserRuleCall_1 extends RuleCallToken {
+
+ public ValueSpecification_NameOrChoiceOrBehaviorCallParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getNameOrChoiceOrBehaviorCallParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameOrChoiceOrBehaviorCall_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNameOrChoiceOrBehaviorCallRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NameOrChoiceOrBehaviorCall_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// Interval
+protected class ValueSpecification_IntervalParserRuleCall_2 extends RuleCallToken {
+
+ public ValueSpecification_IntervalParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getIntervalParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Interval_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIntervalRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(Interval_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// CollectionOrTuple
+protected class ValueSpecification_CollectionOrTupleParserRuleCall_3 extends RuleCallToken {
+
+ public ValueSpecification_CollectionOrTupleParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getCollectionOrTupleParserRuleCall_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionOrTuple_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionOrTupleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(CollectionOrTuple_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// Tuple
+protected class ValueSpecification_TupleParserRuleCall_4 extends RuleCallToken {
+
+ public ValueSpecification_TupleParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getTupleParserRuleCall_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTupleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(Tuple_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// TimeExpression
+protected class ValueSpecification_TimeExpressionParserRuleCall_5 extends RuleCallToken {
+
+ public ValueSpecification_TimeExpressionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getTimeExpressionParserRuleCall_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TimeExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDurationObsExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInstantObsExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getJitterExpRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(TimeExpression_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// VariableDeclaration
+protected class ValueSpecification_VariableDeclarationParserRuleCall_6 extends RuleCallToken {
+
+ public ValueSpecification_VariableDeclarationParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getVariableDeclarationParserRuleCall_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getVariableDeclarationRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(VariableDeclaration_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// "(" Expression ")"
+protected class ValueSpecification_Group_7 extends GroupToken {
+
+ public ValueSpecification_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getGroup_7();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueSpecification_RightParenthesisKeyword_7_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "("
+protected class ValueSpecification_LeftParenthesisKeyword_7_0 extends KeywordToken {
+
+ public ValueSpecification_LeftParenthesisKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getLeftParenthesisKeyword_7_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// Expression
+protected class ValueSpecification_ExpressionParserRuleCall_7_1 extends RuleCallToken {
+
+ public ValueSpecification_ExpressionParserRuleCall_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getExpressionParserRuleCall_7_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(checkForRecursion(Expression_ExpAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueSpecification_LeftParenthesisKeyword_7_0(lastRuleCallOrigin, next, actIndex, inst);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class ValueSpecification_RightParenthesisKeyword_7_2 extends KeywordToken {
+
+ public ValueSpecification_RightParenthesisKeyword_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getRightParenthesisKeyword_7_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueSpecification_ExpressionParserRuleCall_7_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+/************ end Rule ValueSpecification ****************/
+
+
+/************ begin Rule SuffixExpression ****************
+ *
+ * SuffixExpression:
+ * PropertyCallExpression | OperationCallExpression;
+ *
+ **/
+
+// PropertyCallExpression | OperationCallExpression
+protected class SuffixExpression_Alternatives extends AlternativesToken {
+
+ public SuffixExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_PropertyCallExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SuffixExpression_OperationCallExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getOperationCallExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPropertyCallExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// PropertyCallExpression
+protected class SuffixExpression_PropertyCallExpressionParserRuleCall_0 extends RuleCallToken {
+
+ public SuffixExpression_PropertyCallExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getPropertyCallExpressionParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPropertyCallExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(PropertyCallExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// OperationCallExpression
+protected class SuffixExpression_OperationCallExpressionParserRuleCall_1 extends RuleCallToken {
+
+ public SuffixExpression_OperationCallExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getOperationCallExpressionParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new OperationCallExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getOperationCallExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(OperationCallExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule SuffixExpression ****************/
+
+
+/************ begin Rule PropertyCallExpression ****************
+ *
+ * PropertyCallExpression:
+ * property=[uml::Property] ("." suffix=SuffixExpression)?;
+ *
+ **/
+
+// property=[uml::Property] ("." suffix=SuffixExpression)?
+protected class PropertyCallExpression_Group extends GroupToken {
+
+ public PropertyCallExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PropertyCallExpression_PropertyAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPropertyCallExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// property=[uml::Property]
+protected class PropertyCallExpression_PropertyAssignment_0 extends AssignmentToken {
+
+ public PropertyCallExpression_PropertyAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getPropertyAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("property",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("property");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPropertyCallExpressionAccess().getPropertyPropertyCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getPropertyCallExpressionAccess().getPropertyPropertyCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ("." suffix=SuffixExpression)?
+protected class PropertyCallExpression_Group_1 extends GroupToken {
+
+ public PropertyCallExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_SuffixAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "."
+protected class PropertyCallExpression_FullStopKeyword_1_0 extends KeywordToken {
+
+ public PropertyCallExpression_FullStopKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getFullStopKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_PropertyAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// suffix=SuffixExpression
+protected class PropertyCallExpression_SuffixAssignment_1_1 extends AssignmentToken {
+
+ public PropertyCallExpression_SuffixAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getSuffixAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPropertyCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PropertyCallExpression_FullStopKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule PropertyCallExpression ****************/
+
+
+/************ begin Rule OperationCallExpression ****************
+ *
+ * OperationCallExpression:
+ * operation=[uml::Operation] "(" arguments=ListOfValues? ")" ("." suffix=SuffixExpression)?;
+ *
+ **/
+
+// operation=[uml::Operation] "(" arguments=ListOfValues? ")" ("." suffix=SuffixExpression)?
+protected class OperationCallExpression_Group extends GroupToken {
+
+ public OperationCallExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new OperationCallExpression_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new OperationCallExpression_RightParenthesisKeyword_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getOperationCallExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// operation=[uml::Operation]
+protected class OperationCallExpression_OperationAssignment_0 extends AssignmentToken {
+
+ public OperationCallExpression_OperationAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getOperationAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("operation",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operation");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getOperationCallExpressionAccess().getOperationOperationCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getOperationCallExpressionAccess().getOperationOperationCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// "("
+protected class OperationCallExpression_LeftParenthesisKeyword_1 extends KeywordToken {
+
+ public OperationCallExpression_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getLeftParenthesisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new OperationCallExpression_OperationAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// arguments=ListOfValues?
+protected class OperationCallExpression_ArgumentsAssignment_2 extends AssignmentToken {
+
+ public OperationCallExpression_ArgumentsAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getArgumentsAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValues_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("arguments",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getListOfValuesRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getOperationCallExpressionAccess().getArgumentsListOfValuesParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new OperationCallExpression_LeftParenthesisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class OperationCallExpression_RightParenthesisKeyword_3 extends KeywordToken {
+
+ public OperationCallExpression_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getRightParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new OperationCallExpression_ArgumentsAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new OperationCallExpression_LeftParenthesisKeyword_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ("." suffix=SuffixExpression)?
+protected class OperationCallExpression_Group_4 extends GroupToken {
+
+ public OperationCallExpression_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getGroup_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new OperationCallExpression_SuffixAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "."
+protected class OperationCallExpression_FullStopKeyword_4_0 extends KeywordToken {
+
+ public OperationCallExpression_FullStopKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getFullStopKeyword_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new OperationCallExpression_RightParenthesisKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// suffix=SuffixExpression
+protected class OperationCallExpression_SuffixAssignment_4_1 extends AssignmentToken {
+
+ public OperationCallExpression_SuffixAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getSuffixAssignment_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getOperationCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_4_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new OperationCallExpression_FullStopKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule OperationCallExpression ****************/
+
+
+/************ begin Rule Literal ****************
+ *
+ * Literal:
+ * NumberLiteralRule | DateTimeLiteralRule | BooleanLiteralRule | NullLiteralRule | DefaultLiteralRule |
+ * StringLiteralRule;
+ *
+ **/
+
+// NumberLiteralRule | DateTimeLiteralRule | BooleanLiteralRule | NullLiteralRule | DefaultLiteralRule | StringLiteralRule
+protected class Literal_Alternatives extends AlternativesToken {
+
+ public Literal_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getLiteralAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Literal_NumberLiteralRuleParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Literal_DateTimeLiteralRuleParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new Literal_BooleanLiteralRuleParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new Literal_NullLiteralRuleParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
+ case 4: return new Literal_DefaultLiteralRuleParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
+ case 5: return new Literal_StringLiteralRuleParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getDateTimeLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getDefaultLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIntegerLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getRealLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getStringLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedLiteralRuleRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// NumberLiteralRule
+protected class Literal_NumberLiteralRuleParserRuleCall_0 extends RuleCallToken {
+
+ public Literal_NumberLiteralRuleParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getLiteralAccess().getNumberLiteralRuleParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NumberLiteralRule_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIntegerLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getRealLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NumberLiteralRule_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// DateTimeLiteralRule
+protected class Literal_DateTimeLiteralRuleParserRuleCall_1 extends RuleCallToken {
+
+ public Literal_DateTimeLiteralRuleParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getLiteralAccess().getDateTimeLiteralRuleParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DateTimeLiteralRule_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDateTimeLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(DateTimeLiteralRule_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// BooleanLiteralRule
+protected class Literal_BooleanLiteralRuleParserRuleCall_2 extends RuleCallToken {
+
+ public Literal_BooleanLiteralRuleParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getLiteralAccess().getBooleanLiteralRuleParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BooleanLiteralRule_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(BooleanLiteralRule_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// NullLiteralRule
+protected class Literal_NullLiteralRuleParserRuleCall_3 extends RuleCallToken {
+
+ public Literal_NullLiteralRuleParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getLiteralAccess().getNullLiteralRuleParserRuleCall_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NullLiteralRule_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNullLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NullLiteralRule_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// DefaultLiteralRule
+protected class Literal_DefaultLiteralRuleParserRuleCall_4 extends RuleCallToken {
+
+ public Literal_DefaultLiteralRuleParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getLiteralAccess().getDefaultLiteralRuleParserRuleCall_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DefaultLiteralRule_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDefaultLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(DefaultLiteralRule_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// StringLiteralRule
+protected class Literal_StringLiteralRuleParserRuleCall_5 extends RuleCallToken {
+
+ public Literal_StringLiteralRuleParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getLiteralAccess().getStringLiteralRuleParserRuleCall_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StringLiteralRule_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getStringLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(StringLiteralRule_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule Literal ****************/
+
+
+/************ begin Rule NameOrChoiceOrBehaviorCall ****************
+ *
+ * NameOrChoiceOrBehaviorCall:
+ * path=QualifiedName? // can resolve to :
+ * // - EnumSpecification,
+ * // - VariableCallExpression
+ * // - PropertyCallExpression
+ * // - ChoiceExpression
+ * id=[uml::NamedElement] ("(" arguments=ListOfValues? ")")?;
+ *
+ **/
+
+// path=QualifiedName? // can resolve to :
+// // - EnumSpecification,
+// // - VariableCallExpression
+// // - PropertyCallExpression
+// // - ChoiceExpression
+// id=[uml::NamedElement] ("(" arguments=ListOfValues? ")")?
+protected class NameOrChoiceOrBehaviorCall_Group extends GroupToken {
+
+ public NameOrChoiceOrBehaviorCall_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameOrChoiceOrBehaviorCall_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NameOrChoiceOrBehaviorCall_IdAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNameOrChoiceOrBehaviorCallRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// path=QualifiedName?
+protected class NameOrChoiceOrBehaviorCall_PathAssignment_0 extends AssignmentToken {
+
+ public NameOrChoiceOrBehaviorCall_PathAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getPathAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedName_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("path",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("path");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getPathQualifiedNameParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// id=[uml::NamedElement]
+protected class NameOrChoiceOrBehaviorCall_IdAssignment_1 extends AssignmentToken {
+
+ public NameOrChoiceOrBehaviorCall_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getIdAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameOrChoiceOrBehaviorCall_PathAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getIdNamedElementCrossReference_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getIdNamedElementCrossReference_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// ("(" arguments=ListOfValues? ")")?
+protected class NameOrChoiceOrBehaviorCall_Group_2 extends GroupToken {
+
+ public NameOrChoiceOrBehaviorCall_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameOrChoiceOrBehaviorCall_RightParenthesisKeyword_2_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class NameOrChoiceOrBehaviorCall_LeftParenthesisKeyword_2_0 extends KeywordToken {
+
+ public NameOrChoiceOrBehaviorCall_LeftParenthesisKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getLeftParenthesisKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameOrChoiceOrBehaviorCall_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// arguments=ListOfValues?
+protected class NameOrChoiceOrBehaviorCall_ArgumentsAssignment_2_1 extends AssignmentToken {
+
+ public NameOrChoiceOrBehaviorCall_ArgumentsAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getArgumentsAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValues_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("arguments",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getListOfValuesRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getArgumentsListOfValuesParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NameOrChoiceOrBehaviorCall_LeftParenthesisKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class NameOrChoiceOrBehaviorCall_RightParenthesisKeyword_2_2 extends KeywordToken {
+
+ public NameOrChoiceOrBehaviorCall_RightParenthesisKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getRightParenthesisKeyword_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameOrChoiceOrBehaviorCall_ArgumentsAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+/************ end Rule NameOrChoiceOrBehaviorCall ****************/
+
+
+/************ begin Rule QualifiedName ****************
+ *
+ * QualifiedName:
+ * path=[uml::Namespace] "::" remaining=QualifiedName?;
+ *
+ **/
+
+// path=[uml::Namespace] "::" remaining=QualifiedName?
+protected class QualifiedName_Group extends GroupToken {
+
+ public QualifiedName_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQualifiedNameAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedName_RemainingAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new QualifiedName_ColonColonKeyword_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getQualifiedNameRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// path=[uml::Namespace]
+protected class QualifiedName_PathAssignment_0 extends AssignmentToken {
+
+ public QualifiedName_PathAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQualifiedNameAccess().getPathAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("path",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("path");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameAccess().getPathNamespaceCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getQualifiedNameAccess().getPathNamespaceCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// "::"
+protected class QualifiedName_ColonColonKeyword_1 extends KeywordToken {
+
+ public QualifiedName_ColonColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedName_PathAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// remaining=QualifiedName?
+protected class QualifiedName_RemainingAssignment_2 extends AssignmentToken {
+
+ public QualifiedName_RemainingAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQualifiedNameAccess().getRemainingAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedName_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("remaining",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("remaining");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQualifiedNameAccess().getRemainingQualifiedNameParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QualifiedName_ColonColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule QualifiedName ****************/
+
+
+/************ begin Rule Interval ****************
+ *
+ * Interval:
+ * ("]" | isLowerIncluded="[") lower=Expression ".." upper=Expression (isUpperIncluded="]" | "[");
+ *
+ **/
+
+// ("]" | isLowerIncluded="[") lower=Expression ".." upper=Expression (isUpperIncluded="]" | "[")
+protected class Interval_Group extends GroupToken {
+
+ public Interval_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Interval_Alternatives_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIntervalRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "]" | isLowerIncluded="["
+protected class Interval_Alternatives_0 extends AlternativesToken {
+
+ public Interval_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getAlternatives_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Interval_RightSquareBracketKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Interval_IsLowerIncludedAssignment_0_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "]"
+protected class Interval_RightSquareBracketKeyword_0_0 extends KeywordToken {
+
+ public Interval_RightSquareBracketKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// isLowerIncluded="["
+protected class Interval_IsLowerIncludedAssignment_0_1 extends AssignmentToken {
+
+ public Interval_IsLowerIncludedAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getIsLowerIncludedAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("isLowerIncluded",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isLowerIncluded");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getIntervalAccess().getIsLowerIncludedLeftSquareBracketKeyword_0_1_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getIntervalAccess().getIsLowerIncludedLeftSquareBracketKeyword_0_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+// lower=Expression
+protected class Interval_LowerAssignment_1 extends AssignmentToken {
+
+ public Interval_LowerAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getLowerAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("lower",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("lower");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getIntervalAccess().getLowerExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Interval_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ".."
+protected class Interval_FullStopFullStopKeyword_2 extends KeywordToken {
+
+ public Interval_FullStopFullStopKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Interval_LowerAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// upper=Expression
+protected class Interval_UpperAssignment_3 extends AssignmentToken {
+
+ public Interval_UpperAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getUpperAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("upper",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("upper");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getIntervalAccess().getUpperExpressionParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Interval_FullStopFullStopKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// isUpperIncluded="]" | "["
+protected class Interval_Alternatives_4 extends AlternativesToken {
+
+ public Interval_Alternatives_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getAlternatives_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Interval_IsUpperIncludedAssignment_4_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Interval_LeftSquareBracketKeyword_4_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// isUpperIncluded="]"
+protected class Interval_IsUpperIncludedAssignment_4_0 extends AssignmentToken {
+
+ public Interval_IsUpperIncludedAssignment_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getIsUpperIncludedAssignment_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Interval_UpperAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("isUpperIncluded",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isUpperIncluded");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getIntervalAccess().getIsUpperIncludedRightSquareBracketKeyword_4_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getIntervalAccess().getIsUpperIncludedRightSquareBracketKeyword_4_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "["
+protected class Interval_LeftSquareBracketKeyword_4_1 extends KeywordToken {
+
+ public Interval_LeftSquareBracketKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Interval_UpperAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+/************ end Rule Interval ****************/
+
+
+/************ begin Rule CollectionOrTuple ****************
+ *
+ * CollectionOrTuple:
+ * "{" listOfValues=ListOfValues "}";
+ *
+ **/
+
+// "{" listOfValues=ListOfValues "}"
+protected class CollectionOrTuple_Group extends GroupToken {
+
+ public CollectionOrTuple_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectionOrTupleAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionOrTuple_RightCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectionOrTupleRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "{"
+protected class CollectionOrTuple_LeftCurlyBracketKeyword_0 extends KeywordToken {
+
+ public CollectionOrTuple_LeftCurlyBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionOrTupleAccess().getLeftCurlyBracketKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// listOfValues=ListOfValues
+protected class CollectionOrTuple_ListOfValuesAssignment_1 extends AssignmentToken {
+
+ public CollectionOrTuple_ListOfValuesAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectionOrTupleAccess().getListOfValuesAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValues_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("listOfValues",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("listOfValues");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getListOfValuesRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectionOrTupleAccess().getListOfValuesListOfValuesParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectionOrTuple_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "}"
+protected class CollectionOrTuple_RightCurlyBracketKeyword_2 extends KeywordToken {
+
+ public CollectionOrTuple_RightCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectionOrTupleAccess().getRightCurlyBracketKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectionOrTuple_ListOfValuesAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule CollectionOrTuple ****************/
+
+
+/************ begin Rule Tuple ****************
+ *
+ * Tuple:
+ * "{" listOfValueNamePairs=ListOfValueNamePairs "}";
+ *
+ **/
+
+// "{" listOfValueNamePairs=ListOfValueNamePairs "}"
+protected class Tuple_Group extends GroupToken {
+
+ public Tuple_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_RightCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTupleRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "{"
+protected class Tuple_LeftCurlyBracketKeyword_0 extends KeywordToken {
+
+ public Tuple_LeftCurlyBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleAccess().getLeftCurlyBracketKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// listOfValueNamePairs=ListOfValueNamePairs
+protected class Tuple_ListOfValueNamePairsAssignment_1 extends AssignmentToken {
+
+ public Tuple_ListOfValueNamePairsAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleAccess().getListOfValueNamePairsAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValueNamePairs_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("listOfValueNamePairs",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("listOfValueNamePairs");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getListOfValueNamePairsRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleAccess().getListOfValueNamePairsListOfValueNamePairsParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Tuple_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "}"
+protected class Tuple_RightCurlyBracketKeyword_2 extends KeywordToken {
+
+ public Tuple_RightCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleAccess().getRightCurlyBracketKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_ListOfValueNamePairsAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule Tuple ****************/
+
+
+/************ begin Rule ListOfValues ****************
+ *
+ * ListOfValues:
+ * values+=Expression ("," values+=Expression)*;
+ *
+ **/
+
+// values+=Expression ("," values+=Expression)*
+protected class ListOfValues_Group extends GroupToken {
+
+ public ListOfValues_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getListOfValuesAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValues_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ListOfValues_ValuesAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getListOfValuesRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// values+=Expression
+protected class ListOfValues_ValuesAssignment_0 extends AssignmentToken {
+
+ public ListOfValues_ValuesAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getListOfValuesAccess().getValuesAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("values",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("values");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getListOfValuesAccess().getValuesExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("," values+=Expression)*
+protected class ListOfValues_Group_1 extends GroupToken {
+
+ public ListOfValues_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getListOfValuesAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValues_ValuesAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class ListOfValues_CommaKeyword_1_0 extends KeywordToken {
+
+ public ListOfValues_CommaKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getListOfValuesAccess().getCommaKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValues_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ListOfValues_ValuesAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// values+=Expression
+protected class ListOfValues_ValuesAssignment_1_1 extends AssignmentToken {
+
+ public ListOfValues_ValuesAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getListOfValuesAccess().getValuesAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("values",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("values");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getListOfValuesAccess().getValuesExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ListOfValues_CommaKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ListOfValues ****************/
+
+
+/************ begin Rule ListOfValueNamePairs ****************
+ *
+ * ListOfValueNamePairs:
+ * valueNamePairs+=ValueNamePair ("," valueNamePairs+=ValueNamePair)*;
+ *
+ **/
+
+// valueNamePairs+=ValueNamePair ("," valueNamePairs+=ValueNamePair)*
+protected class ListOfValueNamePairs_Group extends GroupToken {
+
+ public ListOfValueNamePairs_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getListOfValueNamePairsAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValueNamePairs_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ListOfValueNamePairs_ValueNamePairsAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getListOfValueNamePairsRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// valueNamePairs+=ValueNamePair
+protected class ListOfValueNamePairs_ValueNamePairsAssignment_0 extends AssignmentToken {
+
+ public ListOfValueNamePairs_ValueNamePairsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueNamePair_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("valueNamePairs",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("valueNamePairs");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getValueNamePairRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsValueNamePairParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("," valueNamePairs+=ValueNamePair)*
+protected class ListOfValueNamePairs_Group_1 extends GroupToken {
+
+ public ListOfValueNamePairs_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getListOfValueNamePairsAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValueNamePairs_ValueNamePairsAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class ListOfValueNamePairs_CommaKeyword_1_0 extends KeywordToken {
+
+ public ListOfValueNamePairs_CommaKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getListOfValueNamePairsAccess().getCommaKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ListOfValueNamePairs_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ListOfValueNamePairs_ValueNamePairsAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// valueNamePairs+=ValueNamePair
+protected class ListOfValueNamePairs_ValueNamePairsAssignment_1_1 extends AssignmentToken {
+
+ public ListOfValueNamePairs_ValueNamePairsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueNamePair_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("valueNamePairs",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("valueNamePairs");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getValueNamePairRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsValueNamePairParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ListOfValueNamePairs_CommaKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ListOfValueNamePairs ****************/
+
+
+/************ begin Rule ValueNamePair ****************
+ *
+ * ValueNamePair:
+ * property=[uml::Property] "=" value=Expression;
+ *
+ **/
+
+// property=[uml::Property] "=" value=Expression
+protected class ValueNamePair_Group extends GroupToken {
+
+ public ValueNamePair_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getValueNamePairAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueNamePair_ValueAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getValueNamePairRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// property=[uml::Property]
+protected class ValueNamePair_PropertyAssignment_0 extends AssignmentToken {
+
+ public ValueNamePair_PropertyAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getValueNamePairAccess().getPropertyAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("property",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("property");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getValueNamePairAccess().getPropertyPropertyCrossReference_0_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getValueNamePairAccess().getPropertyPropertyCrossReference_0_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+// "="
+protected class ValueNamePair_EqualsSignKeyword_1 extends KeywordToken {
+
+ public ValueNamePair_EqualsSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getValueNamePairAccess().getEqualsSignKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueNamePair_PropertyAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// value=Expression
+protected class ValueNamePair_ValueAssignment_2 extends AssignmentToken {
+
+ public ValueNamePair_ValueAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getValueNamePairAccess().getValueAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getValueNamePairAccess().getValueExpressionParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ValueNamePair_EqualsSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule ValueNamePair ****************/
+
+
+/************ begin Rule TimeExpression ****************
+ *
+ * TimeExpression:
+ * InstantObsExpression | DurationObsExpression | JitterExp;
+ *
+ **/
+
+// InstantObsExpression | DurationObsExpression | JitterExp
+protected class TimeExpression_Alternatives extends AlternativesToken {
+
+ public TimeExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getTimeExpressionAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TimeExpression_InstantObsExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TimeExpression_DurationObsExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new TimeExpression_JitterExpParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDurationObsExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInstantObsExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getJitterExpRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// InstantObsExpression
+protected class TimeExpression_InstantObsExpressionParserRuleCall_0 extends RuleCallToken {
+
+ public TimeExpression_InstantObsExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTimeExpressionAccess().getInstantObsExpressionParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstantObsExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(InstantObsExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// DurationObsExpression
+protected class TimeExpression_DurationObsExpressionParserRuleCall_1 extends RuleCallToken {
+
+ public TimeExpression_DurationObsExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTimeExpressionAccess().getDurationObsExpressionParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDurationObsExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(DurationObsExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// JitterExp
+protected class TimeExpression_JitterExpParserRuleCall_2 extends RuleCallToken {
+
+ public TimeExpression_JitterExpParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getTimeExpressionAccess().getJitterExpParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new JitterExp_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getJitterExpRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(JitterExp_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule TimeExpression ****************/
+
+
+/************ begin Rule InstantObsExpression ****************
+ *
+ * InstantObsExpression:
+ * "@" id=InstantObsName ("(" index=Expression ")")? ("when" "(" condition=Expression ")")?;
+ *
+ **/
+
+// "@" id=InstantObsName ("(" index=Expression ")")? ("when" "(" condition=Expression ")")?
+protected class InstantObsExpression_Group extends GroupToken {
+
+ public InstantObsExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_Group_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InstantObsExpression_Group_2(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new InstantObsExpression_IdAssignment_1(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstantObsExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "@"
+protected class InstantObsExpression_CommercialAtKeyword_0 extends KeywordToken {
+
+ public InstantObsExpression_CommercialAtKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getCommercialAtKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// id=InstantObsName
+protected class InstantObsExpression_IdAssignment_1 extends AssignmentToken {
+
+ public InstantObsExpression_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getIdAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsName_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInstantObsNameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstantObsExpressionAccess().getIdInstantObsNameParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InstantObsExpression_CommercialAtKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("(" index=Expression ")")?
+protected class InstantObsExpression_Group_2 extends GroupToken {
+
+ public InstantObsExpression_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_RightParenthesisKeyword_2_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class InstantObsExpression_LeftParenthesisKeyword_2_0 extends KeywordToken {
+
+ public InstantObsExpression_LeftParenthesisKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getLeftParenthesisKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// index=Expression
+protected class InstantObsExpression_IndexAssignment_2_1 extends AssignmentToken {
+
+ public InstantObsExpression_IndexAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getIndexAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("index",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("index");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstantObsExpressionAccess().getIndexExpressionParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InstantObsExpression_LeftParenthesisKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class InstantObsExpression_RightParenthesisKeyword_2_2 extends KeywordToken {
+
+ public InstantObsExpression_RightParenthesisKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getRightParenthesisKeyword_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_IndexAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// ("when" "(" condition=Expression ")")?
+protected class InstantObsExpression_Group_3 extends GroupToken {
+
+ public InstantObsExpression_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_RightParenthesisKeyword_3_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "when"
+protected class InstantObsExpression_WhenKeyword_3_0 extends KeywordToken {
+
+ public InstantObsExpression_WhenKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getWhenKeyword_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InstantObsExpression_IdAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class InstantObsExpression_LeftParenthesisKeyword_3_1 extends KeywordToken {
+
+ public InstantObsExpression_LeftParenthesisKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getLeftParenthesisKeyword_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_WhenKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// condition=Expression
+protected class InstantObsExpression_ConditionAssignment_3_2 extends AssignmentToken {
+
+ public InstantObsExpression_ConditionAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getConditionAssignment_3_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("condition",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("condition");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstantObsExpressionAccess().getConditionExpressionParserRuleCall_3_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InstantObsExpression_LeftParenthesisKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class InstantObsExpression_RightParenthesisKeyword_3_3 extends KeywordToken {
+
+ public InstantObsExpression_RightParenthesisKeyword_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstantObsExpressionAccess().getRightParenthesisKeyword_3_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_ConditionAssignment_3_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+/************ end Rule InstantObsExpression ****************/
+
+
+/************ begin Rule InstantObsName ****************
+ *
+ * InstantObsName:
+ * path=QualifiedName? instantId=[uml::TimeObservation];
+ *
+ **/
+
+// path=QualifiedName? instantId=[uml::TimeObservation]
+protected class InstantObsName_Group extends GroupToken {
+
+ public InstantObsName_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstantObsNameAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsName_InstantIdAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstantObsNameRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// path=QualifiedName?
+protected class InstantObsName_PathAssignment_0 extends AssignmentToken {
+
+ public InstantObsName_PathAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstantObsNameAccess().getPathAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedName_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("path",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("path");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstantObsNameAccess().getPathQualifiedNameParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// instantId=[uml::TimeObservation]
+protected class InstantObsName_InstantIdAssignment_1 extends AssignmentToken {
+
+ public InstantObsName_InstantIdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstantObsNameAccess().getInstantIdAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsName_PathAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("instantId",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("instantId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInstantObsNameAccess().getInstantIdTimeObservationCrossReference_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getInstantObsNameAccess().getInstantIdTimeObservationCrossReference_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+
+/************ end Rule InstantObsName ****************/
+
+
+/************ begin Rule DurationObsExpression ****************
+ *
+ * DurationObsExpression:
+ * "&" id=DurationObsName ("(" index=Expression ")")? ("when" "(" condition=Expression ")")?;
+ *
+ **/
+
+// "&" id=DurationObsName ("(" index=Expression ")")? ("when" "(" condition=Expression ")")?
+protected class DurationObsExpression_Group extends GroupToken {
+
+ public DurationObsExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsExpression_Group_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new DurationObsExpression_Group_2(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new DurationObsExpression_IdAssignment_1(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDurationObsExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "&"
+protected class DurationObsExpression_AmpersandKeyword_0 extends KeywordToken {
+
+ public DurationObsExpression_AmpersandKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getAmpersandKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// id=DurationObsName
+protected class DurationObsExpression_IdAssignment_1 extends AssignmentToken {
+
+ public DurationObsExpression_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getIdAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsName_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDurationObsNameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDurationObsExpressionAccess().getIdDurationObsNameParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DurationObsExpression_AmpersandKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("(" index=Expression ")")?
+protected class DurationObsExpression_Group_2 extends GroupToken {
+
+ public DurationObsExpression_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsExpression_RightParenthesisKeyword_2_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class DurationObsExpression_LeftParenthesisKeyword_2_0 extends KeywordToken {
+
+ public DurationObsExpression_LeftParenthesisKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getLeftParenthesisKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsExpression_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// index=Expression
+protected class DurationObsExpression_IndexAssignment_2_1 extends AssignmentToken {
+
+ public DurationObsExpression_IndexAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getIndexAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("index",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("index");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDurationObsExpressionAccess().getIndexExpressionParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DurationObsExpression_LeftParenthesisKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class DurationObsExpression_RightParenthesisKeyword_2_2 extends KeywordToken {
+
+ public DurationObsExpression_RightParenthesisKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getRightParenthesisKeyword_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsExpression_IndexAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// ("when" "(" condition=Expression ")")?
+protected class DurationObsExpression_Group_3 extends GroupToken {
+
+ public DurationObsExpression_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsExpression_RightParenthesisKeyword_3_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "when"
+protected class DurationObsExpression_WhenKeyword_3_0 extends KeywordToken {
+
+ public DurationObsExpression_WhenKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getWhenKeyword_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsExpression_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new DurationObsExpression_IdAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class DurationObsExpression_LeftParenthesisKeyword_3_1 extends KeywordToken {
+
+ public DurationObsExpression_LeftParenthesisKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getLeftParenthesisKeyword_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsExpression_WhenKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// condition=Expression
+protected class DurationObsExpression_ConditionAssignment_3_2 extends AssignmentToken {
+
+ public DurationObsExpression_ConditionAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getConditionAssignment_3_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("condition",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("condition");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDurationObsExpressionAccess().getConditionExpressionParserRuleCall_3_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DurationObsExpression_LeftParenthesisKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class DurationObsExpression_RightParenthesisKeyword_3_3 extends KeywordToken {
+
+ public DurationObsExpression_RightParenthesisKeyword_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDurationObsExpressionAccess().getRightParenthesisKeyword_3_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsExpression_ConditionAssignment_3_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+/************ end Rule DurationObsExpression ****************/
+
+
+/************ begin Rule DurationObsName ****************
+ *
+ * DurationObsName:
+ * path=QualifiedName? durationId=[uml::DurationObservation];
+ *
+ **/
+
+// path=QualifiedName? durationId=[uml::DurationObservation]
+protected class DurationObsName_Group extends GroupToken {
+
+ public DurationObsName_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDurationObsNameAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsName_DurationIdAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDurationObsNameRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// path=QualifiedName?
+protected class DurationObsName_PathAssignment_0 extends AssignmentToken {
+
+ public DurationObsName_PathAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDurationObsNameAccess().getPathAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedName_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("path",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("path");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDurationObsNameAccess().getPathQualifiedNameParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// durationId=[uml::DurationObservation]
+protected class DurationObsName_DurationIdAssignment_1 extends AssignmentToken {
+
+ public DurationObsName_DurationIdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDurationObsNameAccess().getDurationIdAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DurationObsName_PathAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("durationId",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("durationId");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDurationObsNameAccess().getDurationIdDurationObservationCrossReference_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getDurationObsNameAccess().getDurationIdDurationObservationCrossReference_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+
+/************ end Rule DurationObsName ****************/
+
+
+/************ begin Rule JitterExp ****************
+ *
+ * JitterExp:
+ * "jitter(" firstInstant=InstantObsExpression ("-" secondInstant=InstantObsExpression)? ")";
+ *
+ **/
+
+// "jitter(" firstInstant=InstantObsExpression ("-" secondInstant=InstantObsExpression)? ")"
+protected class JitterExp_Group extends GroupToken {
+
+ public JitterExp_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getJitterExpAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new JitterExp_RightParenthesisKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getJitterExpRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "jitter("
+protected class JitterExp_JitterKeyword_0 extends KeywordToken {
+
+ public JitterExp_JitterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getJitterExpAccess().getJitterKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// firstInstant=InstantObsExpression
+protected class JitterExp_FirstInstantAssignment_1 extends AssignmentToken {
+
+ public JitterExp_FirstInstantAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getJitterExpAccess().getFirstInstantAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("firstInstant",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("firstInstant");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInstantObsExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getJitterExpAccess().getFirstInstantInstantObsExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new JitterExp_JitterKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("-" secondInstant=InstantObsExpression)?
+protected class JitterExp_Group_2 extends GroupToken {
+
+ public JitterExp_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getJitterExpAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new JitterExp_SecondInstantAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "-"
+protected class JitterExp_HyphenMinusKeyword_2_0 extends KeywordToken {
+
+ public JitterExp_HyphenMinusKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getJitterExpAccess().getHyphenMinusKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new JitterExp_FirstInstantAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// secondInstant=InstantObsExpression
+protected class JitterExp_SecondInstantAssignment_2_1 extends AssignmentToken {
+
+ public JitterExp_SecondInstantAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getJitterExpAccess().getSecondInstantAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstantObsExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("secondInstant",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("secondInstant");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInstantObsExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getJitterExpAccess().getSecondInstantInstantObsExpressionParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new JitterExp_HyphenMinusKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ")"
+protected class JitterExp_RightParenthesisKeyword_3 extends KeywordToken {
+
+ public JitterExp_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getJitterExpAccess().getRightParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new JitterExp_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new JitterExp_FirstInstantAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule JitterExp ****************/
+
+
+/************ begin Rule VariableDeclaration ****************
+ *
+ * VariableDeclaration:
+ * variableDeclaration=VariableDirectionKind? "$" name=ID (":" type=DataTypeName ("=" "(" initValue=Expression ")")? |
+ * "=" "(" initValue=Expression ")");
+ *
+ **/
+
+// variableDeclaration=VariableDirectionKind? "$" name=ID (":" type=DataTypeName ("=" "(" initValue=Expression ")")? | "="
+// "(" initValue=Expression ")")
+protected class VariableDeclaration_Group extends GroupToken {
+
+ public VariableDeclaration_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_Alternatives_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getVariableDeclarationRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// variableDeclaration=VariableDirectionKind?
+protected class VariableDeclaration_VariableDeclarationAssignment_0 extends AssignmentToken {
+
+ public VariableDeclaration_VariableDeclarationAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getVariableDeclarationAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("variableDeclaration",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("variableDeclaration");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getVariableDeclarationAccess().getVariableDeclarationVariableDirectionKindParserRuleCall_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getVariableDeclarationAccess().getVariableDeclarationVariableDirectionKindParserRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "$"
+protected class VariableDeclaration_DollarSignKeyword_1 extends KeywordToken {
+
+ public VariableDeclaration_DollarSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getDollarSignKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_VariableDeclarationAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+}
+
+// name=ID
+protected class VariableDeclaration_NameAssignment_2 extends AssignmentToken {
+
+ public VariableDeclaration_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getNameAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_DollarSignKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_2_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ":" type=DataTypeName ("=" "(" initValue=Expression ")")? | "=" "(" initValue=Expression ")"
+protected class VariableDeclaration_Alternatives_3 extends AlternativesToken {
+
+ public VariableDeclaration_Alternatives_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getAlternatives_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_Group_3_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new VariableDeclaration_Group_3_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":" type=DataTypeName ("=" "(" initValue=Expression ")")?
+protected class VariableDeclaration_Group_3_0 extends GroupToken {
+
+ public VariableDeclaration_Group_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getGroup_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_Group_3_0_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new VariableDeclaration_TypeAssignment_3_0_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":"
+protected class VariableDeclaration_ColonKeyword_3_0_0 extends KeywordToken {
+
+ public VariableDeclaration_ColonKeyword_3_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getColonKeyword_3_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// type=DataTypeName
+protected class VariableDeclaration_TypeAssignment_3_0_1 extends AssignmentToken {
+
+ public VariableDeclaration_TypeAssignment_3_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getTypeAssignment_3_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DataTypeName_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDataTypeNameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getVariableDeclarationAccess().getTypeDataTypeNameParserRuleCall_3_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new VariableDeclaration_ColonKeyword_3_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("=" "(" initValue=Expression ")")?
+protected class VariableDeclaration_Group_3_0_2 extends GroupToken {
+
+ public VariableDeclaration_Group_3_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getGroup_3_0_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_RightParenthesisKeyword_3_0_2_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "="
+protected class VariableDeclaration_EqualsSignKeyword_3_0_2_0 extends KeywordToken {
+
+ public VariableDeclaration_EqualsSignKeyword_3_0_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_3_0_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_TypeAssignment_3_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class VariableDeclaration_LeftParenthesisKeyword_3_0_2_1 extends KeywordToken {
+
+ public VariableDeclaration_LeftParenthesisKeyword_3_0_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getLeftParenthesisKeyword_3_0_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_EqualsSignKeyword_3_0_2_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// initValue=Expression
+protected class VariableDeclaration_InitValueAssignment_3_0_2_2 extends AssignmentToken {
+
+ public VariableDeclaration_InitValueAssignment_3_0_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getInitValueAssignment_3_0_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("initValue",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initValue");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getVariableDeclarationAccess().getInitValueExpressionParserRuleCall_3_0_2_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new VariableDeclaration_LeftParenthesisKeyword_3_0_2_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class VariableDeclaration_RightParenthesisKeyword_3_0_2_3 extends KeywordToken {
+
+ public VariableDeclaration_RightParenthesisKeyword_3_0_2_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getRightParenthesisKeyword_3_0_2_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_InitValueAssignment_3_0_2_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+// "=" "(" initValue=Expression ")"
+protected class VariableDeclaration_Group_3_1 extends GroupToken {
+
+ public VariableDeclaration_Group_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getGroup_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_RightParenthesisKeyword_3_1_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "="
+protected class VariableDeclaration_EqualsSignKeyword_3_1_0 extends KeywordToken {
+
+ public VariableDeclaration_EqualsSignKeyword_3_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_3_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class VariableDeclaration_LeftParenthesisKeyword_3_1_1 extends KeywordToken {
+
+ public VariableDeclaration_LeftParenthesisKeyword_3_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getLeftParenthesisKeyword_3_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_EqualsSignKeyword_3_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// initValue=Expression
+protected class VariableDeclaration_InitValueAssignment_3_1_2 extends AssignmentToken {
+
+ public VariableDeclaration_InitValueAssignment_3_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getInitValueAssignment_3_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ExpAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("initValue",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initValue");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getVariableDeclarationAccess().getInitValueExpressionParserRuleCall_3_1_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new VariableDeclaration_LeftParenthesisKeyword_3_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class VariableDeclaration_RightParenthesisKeyword_3_1_3 extends KeywordToken {
+
+ public VariableDeclaration_RightParenthesisKeyword_3_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVariableDeclarationAccess().getRightParenthesisKeyword_3_1_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclaration_InitValueAssignment_3_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+
+/************ end Rule VariableDeclaration ****************/
+
+
+
+/************ begin Rule DataTypeName ****************
+ *
+ * DataTypeName:
+ * path=QualifiedName? type=[uml::DataType];
+ *
+ **/
+
+// path=QualifiedName? type=[uml::DataType]
+protected class DataTypeName_Group extends GroupToken {
+
+ public DataTypeName_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDataTypeNameAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DataTypeName_TypeAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDataTypeNameRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// path=QualifiedName?
+protected class DataTypeName_PathAssignment_0 extends AssignmentToken {
+
+ public DataTypeName_PathAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDataTypeNameAccess().getPathAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedName_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("path",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("path");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDataTypeNameAccess().getPathQualifiedNameParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// type=[uml::DataType]
+protected class DataTypeName_TypeAssignment_1 extends AssignmentToken {
+
+ public DataTypeName_TypeAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDataTypeNameAccess().getTypeAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DataTypeName_PathAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDataTypeNameAccess().getTypeDataTypeCrossReference_1_0().getType().getClassifier())) {
+ type = AssignmentType.CROSS_REFERENCE;
+ element = grammarAccess.getDataTypeNameAccess().getTypeDataTypeCrossReference_1_0();
+ return obj;
+ }
+ }
+ return null;
+ }
+
+}
+
+
+/************ end Rule DataTypeName ****************/
+
+
+/************ begin Rule NumberLiteralRule ****************
+ *
+ * //////////////////////////////////////////////////////////////////////////////////////////////////////
+ * //LITERAL
+ * //////////////////////////////////////////////////////////////////////////////////////////////////////
+ * NumberLiteralRule:
+ * IntegerLiteralRule | UnlimitedLiteralRule | RealLiteralRule;
+ *
+ **/
+
+// IntegerLiteralRule | UnlimitedLiteralRule | RealLiteralRule
+protected class NumberLiteralRule_Alternatives extends AlternativesToken {
+
+ public NumberLiteralRule_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getNumberLiteralRuleAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NumberLiteralRule_IntegerLiteralRuleParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NumberLiteralRule_UnlimitedLiteralRuleParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new NumberLiteralRule_RealLiteralRuleParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIntegerLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getRealLiteralRuleRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUnlimitedLiteralRuleRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// IntegerLiteralRule
+protected class NumberLiteralRule_IntegerLiteralRuleParserRuleCall_0 extends RuleCallToken {
+
+ public NumberLiteralRule_IntegerLiteralRuleParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IntegerLiteralRule_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIntegerLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(IntegerLiteralRule_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// UnlimitedLiteralRule
+protected class NumberLiteralRule_UnlimitedLiteralRuleParserRuleCall_1 extends RuleCallToken {
+
+ public NumberLiteralRule_UnlimitedLiteralRuleParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNumberLiteralRuleAccess().getUnlimitedLiteralRuleParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnlimitedLiteralRule_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUnlimitedLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(UnlimitedLiteralRule_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// RealLiteralRule
+protected class NumberLiteralRule_RealLiteralRuleParserRuleCall_2 extends RuleCallToken {
+
+ public NumberLiteralRule_RealLiteralRuleParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNumberLiteralRuleAccess().getRealLiteralRuleParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RealLiteralRule_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getRealLiteralRuleRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(RealLiteralRule_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule NumberLiteralRule ****************/
+
+
+/************ begin Rule IntegerLiteralRule ****************
+ *
+ * IntegerLiteralRule:
+ * value=IntegerLiteral;
+ *
+ **/
+
+// value=IntegerLiteral
+protected class IntegerLiteralRule_ValueAssignment extends AssignmentToken {
+
+ public IntegerLiteralRule_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIntegerLiteralRuleAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIntegerLiteralRuleRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getIntegerLiteralRuleAccess().getValueIntegerLiteralTerminalRuleCall_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getIntegerLiteralRuleAccess().getValueIntegerLiteralTerminalRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule IntegerLiteralRule ****************/
+
+
+/************ begin Rule UnlimitedLiteralRule ****************
+ *
+ * //UnlimitedLiteralRule :
+ * // value = UnlimitedLiteral ;
+ * //terminal UnlimitedLiteral :
+ * // '*' ;
+ * UnlimitedLiteralRule:
+ * value="*";
+ *
+ **/
+
+// value="*"
+protected class UnlimitedLiteralRule_ValueAssignment extends AssignmentToken {
+
+ public UnlimitedLiteralRule_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnlimitedLiteralRuleAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUnlimitedLiteralRuleRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUnlimitedLiteralRuleAccess().getValueAsteriskKeyword_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUnlimitedLiteralRuleAccess().getValueAsteriskKeyword_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule UnlimitedLiteralRule ****************/
+
+
+/************ begin Rule RealLiteralRule ****************
+ *
+ * RealLiteralRule:
+ * value=RealLiteral;
+ *
+ **/
+
+// value=RealLiteral
+protected class RealLiteralRule_ValueAssignment extends AssignmentToken {
+
+ public RealLiteralRule_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRealLiteralRuleAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getRealLiteralRuleRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRealLiteralRuleAccess().getValueRealLiteralTerminalRuleCall_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getRealLiteralRuleAccess().getValueRealLiteralTerminalRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule RealLiteralRule ****************/
+
+
+/************ begin Rule DateTimeLiteralRule ****************
+ *
+ * //DateTimeLiteral:
+ * // TimeString (DateString)? (DayString)? |
+ * // DateString (DayString)? |
+ * // DayString ;
+ * //terminal DateString :
+ * // ('0'..'9')('0'..'9')('0'..'9')('0'..'9')'/'('0'('0'..'9')|'1'('0'..'2'))'/'(('0'..'2')('0'..'9')|'3' ('0'|'1')) ;
+ * //terminal TimeString :
+ * // (('0'..'1')('0'..'9')|'2'('0'..'3'))':'('0'..'5')('0'..'9')(':'('0'..'5')('0'..'9')(':'('0'..'9')('0'..'9'))?)? ;
+ * //terminal DayString :
+ * // "Mon" | "Tue" | "Wed" | "Thr" | "Fri" | "Sat" | "Sun" ;
+ * DateTimeLiteralRule:
+ * value=DateTimeLiteral;
+ *
+ **/
+
+// value=DateTimeLiteral
+protected class DateTimeLiteralRule_ValueAssignment extends AssignmentToken {
+
+ public DateTimeLiteralRule_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDateTimeLiteralRuleAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDateTimeLiteralRuleRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDateTimeLiteralRuleAccess().getValueDateTimeLiteralTerminalRuleCall_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getDateTimeLiteralRuleAccess().getValueDateTimeLiteralTerminalRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule DateTimeLiteralRule ****************/
+
+
+/************ begin Rule BooleanLiteralRule ****************
+ *
+ * BooleanLiteralRule:
+ * value=BooleanLiteral;
+ *
+ **/
+
+// value=BooleanLiteral
+protected class BooleanLiteralRule_ValueAssignment extends AssignmentToken {
+
+ public BooleanLiteralRule_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getBooleanLiteralRuleAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBooleanLiteralRuleRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBooleanLiteralRuleAccess().getValueBooleanLiteralTerminalRuleCall_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getBooleanLiteralRuleAccess().getValueBooleanLiteralTerminalRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule BooleanLiteralRule ****************/
+
+
+/************ begin Rule NullLiteralRule ****************
+ *
+ * NullLiteralRule:
+ * value=NullLiteral;
+ *
+ **/
+
+// value=NullLiteral
+protected class NullLiteralRule_ValueAssignment extends AssignmentToken {
+
+ public NullLiteralRule_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNullLiteralRuleAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNullLiteralRuleRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNullLiteralRuleAccess().getValueNullLiteralTerminalRuleCall_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getNullLiteralRuleAccess().getValueNullLiteralTerminalRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule NullLiteralRule ****************/
+
+
+/************ begin Rule DefaultLiteralRule ****************
+ *
+ * //DefaultLiteralRule :
+ * // value = DefaultLiteral ;
+ * //terminal DefaultLiteral :
+ * // '/' ;
+ * DefaultLiteralRule:
+ * value="/";
+ *
+ **/
+
+// value="/"
+protected class DefaultLiteralRule_ValueAssignment extends AssignmentToken {
+
+ public DefaultLiteralRule_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDefaultLiteralRuleAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDefaultLiteralRuleRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getDefaultLiteralRuleAccess().getValueSolidusKeyword_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getDefaultLiteralRuleAccess().getValueSolidusKeyword_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule DefaultLiteralRule ****************/
+
+
+/************ begin Rule StringLiteralRule ****************
+ *
+ * StringLiteralRule:
+ * value=STRING;
+ *
+ **/
+
+// value=STRING
+protected class StringLiteralRule_ValueAssignment extends AssignmentToken {
+
+ public StringLiteralRule_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStringLiteralRuleAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getStringLiteralRuleRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule StringLiteralRule ****************/
+
+}
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/StereotypeApplicationWithVSLAntlrTokenFileProvider.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/StereotypeApplicationWithVSLAntlrTokenFileProvider.java
new file mode 100644
index 00000000000..84ae702f6f1
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/StereotypeApplicationWithVSLAntlrTokenFileProvider.java
@@ -0,0 +1,25 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class StereotypeApplicationWithVSLAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.tokens");
+ }
+}
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/StereotypeApplicationWithVSLParser.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/StereotypeApplicationWithVSLParser.java
new file mode 100644
index 00000000000..dc9b5eba778
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/StereotypeApplicationWithVSLParser.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr;
+
+import org.antlr.runtime.CharStream;
+import org.antlr.runtime.TokenSource;
+import org.eclipse.xtext.parser.IParseResult;
+import org.eclipse.xtext.parser.ParseException;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+
+import com.google.inject.Inject;
+
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.services.StereotypeApplicationWithVSLGrammarAccess;
+
+public class StereotypeApplicationWithVSLParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private StereotypeApplicationWithVSLGrammarAccess grammarAccess;
+
+ @Override
+ protected IParseResult parse(String ruleName, CharStream in) {
+ TokenSource tokenSource = createLexer(in);
+ XtextTokenStream tokenStream = createTokenStream(tokenSource);
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.internal.InternalStereotypeApplicationWithVSLParser parser = createParser(tokenStream);
+ parser.setTokenTypeMap(getTokenDefProvider().getTokenDefMap());
+ parser.setSyntaxErrorProvider(getSyntaxErrorProvider());
+ parser.setUnorderedGroupHelper(getUnorderedGroupHelper().get());
+ try {
+ if(ruleName != null)
+ return parser.parse(ruleName);
+ return parser.parse();
+ } catch (Exception re) {
+ throw new ParseException(re.getMessage(),re);
+ }
+ }
+
+ protected org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.internal.InternalStereotypeApplicationWithVSLParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.internal.InternalStereotypeApplicationWithVSLParser(stream, getElementFactory(), getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "StereotypeApplicationsRule";
+ }
+
+ public StereotypeApplicationWithVSLGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(StereotypeApplicationWithVSLGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g
new file mode 100644
index 00000000000..d75c1c4ae72
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g
@@ -0,0 +1,3570 @@
+/*
+* generated by Xtext
+*/
+grammar InternalStereotypeApplicationWithVSL;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.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.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.xtext.parsetree.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.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.xtext.conversion.ValueConverterException;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.services.StereotypeApplicationWithVSLGrammarAccess;
+
+}
+
+@parser::members {
+
+ private StereotypeApplicationWithVSLGrammarAccess grammarAccess;
+
+ public InternalStereotypeApplicationWithVSLParser(TokenStream input, IAstFactory factory, StereotypeApplicationWithVSLGrammarAccess grammarAccess) {
+ this(input);
+ this.factory = factory;
+ registerRules(grammarAccess.getGrammar());
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected InputStream getTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.tokens");
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "StereotypeApplicationsRule";
+ }
+
+ @Override
+ protected StereotypeApplicationWithVSLGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+// Entry rule entryRuleStereotypeApplicationsRule
+entryRuleStereotypeApplicationsRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getStereotypeApplicationsRuleRule(), currentNode); }
+ iv_ruleStereotypeApplicationsRule=ruleStereotypeApplicationsRule
+ { $current=$iv_ruleStereotypeApplicationsRule.current; }
+ EOF
+;
+
+// Rule StereotypeApplicationsRule
+ruleStereotypeApplicationsRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getStereotypeApplicationsRuleAccess().getStereotypeApplicationsStereotypeApplicationRuleParserRuleCall_0(), currentNode);
+ }
+ lv_stereotypeApplications_0_0=ruleStereotypeApplicationRule {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getStereotypeApplicationsRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "stereotypeApplications",
+ lv_stereotypeApplications_0_0,
+ "StereotypeApplicationRule",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)*
+;
+
+
+
+
+
+// Entry rule entryRuleStereotypeApplicationRule
+entryRuleStereotypeApplicationRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getStereotypeApplicationRuleRule(), currentNode); }
+ iv_ruleStereotypeApplicationRule=ruleStereotypeApplicationRule
+ { $current=$iv_ruleStereotypeApplicationRule.current; }
+ EOF
+;
+
+// Rule StereotypeApplicationRule
+ruleStereotypeApplicationRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+( '<<'
+ {
+ createLeafNode(grammarAccess.getStereotypeApplicationRuleAccess().getLessThanSignLessThanSignKeyword_0(), null);
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getStereotypeApplicationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getStereotypeApplicationRuleAccess().getStereotypeStereotypeCrossReference_1_0(), "stereotype");
+ }
+
+)
+) '>>'
+ {
+ createLeafNode(grammarAccess.getStereotypeApplicationRuleAccess().getGreaterThanSignGreaterThanSignKeyword_2(), null);
+ }
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getStereotypeApplicationRuleAccess().getTagSpecificationTagSpecificationRuleParserRuleCall_3_0_0(), currentNode);
+ }
+ lv_tagSpecification_3_0=ruleTagSpecificationRule {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getStereotypeApplicationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "tagSpecification",
+ lv_tagSpecification_3_0,
+ "TagSpecificationRule",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)( ','
+ {
+ createLeafNode(grammarAccess.getStereotypeApplicationRuleAccess().getCommaKeyword_3_1_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getStereotypeApplicationRuleAccess().getTagSpecificationTagSpecificationRuleParserRuleCall_3_1_1_0(), currentNode);
+ }
+ lv_tagSpecification_5_0=ruleTagSpecificationRule {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getStereotypeApplicationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "tagSpecification",
+ lv_tagSpecification_5_0,
+ "TagSpecificationRule",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))*)?)
+;
+
+
+
+
+
+// Entry rule entryRuleTagSpecificationRule
+entryRuleTagSpecificationRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getTagSpecificationRuleRule(), currentNode); }
+ iv_ruleTagSpecificationRule=ruleTagSpecificationRule
+ { $current=$iv_ruleTagSpecificationRule.current; }
+ EOF
+;
+
+// Rule TagSpecificationRule
+ruleTagSpecificationRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getTagSpecificationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getTagSpecificationRuleAccess().getPropertyPropertyCrossReference_0_0(), "property");
+ }
+
+)
+)(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getTagSpecificationRuleAccess().getValueExpressionValueRuleParserRuleCall_1_0(), currentNode);
+ }
+ lv_value_1_0=ruleExpressionValueRule {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getTagSpecificationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "value",
+ lv_value_1_0,
+ "ExpressionValueRule",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleExpressionValueRule
+entryRuleExpressionValueRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getExpressionValueRuleRule(), currentNode); }
+ iv_ruleExpressionValueRule=ruleExpressionValueRule
+ { $current=$iv_ruleExpressionValueRule.current; }
+ EOF
+;
+
+// Rule ExpressionValueRule
+ruleExpressionValueRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+( '='
+ {
+ createLeafNode(grammarAccess.getExpressionValueRuleAccess().getEqualsSignKeyword_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getExpressionValueRuleAccess().getExpressionExpressionParserRuleCall_1_0(), currentNode);
+ }
+ lv_expression_1_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getExpressionValueRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "expression",
+ lv_expression_1_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleExpression
+entryRuleExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getExpressionRule(), currentNode); }
+ iv_ruleExpression=ruleExpression
+ { $current=$iv_ruleExpression.current; }
+ EOF
+;
+
+// Rule Expression
+ruleExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getExpressionAccess().getExpAndOrXorExpressionParserRuleCall_0(), currentNode);
+ }
+ lv_exp_0_0=ruleAndOrXorExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "AndOrXorExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAndOrXorExpression
+entryRuleAndOrXorExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getAndOrXorExpressionRule(), currentNode); }
+ iv_ruleAndOrXorExpression=ruleAndOrXorExpression
+ { $current=$iv_ruleAndOrXorExpression.current; }
+ EOF
+;
+
+// Rule AndOrXorExpression
+ruleAndOrXorExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getAndOrXorExpressionAccess().getExpEqualityExpressionParserRuleCall_0_0(), currentNode);
+ }
+ lv_exp_0_0=ruleEqualityExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "EqualityExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= 'and'
+ {
+ createLeafNode(grammarAccess.getAndOrXorExpressionAccess().getOpAndKeyword_1_0_0_0(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_1_2= 'or'
+ {
+ createLeafNode(grammarAccess.getAndOrXorExpressionAccess().getOpOrKeyword_1_0_0_1(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_1_3= 'xor'
+ {
+ createLeafNode(grammarAccess.getAndOrXorExpressionAccess().getOpXorKeyword_1_0_0_2(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_3, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+
+)
+)(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getAndOrXorExpressionAccess().getExpEqualityExpressionParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_exp_2_0=ruleEqualityExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "EqualityExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleEqualityExpression
+entryRuleEqualityExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getEqualityExpressionRule(), currentNode); }
+ iv_ruleEqualityExpression=ruleEqualityExpression
+ { $current=$iv_ruleEqualityExpression.current; }
+ EOF
+;
+
+// Rule EqualityExpression
+ruleEqualityExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpRelationalExpressionParserRuleCall_0_0(), currentNode);
+ }
+ lv_exp_0_0=ruleRelationalExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getEqualityExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "RelationalExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= '=='
+ {
+ createLeafNode(grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_0_0_0(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getEqualityExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_1_2= '<>'
+ {
+ createLeafNode(grammarAccess.getEqualityExpressionAccess().getOpLessThanSignGreaterThanSignKeyword_1_0_0_1(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getEqualityExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+
+)
+)(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpRelationalExpressionParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_exp_2_0=ruleRelationalExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getEqualityExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "RelationalExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleRelationalExpression
+entryRuleRelationalExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getRelationalExpressionRule(), currentNode); }
+ iv_ruleRelationalExpression=ruleRelationalExpression
+ { $current=$iv_ruleRelationalExpression.current; }
+ EOF
+;
+
+// Rule RelationalExpression
+ruleRelationalExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getRelationalExpressionAccess().getExpConditionalExpressionParserRuleCall_0_0(), currentNode);
+ }
+ lv_exp_0_0=ruleConditionalExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "ConditionalExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= '<'
+ {
+ createLeafNode(grammarAccess.getRelationalExpressionAccess().getOpLessThanSignKeyword_1_0_0_0(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_1_2= '>'
+ {
+ createLeafNode(grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignKeyword_1_0_0_1(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_1_3= '<='
+ {
+ createLeafNode(grammarAccess.getRelationalExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_0_0_2(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_3, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_1_4= '>='
+ {
+ createLeafNode(grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_0_0_3(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_4, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+
+)
+)(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getRelationalExpressionAccess().getExpConditionalExpressionParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_exp_2_0=ruleConditionalExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "ConditionalExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleConditionalExpression
+entryRuleConditionalExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getConditionalExpressionRule(), currentNode); }
+ iv_ruleConditionalExpression=ruleConditionalExpression
+ { $current=$iv_ruleConditionalExpression.current; }
+ EOF
+;
+
+// Rule ConditionalExpression
+ruleConditionalExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_0_0(), currentNode);
+ }
+ lv_exp_0_0=ruleAdditiveExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getConditionalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "AdditiveExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)((
+(
+ lv_op_1_0= '?'
+ {
+ createLeafNode(grammarAccess.getConditionalExpressionAccess().getOpQuestionMarkKeyword_1_0_0(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getConditionalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_0, "?", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_exp_2_0=ruleAdditiveExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getConditionalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "AdditiveExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) ':'
+ {
+ createLeafNode(grammarAccess.getConditionalExpressionAccess().getColonKeyword_1_2(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_3_0(), currentNode);
+ }
+ lv_exp_4_0=ruleAdditiveExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getConditionalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_4_0,
+ "AdditiveExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleAdditiveExpression
+entryRuleAdditiveExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getAdditiveExpressionRule(), currentNode); }
+ iv_ruleAdditiveExpression=ruleAdditiveExpression
+ { $current=$iv_ruleAdditiveExpression.current; }
+ EOF
+;
+
+// Rule AdditiveExpression
+ruleAdditiveExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_0_0(), currentNode);
+ }
+ lv_exp_0_0=ruleMultiplicativeExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getAdditiveExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "MultiplicativeExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= '+'
+ {
+ createLeafNode(grammarAccess.getAdditiveExpressionAccess().getOpPlusSignKeyword_1_0_0_0(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getAdditiveExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_1_2= '-'
+ {
+ createLeafNode(grammarAccess.getAdditiveExpressionAccess().getOpHyphenMinusKeyword_1_0_0_1(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getAdditiveExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+
+)
+)(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_exp_2_0=ruleMultiplicativeExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getAdditiveExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "MultiplicativeExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleMultiplicativeExpression
+entryRuleMultiplicativeExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getMultiplicativeExpressionRule(), currentNode); }
+ iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression
+ { $current=$iv_ruleMultiplicativeExpression.current; }
+ EOF
+;
+
+// Rule MultiplicativeExpression
+ruleMultiplicativeExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_0_0(), currentNode);
+ }
+ lv_exp_0_0=ruleUnaryExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "UnaryExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= '*'
+ {
+ createLeafNode(grammarAccess.getMultiplicativeExpressionAccess().getOpAsteriskKeyword_1_0_0_0(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_1_2= '/'
+ {
+ createLeafNode(grammarAccess.getMultiplicativeExpressionAccess().getOpSolidusKeyword_1_0_0_1(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_1_3= 'mod'
+ {
+ createLeafNode(grammarAccess.getMultiplicativeExpressionAccess().getOpModKeyword_1_0_0_2(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ add($current, "op", lv_op_1_3, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+
+)
+)(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_exp_2_0=ruleUnaryExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "UnaryExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleUnaryExpression
+entryRuleUnaryExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getUnaryExpressionRule(), currentNode); }
+ iv_ruleUnaryExpression=ruleUnaryExpression
+ { $current=$iv_ruleUnaryExpression.current; }
+ EOF
+;
+
+// Rule UnaryExpression
+ruleUnaryExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(((
+(
+(
+ lv_op_0_1= 'not'
+ {
+ createLeafNode(grammarAccess.getUnaryExpressionAccess().getOpNotKeyword_0_0_0_0(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ set($current, "op", lv_op_0_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_0_2= '-'
+ {
+ createLeafNode(grammarAccess.getUnaryExpressionAccess().getOpHyphenMinusKeyword_0_0_0_1(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ set($current, "op", lv_op_0_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+ | lv_op_0_3= '+'
+ {
+ createLeafNode(grammarAccess.getUnaryExpressionAccess().getOpPlusSignKeyword_0_0_0_2(), "op");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ set($current, "op", lv_op_0_3, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+
+)
+)(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getUnaryExpressionAccess().getUnaryUnaryExpressionParserRuleCall_0_1_0(), currentNode);
+ }
+ lv_unary_1_0=ruleUnaryExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "unary",
+ lv_unary_1_0,
+ "UnaryExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))
+ |(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getUnaryExpressionAccess().getExpPrimaryExpressionParserRuleCall_1_0(), currentNode);
+ }
+ lv_exp_2_0=rulePrimaryExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "PrimaryExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRulePrimaryExpression
+entryRulePrimaryExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getPrimaryExpressionRule(), currentNode); }
+ iv_rulePrimaryExpression=rulePrimaryExpression
+ { $current=$iv_rulePrimaryExpression.current; }
+ EOF
+;
+
+// Rule PrimaryExpression
+rulePrimaryExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getPrimaryExpressionAccess().getPrefixValueSpecificationParserRuleCall_0_0(), currentNode);
+ }
+ lv_prefix_0_0=ruleValueSpecification {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getPrimaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "prefix",
+ lv_prefix_0_0,
+ "ValueSpecification",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)( '.'
+ {
+ createLeafNode(grammarAccess.getPrimaryExpressionAccess().getFullStopKeyword_1_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getPrimaryExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_suffix_2_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getPrimaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "suffix",
+ lv_suffix_2_0,
+ "SuffixExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleValueSpecification
+entryRuleValueSpecification returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getValueSpecificationRule(), currentNode); }
+ iv_ruleValueSpecification=ruleValueSpecification
+ { $current=$iv_ruleValueSpecification.current; }
+ EOF
+;
+
+// Rule ValueSpecification
+ruleValueSpecification returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getLiteralParserRuleCall_0(), currentNode);
+ }
+ this_Literal_0=ruleLiteral
+ {
+ $current = $this_Literal_0.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getNameOrChoiceOrBehaviorCallParserRuleCall_1(), currentNode);
+ }
+ this_NameOrChoiceOrBehaviorCall_1=ruleNameOrChoiceOrBehaviorCall
+ {
+ $current = $this_NameOrChoiceOrBehaviorCall_1.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getIntervalParserRuleCall_2(), currentNode);
+ }
+ this_Interval_2=ruleInterval
+ {
+ $current = $this_Interval_2.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getCollectionOrTupleParserRuleCall_3(), currentNode);
+ }
+ this_CollectionOrTuple_3=ruleCollectionOrTuple
+ {
+ $current = $this_CollectionOrTuple_3.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getTupleParserRuleCall_4(), currentNode);
+ }
+ this_Tuple_4=ruleTuple
+ {
+ $current = $this_Tuple_4.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getTimeExpressionParserRuleCall_5(), currentNode);
+ }
+ this_TimeExpression_5=ruleTimeExpression
+ {
+ $current = $this_TimeExpression_5.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getVariableDeclarationParserRuleCall_6(), currentNode);
+ }
+ this_VariableDeclaration_6=ruleVariableDeclaration
+ {
+ $current = $this_VariableDeclaration_6.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |( '('
+ {
+ createLeafNode(grammarAccess.getValueSpecificationAccess().getLeftParenthesisKeyword_7_0(), null);
+ }
+
+ {
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getExpressionParserRuleCall_7_1(), currentNode);
+ }
+ this_Expression_8=ruleExpression
+ {
+ $current = $this_Expression_8.current;
+ currentNode = currentNode.getParent();
+ }
+ ')'
+ {
+ createLeafNode(grammarAccess.getValueSpecificationAccess().getRightParenthesisKeyword_7_2(), null);
+ }
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSuffixExpression
+entryRuleSuffixExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getSuffixExpressionRule(), currentNode); }
+ iv_ruleSuffixExpression=ruleSuffixExpression
+ { $current=$iv_ruleSuffixExpression.current; }
+ EOF
+;
+
+// Rule SuffixExpression
+ruleSuffixExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getSuffixExpressionAccess().getPropertyCallExpressionParserRuleCall_0(), currentNode);
+ }
+ this_PropertyCallExpression_0=rulePropertyCallExpression
+ {
+ $current = $this_PropertyCallExpression_0.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getSuffixExpressionAccess().getOperationCallExpressionParserRuleCall_1(), currentNode);
+ }
+ this_OperationCallExpression_1=ruleOperationCallExpression
+ {
+ $current = $this_OperationCallExpression_1.current;
+ currentNode = currentNode.getParent();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyCallExpression
+entryRulePropertyCallExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getPropertyCallExpressionRule(), currentNode); }
+ iv_rulePropertyCallExpression=rulePropertyCallExpression
+ { $current=$iv_rulePropertyCallExpression.current; }
+ EOF
+;
+
+// Rule PropertyCallExpression
+rulePropertyCallExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getPropertyCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getPropertyCallExpressionAccess().getPropertyPropertyCrossReference_0_0(), "property");
+ }
+
+)
+)( '.'
+ {
+ createLeafNode(grammarAccess.getPropertyCallExpressionAccess().getFullStopKeyword_1_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getPropertyCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_suffix_2_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getPropertyCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "suffix",
+ lv_suffix_2_0,
+ "SuffixExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleOperationCallExpression
+entryRuleOperationCallExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getOperationCallExpressionRule(), currentNode); }
+ iv_ruleOperationCallExpression=ruleOperationCallExpression
+ { $current=$iv_ruleOperationCallExpression.current; }
+ EOF
+;
+
+// Rule OperationCallExpression
+ruleOperationCallExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getOperationCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getOperationCallExpressionAccess().getOperationOperationCrossReference_0_0(), "operation");
+ }
+
+)
+) '('
+ {
+ createLeafNode(grammarAccess.getOperationCallExpressionAccess().getLeftParenthesisKeyword_1(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getOperationCallExpressionAccess().getArgumentsListOfValuesParserRuleCall_2_0(), currentNode);
+ }
+ lv_arguments_2_0=ruleListOfValues {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getOperationCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "arguments",
+ lv_arguments_2_0,
+ "ListOfValues",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)? ')'
+ {
+ createLeafNode(grammarAccess.getOperationCallExpressionAccess().getRightParenthesisKeyword_3(), null);
+ }
+( '.'
+ {
+ createLeafNode(grammarAccess.getOperationCallExpressionAccess().getFullStopKeyword_4_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getOperationCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_4_1_0(), currentNode);
+ }
+ lv_suffix_5_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getOperationCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "suffix",
+ lv_suffix_5_0,
+ "SuffixExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleLiteral
+entryRuleLiteral returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getLiteralRule(), currentNode); }
+ iv_ruleLiteral=ruleLiteral
+ { $current=$iv_ruleLiteral.current; }
+ EOF
+;
+
+// Rule Literal
+ruleLiteral returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralRuleParserRuleCall_0(), currentNode);
+ }
+ this_NumberLiteralRule_0=ruleNumberLiteralRule
+ {
+ $current = $this_NumberLiteralRule_0.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getDateTimeLiteralRuleParserRuleCall_1(), currentNode);
+ }
+ this_DateTimeLiteralRule_1=ruleDateTimeLiteralRule
+ {
+ $current = $this_DateTimeLiteralRule_1.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralRuleParserRuleCall_2(), currentNode);
+ }
+ this_BooleanLiteralRule_2=ruleBooleanLiteralRule
+ {
+ $current = $this_BooleanLiteralRule_2.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getNullLiteralRuleParserRuleCall_3(), currentNode);
+ }
+ this_NullLiteralRule_3=ruleNullLiteralRule
+ {
+ $current = $this_NullLiteralRule_3.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getDefaultLiteralRuleParserRuleCall_4(), currentNode);
+ }
+ this_DefaultLiteralRule_4=ruleDefaultLiteralRule
+ {
+ $current = $this_DefaultLiteralRule_4.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralRuleParserRuleCall_5(), currentNode);
+ }
+ this_StringLiteralRule_5=ruleStringLiteralRule
+ {
+ $current = $this_StringLiteralRule_5.current;
+ currentNode = currentNode.getParent();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNameOrChoiceOrBehaviorCall
+entryRuleNameOrChoiceOrBehaviorCall returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getNameOrChoiceOrBehaviorCallRule(), currentNode); }
+ iv_ruleNameOrChoiceOrBehaviorCall=ruleNameOrChoiceOrBehaviorCall
+ { $current=$iv_ruleNameOrChoiceOrBehaviorCall.current; }
+ EOF
+;
+
+// Rule NameOrChoiceOrBehaviorCall
+ruleNameOrChoiceOrBehaviorCall returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getPathQualifiedNameParserRuleCall_0_0(), currentNode);
+ }
+ lv_path_0_0=ruleQualifiedName {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getNameOrChoiceOrBehaviorCallRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "path",
+ lv_path_0_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)?(
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getNameOrChoiceOrBehaviorCallRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getIdNamedElementCrossReference_1_0(), "id");
+ }
+
+)
+)( '('
+ {
+ createLeafNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getLeftParenthesisKeyword_2_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getArgumentsListOfValuesParserRuleCall_2_1_0(), currentNode);
+ }
+ lv_arguments_3_0=ruleListOfValues {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getNameOrChoiceOrBehaviorCallRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "arguments",
+ lv_arguments_3_0,
+ "ListOfValues",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)? ')'
+ {
+ createLeafNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getRightParenthesisKeyword_2_2(), null);
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleQualifiedName
+entryRuleQualifiedName returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getQualifiedNameRule(), currentNode); }
+ iv_ruleQualifiedName=ruleQualifiedName
+ { $current=$iv_ruleQualifiedName.current; }
+ EOF
+;
+
+// Rule QualifiedName
+ruleQualifiedName returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getQualifiedNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getQualifiedNameAccess().getPathNamespaceCrossReference_0_0(), "path");
+ }
+
+)
+) '::'
+ {
+ createLeafNode(grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getQualifiedNameAccess().getRemainingQualifiedNameParserRuleCall_2_0(), currentNode);
+ }
+ lv_remaining_2_0=ruleQualifiedName {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getQualifiedNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "remaining",
+ lv_remaining_2_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleInterval
+entryRuleInterval returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getIntervalRule(), currentNode); }
+ iv_ruleInterval=ruleInterval
+ { $current=$iv_ruleInterval.current; }
+ EOF
+;
+
+// Rule Interval
+ruleInterval returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(( ']'
+ {
+ createLeafNode(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_0_0(), null);
+ }
+
+ |(
+(
+ lv_isLowerIncluded_1_0= '['
+ {
+ createLeafNode(grammarAccess.getIntervalAccess().getIsLowerIncludedLeftSquareBracketKeyword_0_1_0(), "isLowerIncluded");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getIntervalRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ set($current, "isLowerIncluded", lv_isLowerIncluded_1_0, "[", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+))(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getIntervalAccess().getLowerExpressionParserRuleCall_1_0(), currentNode);
+ }
+ lv_lower_2_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getIntervalRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "lower",
+ lv_lower_2_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) '..'
+ {
+ createLeafNode(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getIntervalAccess().getUpperExpressionParserRuleCall_3_0(), currentNode);
+ }
+ lv_upper_4_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getIntervalRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "upper",
+ lv_upper_4_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)((
+(
+ lv_isUpperIncluded_5_0= ']'
+ {
+ createLeafNode(grammarAccess.getIntervalAccess().getIsUpperIncludedRightSquareBracketKeyword_4_0_0(), "isUpperIncluded");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getIntervalRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ set($current, "isUpperIncluded", lv_isUpperIncluded_5_0, "]", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)
+ | '['
+ {
+ createLeafNode(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_4_1(), null);
+ }
+))
+;
+
+
+
+
+
+// Entry rule entryRuleCollectionOrTuple
+entryRuleCollectionOrTuple returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getCollectionOrTupleRule(), currentNode); }
+ iv_ruleCollectionOrTuple=ruleCollectionOrTuple
+ { $current=$iv_ruleCollectionOrTuple.current; }
+ EOF
+;
+
+// Rule CollectionOrTuple
+ruleCollectionOrTuple returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+( '{'
+ {
+ createLeafNode(grammarAccess.getCollectionOrTupleAccess().getLeftCurlyBracketKeyword_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getCollectionOrTupleAccess().getListOfValuesListOfValuesParserRuleCall_1_0(), currentNode);
+ }
+ lv_listOfValues_1_0=ruleListOfValues {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getCollectionOrTupleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "listOfValues",
+ lv_listOfValues_1_0,
+ "ListOfValues",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) '}'
+ {
+ createLeafNode(grammarAccess.getCollectionOrTupleAccess().getRightCurlyBracketKeyword_2(), null);
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTuple
+entryRuleTuple returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getTupleRule(), currentNode); }
+ iv_ruleTuple=ruleTuple
+ { $current=$iv_ruleTuple.current; }
+ EOF
+;
+
+// Rule Tuple
+ruleTuple returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+( '{'
+ {
+ createLeafNode(grammarAccess.getTupleAccess().getLeftCurlyBracketKeyword_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getTupleAccess().getListOfValueNamePairsListOfValueNamePairsParserRuleCall_1_0(), currentNode);
+ }
+ lv_listOfValueNamePairs_1_0=ruleListOfValueNamePairs {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getTupleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "listOfValueNamePairs",
+ lv_listOfValueNamePairs_1_0,
+ "ListOfValueNamePairs",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) '}'
+ {
+ createLeafNode(grammarAccess.getTupleAccess().getRightCurlyBracketKeyword_2(), null);
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleListOfValues
+entryRuleListOfValues returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getListOfValuesRule(), currentNode); }
+ iv_ruleListOfValues=ruleListOfValues
+ { $current=$iv_ruleListOfValues.current; }
+ EOF
+;
+
+// Rule ListOfValues
+ruleListOfValues returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getListOfValuesAccess().getValuesExpressionParserRuleCall_0_0(), currentNode);
+ }
+ lv_values_0_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getListOfValuesRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "values",
+ lv_values_0_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)( ','
+ {
+ createLeafNode(grammarAccess.getListOfValuesAccess().getCommaKeyword_1_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getListOfValuesAccess().getValuesExpressionParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_values_2_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getListOfValuesRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "values",
+ lv_values_2_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleListOfValueNamePairs
+entryRuleListOfValueNamePairs returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getListOfValueNamePairsRule(), currentNode); }
+ iv_ruleListOfValueNamePairs=ruleListOfValueNamePairs
+ { $current=$iv_ruleListOfValueNamePairs.current; }
+ EOF
+;
+
+// Rule ListOfValueNamePairs
+ruleListOfValueNamePairs returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsValueNamePairParserRuleCall_0_0(), currentNode);
+ }
+ lv_valueNamePairs_0_0=ruleValueNamePair {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getListOfValueNamePairsRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "valueNamePairs",
+ lv_valueNamePairs_0_0,
+ "ValueNamePair",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)( ','
+ {
+ createLeafNode(grammarAccess.getListOfValueNamePairsAccess().getCommaKeyword_1_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsValueNamePairParserRuleCall_1_1_0(), currentNode);
+ }
+ lv_valueNamePairs_2_0=ruleValueNamePair {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getListOfValueNamePairsRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ add(
+ $current,
+ "valueNamePairs",
+ lv_valueNamePairs_2_0,
+ "ValueNamePair",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleValueNamePair
+entryRuleValueNamePair returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getValueNamePairRule(), currentNode); }
+ iv_ruleValueNamePair=ruleValueNamePair
+ { $current=$iv_ruleValueNamePair.current; }
+ EOF
+;
+
+// Rule ValueNamePair
+ruleValueNamePair returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getValueNamePairRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getValueNamePairAccess().getPropertyPropertyCrossReference_0_0(), "property");
+ }
+
+)
+) '='
+ {
+ createLeafNode(grammarAccess.getValueNamePairAccess().getEqualsSignKeyword_1(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getValueNamePairAccess().getValueExpressionParserRuleCall_2_0(), currentNode);
+ }
+ lv_value_2_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getValueNamePairRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "value",
+ lv_value_2_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleTimeExpression
+entryRuleTimeExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getTimeExpressionRule(), currentNode); }
+ iv_ruleTimeExpression=ruleTimeExpression
+ { $current=$iv_ruleTimeExpression.current; }
+ EOF
+;
+
+// Rule TimeExpression
+ruleTimeExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getTimeExpressionAccess().getInstantObsExpressionParserRuleCall_0(), currentNode);
+ }
+ this_InstantObsExpression_0=ruleInstantObsExpression
+ {
+ $current = $this_InstantObsExpression_0.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getTimeExpressionAccess().getDurationObsExpressionParserRuleCall_1(), currentNode);
+ }
+ this_DurationObsExpression_1=ruleDurationObsExpression
+ {
+ $current = $this_DurationObsExpression_1.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getTimeExpressionAccess().getJitterExpParserRuleCall_2(), currentNode);
+ }
+ this_JitterExp_2=ruleJitterExp
+ {
+ $current = $this_JitterExp_2.current;
+ currentNode = currentNode.getParent();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleInstantObsExpression
+entryRuleInstantObsExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getInstantObsExpressionRule(), currentNode); }
+ iv_ruleInstantObsExpression=ruleInstantObsExpression
+ { $current=$iv_ruleInstantObsExpression.current; }
+ EOF
+;
+
+// Rule InstantObsExpression
+ruleInstantObsExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+( '@'
+ {
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getCommercialAtKeyword_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getInstantObsExpressionAccess().getIdInstantObsNameParserRuleCall_1_0(), currentNode);
+ }
+ lv_id_1_0=ruleInstantObsName {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getInstantObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "id",
+ lv_id_1_0,
+ "InstantObsName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)( '('
+ {
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getLeftParenthesisKeyword_2_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getInstantObsExpressionAccess().getIndexExpressionParserRuleCall_2_1_0(), currentNode);
+ }
+ lv_index_3_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getInstantObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "index",
+ lv_index_3_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) ')'
+ {
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getRightParenthesisKeyword_2_2(), null);
+ }
+)?( 'when'
+ {
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getWhenKeyword_3_0(), null);
+ }
+ '('
+ {
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getLeftParenthesisKeyword_3_1(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getInstantObsExpressionAccess().getConditionExpressionParserRuleCall_3_2_0(), currentNode);
+ }
+ lv_condition_7_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getInstantObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "condition",
+ lv_condition_7_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) ')'
+ {
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getRightParenthesisKeyword_3_3(), null);
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleInstantObsName
+entryRuleInstantObsName returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getInstantObsNameRule(), currentNode); }
+ iv_ruleInstantObsName=ruleInstantObsName
+ { $current=$iv_ruleInstantObsName.current; }
+ EOF
+;
+
+// Rule InstantObsName
+ruleInstantObsName returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getInstantObsNameAccess().getPathQualifiedNameParserRuleCall_0_0(), currentNode);
+ }
+ lv_path_0_0=ruleQualifiedName {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getInstantObsNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "path",
+ lv_path_0_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)?(
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getInstantObsNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getInstantObsNameAccess().getInstantIdTimeObservationCrossReference_1_0(), "instantId");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleDurationObsExpression
+entryRuleDurationObsExpression returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getDurationObsExpressionRule(), currentNode); }
+ iv_ruleDurationObsExpression=ruleDurationObsExpression
+ { $current=$iv_ruleDurationObsExpression.current; }
+ EOF
+;
+
+// Rule DurationObsExpression
+ruleDurationObsExpression returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+( '&'
+ {
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getAmpersandKeyword_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getDurationObsExpressionAccess().getIdDurationObsNameParserRuleCall_1_0(), currentNode);
+ }
+ lv_id_1_0=ruleDurationObsName {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getDurationObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "id",
+ lv_id_1_0,
+ "DurationObsName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)( '('
+ {
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getLeftParenthesisKeyword_2_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getDurationObsExpressionAccess().getIndexExpressionParserRuleCall_2_1_0(), currentNode);
+ }
+ lv_index_3_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getDurationObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "index",
+ lv_index_3_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) ')'
+ {
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getRightParenthesisKeyword_2_2(), null);
+ }
+)?( 'when'
+ {
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getWhenKeyword_3_0(), null);
+ }
+ '('
+ {
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getLeftParenthesisKeyword_3_1(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getDurationObsExpressionAccess().getConditionExpressionParserRuleCall_3_2_0(), currentNode);
+ }
+ lv_condition_7_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getDurationObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "condition",
+ lv_condition_7_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) ')'
+ {
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getRightParenthesisKeyword_3_3(), null);
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleDurationObsName
+entryRuleDurationObsName returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getDurationObsNameRule(), currentNode); }
+ iv_ruleDurationObsName=ruleDurationObsName
+ { $current=$iv_ruleDurationObsName.current; }
+ EOF
+;
+
+// Rule DurationObsName
+ruleDurationObsName returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getDurationObsNameAccess().getPathQualifiedNameParserRuleCall_0_0(), currentNode);
+ }
+ lv_path_0_0=ruleQualifiedName {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getDurationObsNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "path",
+ lv_path_0_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)?(
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getDurationObsNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getDurationObsNameAccess().getDurationIdDurationObservationCrossReference_1_0(), "durationId");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleJitterExp
+entryRuleJitterExp returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getJitterExpRule(), currentNode); }
+ iv_ruleJitterExp=ruleJitterExp
+ { $current=$iv_ruleJitterExp.current; }
+ EOF
+;
+
+// Rule JitterExp
+ruleJitterExp returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+( 'jitter('
+ {
+ createLeafNode(grammarAccess.getJitterExpAccess().getJitterKeyword_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getJitterExpAccess().getFirstInstantInstantObsExpressionParserRuleCall_1_0(), currentNode);
+ }
+ lv_firstInstant_1_0=ruleInstantObsExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getJitterExpRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "firstInstant",
+ lv_firstInstant_1_0,
+ "InstantObsExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)( '-'
+ {
+ createLeafNode(grammarAccess.getJitterExpAccess().getHyphenMinusKeyword_2_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getJitterExpAccess().getSecondInstantInstantObsExpressionParserRuleCall_2_1_0(), currentNode);
+ }
+ lv_secondInstant_3_0=ruleInstantObsExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getJitterExpRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "secondInstant",
+ lv_secondInstant_3_0,
+ "InstantObsExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+))? ')'
+ {
+ createLeafNode(grammarAccess.getJitterExpAccess().getRightParenthesisKeyword_3(), null);
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleVariableDeclaration
+entryRuleVariableDeclaration returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getVariableDeclarationRule(), currentNode); }
+ iv_ruleVariableDeclaration=ruleVariableDeclaration
+ { $current=$iv_ruleVariableDeclaration.current; }
+ EOF
+;
+
+// Rule VariableDeclaration
+ruleVariableDeclaration returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getVariableDeclarationAccess().getVariableDeclarationVariableDirectionKindParserRuleCall_0_0(), currentNode);
+ }
+ lv_variableDeclaration_0_0=ruleVariableDirectionKind {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "variableDeclaration",
+ lv_variableDeclaration_0_0,
+ "VariableDirectionKind",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)? '$'
+ {
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getDollarSignKeyword_1(), null);
+ }
+(
+(
+ lv_name_2_0=RULE_ID
+ {
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_2_0(), "name");
+ }
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ try {
+ set(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)(( ':'
+ {
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getColonKeyword_3_0_0(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getVariableDeclarationAccess().getTypeDataTypeNameParserRuleCall_3_0_1_0(), currentNode);
+ }
+ lv_type_4_0=ruleDataTypeName {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "type",
+ lv_type_4_0,
+ "DataTypeName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)( '='
+ {
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_3_0_2_0(), null);
+ }
+ '('
+ {
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getLeftParenthesisKeyword_3_0_2_1(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getVariableDeclarationAccess().getInitValueExpressionParserRuleCall_3_0_2_2_0(), currentNode);
+ }
+ lv_initValue_7_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "initValue",
+ lv_initValue_7_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) ')'
+ {
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getRightParenthesisKeyword_3_0_2_3(), null);
+ }
+)?)
+ |( '='
+ {
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_3_1_0(), null);
+ }
+ '('
+ {
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getLeftParenthesisKeyword_3_1_1(), null);
+ }
+(
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getVariableDeclarationAccess().getInitValueExpressionParserRuleCall_3_1_2_0(), currentNode);
+ }
+ lv_initValue_11_0=ruleExpression {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "initValue",
+ lv_initValue_11_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+) ')'
+ {
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getRightParenthesisKeyword_3_1_3(), null);
+ }
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleVariableDirectionKind
+entryRuleVariableDirectionKind returns [String current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getVariableDirectionKindRule(), currentNode); }
+ iv_ruleVariableDirectionKind=ruleVariableDirectionKind
+ { $current=$iv_ruleVariableDirectionKind.current.getText(); }
+ EOF
+;
+
+// Rule VariableDirectionKind
+ruleVariableDirectionKind returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+ kw='in'
+ {
+ $current.merge(kw);
+ createLeafNode(grammarAccess.getVariableDirectionKindAccess().getInKeyword_0(), null);
+ }
+
+ |
+ kw='out'
+ {
+ $current.merge(kw);
+ createLeafNode(grammarAccess.getVariableDirectionKindAccess().getOutKeyword_1(), null);
+ }
+
+ |
+ kw='inout'
+ {
+ $current.merge(kw);
+ createLeafNode(grammarAccess.getVariableDirectionKindAccess().getInoutKeyword_2(), null);
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleDataTypeName
+entryRuleDataTypeName returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getDataTypeNameRule(), currentNode); }
+ iv_ruleDataTypeName=ruleDataTypeName
+ { $current=$iv_ruleDataTypeName.current; }
+ EOF
+;
+
+// Rule DataTypeName
+ruleDataTypeName returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+((
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getDataTypeNameAccess().getPathQualifiedNameParserRuleCall_0_0(), currentNode);
+ }
+ lv_path_0_0=ruleQualifiedName {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getDataTypeNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+ try {
+ set(
+ $current,
+ "path",
+ lv_path_0_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+)?(
+(
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getDataTypeNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ }
+ RULE_ID
+ {
+ createLeafNode(grammarAccess.getDataTypeNameAccess().getTypeDataTypeCrossReference_1_0(), "type");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleNumberLiteralRule
+entryRuleNumberLiteralRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getNumberLiteralRuleRule(), currentNode); }
+ iv_ruleNumberLiteralRule=ruleNumberLiteralRule
+ { $current=$iv_ruleNumberLiteralRule.current; }
+ EOF
+;
+
+// Rule NumberLiteralRule
+ruleNumberLiteralRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+ {
+ currentNode=createCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_0(), currentNode);
+ }
+ this_IntegerLiteralRule_0=ruleIntegerLiteralRule
+ {
+ $current = $this_IntegerLiteralRule_0.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getUnlimitedLiteralRuleParserRuleCall_1(), currentNode);
+ }
+ this_UnlimitedLiteralRule_1=ruleUnlimitedLiteralRule
+ {
+ $current = $this_UnlimitedLiteralRule_1.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getRealLiteralRuleParserRuleCall_2(), currentNode);
+ }
+ this_RealLiteralRule_2=ruleRealLiteralRule
+ {
+ $current = $this_RealLiteralRule_2.current;
+ currentNode = currentNode.getParent();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleIntegerLiteralRule
+entryRuleIntegerLiteralRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getIntegerLiteralRuleRule(), currentNode); }
+ iv_ruleIntegerLiteralRule=ruleIntegerLiteralRule
+ { $current=$iv_ruleIntegerLiteralRule.current; }
+ EOF
+;
+
+// Rule IntegerLiteralRule
+ruleIntegerLiteralRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ lv_value_0_0=RULE_INTEGERLITERAL
+ {
+ createLeafNode(grammarAccess.getIntegerLiteralRuleAccess().getValueIntegerLiteralTerminalRuleCall_0(), "value");
+ }
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getIntegerLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ try {
+ set(
+ $current,
+ "value",
+ lv_value_0_0,
+ "IntegerLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleUnlimitedLiteralRule
+entryRuleUnlimitedLiteralRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getUnlimitedLiteralRuleRule(), currentNode); }
+ iv_ruleUnlimitedLiteralRule=ruleUnlimitedLiteralRule
+ { $current=$iv_ruleUnlimitedLiteralRule.current; }
+ EOF
+;
+
+// Rule UnlimitedLiteralRule
+ruleUnlimitedLiteralRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ lv_value_0_0= '*'
+ {
+ createLeafNode(grammarAccess.getUnlimitedLiteralRuleAccess().getValueAsteriskKeyword_0(), "value");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getUnlimitedLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ set($current, "value", lv_value_0_0, "*", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRealLiteralRule
+entryRuleRealLiteralRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getRealLiteralRuleRule(), currentNode); }
+ iv_ruleRealLiteralRule=ruleRealLiteralRule
+ { $current=$iv_ruleRealLiteralRule.current; }
+ EOF
+;
+
+// Rule RealLiteralRule
+ruleRealLiteralRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ lv_value_0_0=RULE_REALLITERAL
+ {
+ createLeafNode(grammarAccess.getRealLiteralRuleAccess().getValueRealLiteralTerminalRuleCall_0(), "value");
+ }
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getRealLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ try {
+ set(
+ $current,
+ "value",
+ lv_value_0_0,
+ "RealLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleDateTimeLiteralRule
+entryRuleDateTimeLiteralRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getDateTimeLiteralRuleRule(), currentNode); }
+ iv_ruleDateTimeLiteralRule=ruleDateTimeLiteralRule
+ { $current=$iv_ruleDateTimeLiteralRule.current; }
+ EOF
+;
+
+// Rule DateTimeLiteralRule
+ruleDateTimeLiteralRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ lv_value_0_0=RULE_DATETIMELITERAL
+ {
+ createLeafNode(grammarAccess.getDateTimeLiteralRuleAccess().getValueDateTimeLiteralTerminalRuleCall_0(), "value");
+ }
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getDateTimeLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ try {
+ set(
+ $current,
+ "value",
+ lv_value_0_0,
+ "DateTimeLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleBooleanLiteralRule
+entryRuleBooleanLiteralRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getBooleanLiteralRuleRule(), currentNode); }
+ iv_ruleBooleanLiteralRule=ruleBooleanLiteralRule
+ { $current=$iv_ruleBooleanLiteralRule.current; }
+ EOF
+;
+
+// Rule BooleanLiteralRule
+ruleBooleanLiteralRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ lv_value_0_0=RULE_BOOLEANLITERAL
+ {
+ createLeafNode(grammarAccess.getBooleanLiteralRuleAccess().getValueBooleanLiteralTerminalRuleCall_0(), "value");
+ }
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getBooleanLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ try {
+ set(
+ $current,
+ "value",
+ lv_value_0_0,
+ "BooleanLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNullLiteralRule
+entryRuleNullLiteralRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getNullLiteralRuleRule(), currentNode); }
+ iv_ruleNullLiteralRule=ruleNullLiteralRule
+ { $current=$iv_ruleNullLiteralRule.current; }
+ EOF
+;
+
+// Rule NullLiteralRule
+ruleNullLiteralRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ lv_value_0_0=RULE_NULLLITERAL
+ {
+ createLeafNode(grammarAccess.getNullLiteralRuleAccess().getValueNullLiteralTerminalRuleCall_0(), "value");
+ }
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getNullLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ try {
+ set(
+ $current,
+ "value",
+ lv_value_0_0,
+ "NullLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleDefaultLiteralRule
+entryRuleDefaultLiteralRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getDefaultLiteralRuleRule(), currentNode); }
+ iv_ruleDefaultLiteralRule=ruleDefaultLiteralRule
+ { $current=$iv_ruleDefaultLiteralRule.current; }
+ EOF
+;
+
+// Rule DefaultLiteralRule
+ruleDefaultLiteralRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ lv_value_0_0= '/'
+ {
+ createLeafNode(grammarAccess.getDefaultLiteralRuleAccess().getValueSolidusKeyword_0(), "value");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getDefaultLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ set($current, "value", lv_value_0_0, "/", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStringLiteralRule
+entryRuleStringLiteralRule returns [EObject current=null]
+ :
+ { currentNode = createCompositeNode(grammarAccess.getStringLiteralRuleRule(), currentNode); }
+ iv_ruleStringLiteralRule=ruleStringLiteralRule
+ { $current=$iv_ruleStringLiteralRule.current; }
+ EOF
+;
+
+// Rule StringLiteralRule
+ruleStringLiteralRule returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ lastConsumedNode = currentNode;
+ }:
+(
+(
+ lv_value_0_0=RULE_STRING
+ {
+ createLeafNode(grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0(), "value");
+ }
+ {
+ if ($current==null) {
+ $current = factory.create(grammarAccess.getStringLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, $current);
+ }
+ try {
+ set(
+ $current,
+ "value",
+ lv_value_0_0,
+ "STRING",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)
+)
+;
+
+
+
+
+
+RULE_INTEGERLITERAL : ('+'|'-')? (('0'..'9')+|'0x' ('0'..'9'|'A'..'F'|'a'..'f')+|'0b' ('0'..'1')+);
+
+RULE_REALLITERAL : ('+'|'-')? ('0'..'9')+ '.' ('0'..'9')+ ('E' ('+'|'-')? ('0'..'9')+)?;
+
+RULE_DATETIMELITERAL : (('0'..'1' '0'..'9'|'2' '0'..'3') ':' '0'..'5' '0'..'9' (':' '0'..'5' '0'..'9' (':' '0'..'9' '0'..'9')?)? (' ' '0'..'9' '0'..'9' '0'..'9' '0'..'9' '/' ('0' '0'..'9'|'1' '0'..'2') '/' ('0'..'2' '0'..'9'|'3' ('0'|'1')))? (' ' ('Mon'|'Tue'|'Wed'|'Thr'|'Fri'|'Sat'|'Sun'))?|'0'..'9' '0'..'9' '0'..'9' '0'..'9' '/' ('0' '0'..'9'|'1' '0'..'2') '/' ('0'..'2' '0'..'9'|'3' ('0'|'1')) (' ' ('Mon'|'Tue'|'Wed'|'Thr'|'Fri'|'Sat'|'Sun'))?|('Mon'|'Tue'|'Wed'|'Thr'|'Fri'|'Sat'|'Sun'));
+
+RULE_BOOLEANLITERAL : ('true'|'false');
+
+RULE_NULLLITERAL : 'null';
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.tokens b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.tokens
new file mode 100644
index 00000000000..4c2b8cb373a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.tokens
@@ -0,0 +1,50 @@
+RULE_NULLLITERAL=9
+RULE_DATETIMELITERAL=7
+RULE_BOOLEANLITERAL=8
+RULE_ID=4
+RULE_STRING=10
+RULE_ANY_OTHER=15
+RULE_REALLITERAL=6
+RULE_INTEGERLITERAL=5
+RULE_INT=11
+RULE_WS=14
+RULE_SL_COMMENT=13
+RULE_ML_COMMENT=12
+'..'=43
+'out'=52
+'>='=28
+'when'=47
+'=='=23
+'/'=34
+'mod'=35
+'>'=26
+'='=19
+'<>'=24
+'@'=46
+'::'=40
+'+'=31
+'.'=37
+')'=39
+'xor'=22
+'$'=50
+'>>'=17
+'}'=45
+'jitter('=49
+'inout'=53
+'and'=20
+'{'=44
+'<<'=16
+'?'=29
+'<='=27
+'<'=25
+':'=30
+'not'=36
+'('=38
+'['=42
+'or'=21
+'-'=32
+'*'=33
+','=18
+'in'=51
+'&'=48
+']'=41
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSLLexer.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSLLexer.java
new file mode 100644
index 00000000000..65eea9347eb
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSLLexer.java
@@ -0,0 +1,3147 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.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 InternalStereotypeApplicationWithVSLLexer extends Lexer {
+ public static final int RULE_DATETIMELITERAL=7;
+ public static final int RULE_ID=4;
+ public static final int RULE_ANY_OTHER=15;
+ public static final int RULE_REALLITERAL=6;
+ public static final int T29=29;
+ public static final int T28=28;
+ public static final int T27=27;
+ public static final int T26=26;
+ public static final int T25=25;
+ public static final int EOF=-1;
+ public static final int T24=24;
+ public static final int T23=23;
+ public static final int T22=22;
+ public static final int T21=21;
+ public static final int T20=20;
+ public static final int RULE_BOOLEANLITERAL=8;
+ public static final int RULE_INT=11;
+ public static final int T38=38;
+ public static final int T37=37;
+ public static final int T39=39;
+ public static final int T34=34;
+ public static final int T33=33;
+ public static final int T36=36;
+ public static final int T35=35;
+ public static final int T30=30;
+ public static final int T32=32;
+ public static final int T31=31;
+ public static final int RULE_NULLLITERAL=9;
+ public static final int RULE_INTEGERLITERAL=5;
+ public static final int T49=49;
+ public static final int T48=48;
+ public static final int T43=43;
+ public static final int Tokens=54;
+ public static final int RULE_SL_COMMENT=13;
+ public static final int T42=42;
+ public static final int T41=41;
+ public static final int T40=40;
+ public static final int T47=47;
+ public static final int T46=46;
+ public static final int T45=45;
+ public static final int RULE_ML_COMMENT=12;
+ public static final int T44=44;
+ public static final int RULE_STRING=10;
+ public static final int T50=50;
+ public static final int T52=52;
+ public static final int RULE_WS=14;
+ public static final int T51=51;
+ public static final int T16=16;
+ public static final int T17=17;
+ public static final int T53=53;
+ public static final int T18=18;
+ public static final int T19=19;
+ public InternalStereotypeApplicationWithVSLLexer() {;}
+ public InternalStereotypeApplicationWithVSLLexer(CharStream input) {
+ super(input);
+ }
+ public String getGrammarFileName() { return "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g"; }
+
+ // $ANTLR start T16
+ public final void mT16() throws RecognitionException {
+ try {
+ int _type = T16;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:10:5: ( '<<' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:10:7: '<<'
+ {
+ match("<<");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T16
+
+ // $ANTLR start T17
+ public final void mT17() throws RecognitionException {
+ try {
+ int _type = T17;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:11:5: ( '>>' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:11:7: '>>'
+ {
+ match(">>");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T17
+
+ // $ANTLR start T18
+ public final void mT18() throws RecognitionException {
+ try {
+ int _type = T18;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:12:5: ( ',' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:12:7: ','
+ {
+ match(',');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T18
+
+ // $ANTLR start T19
+ public final void mT19() throws RecognitionException {
+ try {
+ int _type = T19;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:13:5: ( '=' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:13:7: '='
+ {
+ match('=');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T19
+
+ // $ANTLR start T20
+ public final void mT20() throws RecognitionException {
+ try {
+ int _type = T20;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:14:5: ( 'and' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:14:7: 'and'
+ {
+ match("and");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T20
+
+ // $ANTLR start T21
+ public final void mT21() throws RecognitionException {
+ try {
+ int _type = T21;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:15:5: ( 'or' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:15:7: 'or'
+ {
+ match("or");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T21
+
+ // $ANTLR start T22
+ public final void mT22() throws RecognitionException {
+ try {
+ int _type = T22;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:16:5: ( 'xor' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:16:7: 'xor'
+ {
+ match("xor");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T22
+
+ // $ANTLR start T23
+ public final void mT23() throws RecognitionException {
+ try {
+ int _type = T23;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:17:5: ( '==' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:17:7: '=='
+ {
+ match("==");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T23
+
+ // $ANTLR start T24
+ public final void mT24() throws RecognitionException {
+ try {
+ int _type = T24;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:18:5: ( '<>' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:18:7: '<>'
+ {
+ match("<>");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T24
+
+ // $ANTLR start T25
+ public final void mT25() throws RecognitionException {
+ try {
+ int _type = T25;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:19:5: ( '<' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:19:7: '<'
+ {
+ match('<');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T25
+
+ // $ANTLR start T26
+ public final void mT26() throws RecognitionException {
+ try {
+ int _type = T26;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:20:5: ( '>' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:20:7: '>'
+ {
+ match('>');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T26
+
+ // $ANTLR start T27
+ public final void mT27() throws RecognitionException {
+ try {
+ int _type = T27;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:21:5: ( '<=' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:21:7: '<='
+ {
+ match("<=");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T27
+
+ // $ANTLR start T28
+ public final void mT28() throws RecognitionException {
+ try {
+ int _type = T28;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:22:5: ( '>=' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:22:7: '>='
+ {
+ match(">=");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T28
+
+ // $ANTLR start T29
+ public final void mT29() throws RecognitionException {
+ try {
+ int _type = T29;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:23:5: ( '?' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:23:7: '?'
+ {
+ match('?');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T29
+
+ // $ANTLR start T30
+ public final void mT30() throws RecognitionException {
+ try {
+ int _type = T30;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:24:5: ( ':' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:24:7: ':'
+ {
+ match(':');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T30
+
+ // $ANTLR start T31
+ public final void mT31() throws RecognitionException {
+ try {
+ int _type = T31;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:25:5: ( '+' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:25:7: '+'
+ {
+ match('+');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T31
+
+ // $ANTLR start T32
+ public final void mT32() throws RecognitionException {
+ try {
+ int _type = T32;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:26:5: ( '-' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:26:7: '-'
+ {
+ match('-');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T32
+
+ // $ANTLR start T33
+ public final void mT33() throws RecognitionException {
+ try {
+ int _type = T33;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:27:5: ( '*' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:27:7: '*'
+ {
+ match('*');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T33
+
+ // $ANTLR start T34
+ public final void mT34() throws RecognitionException {
+ try {
+ int _type = T34;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:28:5: ( '/' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:28:7: '/'
+ {
+ match('/');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T34
+
+ // $ANTLR start T35
+ public final void mT35() throws RecognitionException {
+ try {
+ int _type = T35;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:29:5: ( 'mod' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:29:7: 'mod'
+ {
+ match("mod");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T35
+
+ // $ANTLR start T36
+ public final void mT36() throws RecognitionException {
+ try {
+ int _type = T36;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:30:5: ( 'not' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:30:7: 'not'
+ {
+ match("not");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T36
+
+ // $ANTLR start T37
+ public final void mT37() throws RecognitionException {
+ try {
+ int _type = T37;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:31:5: ( '.' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:31:7: '.'
+ {
+ match('.');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T37
+
+ // $ANTLR start T38
+ public final void mT38() throws RecognitionException {
+ try {
+ int _type = T38;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:32:5: ( '(' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:32:7: '('
+ {
+ match('(');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T38
+
+ // $ANTLR start T39
+ public final void mT39() throws RecognitionException {
+ try {
+ int _type = T39;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:33:5: ( ')' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:33:7: ')'
+ {
+ match(')');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T39
+
+ // $ANTLR start T40
+ public final void mT40() throws RecognitionException {
+ try {
+ int _type = T40;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:34:5: ( '::' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:34:7: '::'
+ {
+ match("::");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T40
+
+ // $ANTLR start T41
+ public final void mT41() throws RecognitionException {
+ try {
+ int _type = T41;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:35:5: ( ']' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:35:7: ']'
+ {
+ match(']');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T41
+
+ // $ANTLR start T42
+ public final void mT42() throws RecognitionException {
+ try {
+ int _type = T42;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:36:5: ( '[' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:36:7: '['
+ {
+ match('[');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T42
+
+ // $ANTLR start T43
+ public final void mT43() throws RecognitionException {
+ try {
+ int _type = T43;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:37:5: ( '..' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:37:7: '..'
+ {
+ match("..");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T43
+
+ // $ANTLR start T44
+ public final void mT44() throws RecognitionException {
+ try {
+ int _type = T44;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:38:5: ( '{' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:38:7: '{'
+ {
+ match('{');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T44
+
+ // $ANTLR start T45
+ public final void mT45() throws RecognitionException {
+ try {
+ int _type = T45;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:39:5: ( '}' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:39:7: '}'
+ {
+ match('}');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T45
+
+ // $ANTLR start T46
+ public final void mT46() throws RecognitionException {
+ try {
+ int _type = T46;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:40:5: ( '@' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:40:7: '@'
+ {
+ match('@');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T46
+
+ // $ANTLR start T47
+ public final void mT47() throws RecognitionException {
+ try {
+ int _type = T47;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:41:5: ( 'when' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:41:7: 'when'
+ {
+ match("when");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T47
+
+ // $ANTLR start T48
+ public final void mT48() throws RecognitionException {
+ try {
+ int _type = T48;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:42:5: ( '&' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:42:7: '&'
+ {
+ match('&');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T48
+
+ // $ANTLR start T49
+ public final void mT49() throws RecognitionException {
+ try {
+ int _type = T49;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:43:5: ( 'jitter(' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:43:7: 'jitter('
+ {
+ match("jitter(");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T49
+
+ // $ANTLR start T50
+ public final void mT50() throws RecognitionException {
+ try {
+ int _type = T50;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:44:5: ( '$' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:44:7: '$'
+ {
+ match('$');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T50
+
+ // $ANTLR start T51
+ public final void mT51() throws RecognitionException {
+ try {
+ int _type = T51;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:45:5: ( 'in' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:45:7: 'in'
+ {
+ match("in");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T51
+
+ // $ANTLR start T52
+ public final void mT52() throws RecognitionException {
+ try {
+ int _type = T52;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:46:5: ( 'out' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:46:7: 'out'
+ {
+ match("out");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T52
+
+ // $ANTLR start T53
+ public final void mT53() throws RecognitionException {
+ try {
+ int _type = T53;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:47:5: ( 'inout' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:47:7: 'inout'
+ {
+ match("inout");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T53
+
+ // $ANTLR start RULE_INTEGERLITERAL
+ public final void mRULE_INTEGERLITERAL() throws RecognitionException {
+ try {
+ int _type = RULE_INTEGERLITERAL;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:21: ( ( '+' | '-' )? ( ( '0' .. '9' )+ | '0x' ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )+ | '0b' ( '0' .. '1' )+ ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:23: ( '+' | '-' )? ( ( '0' .. '9' )+ | '0x' ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )+ | '0b' ( '0' .. '1' )+ )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:23: ( '+' | '-' )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='+'||LA1_0=='-') ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:
+ {
+ if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:34: ( ( '0' .. '9' )+ | '0x' ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )+ | '0b' ( '0' .. '1' )+ )
+ int alt5=3;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='0') ) {
+ switch ( input.LA(2) ) {
+ case 'x':
+ {
+ alt5=2;
+ }
+ break;
+ case 'b':
+ {
+ alt5=3;
+ }
+ break;
+ default:
+ alt5=1;}
+
+ }
+ else if ( ((LA5_0>='1' && LA5_0<='9')) ) {
+ alt5=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3546:34: ( ( '0' .. '9' )+ | '0x' ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )+ | '0b' ( '0' .. '1' )+ )", 5, 0, input);
+
+ throw nvae;
+ }
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:35: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:35: ( '0' .. '9' )+
+ int cnt2=0;
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:36: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt2 >= 1 ) break loop2;
+ EarlyExitException eee =
+ new EarlyExitException(2, input);
+ throw eee;
+ }
+ cnt2++;
+ } while (true);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:47: '0x' ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )+
+ {
+ match("0x");
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:52: ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )+
+ int cnt3=0;
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( ((LA3_0>='0' && LA3_0<='9')||(LA3_0>='A' && LA3_0<='F')||(LA3_0>='a' && LA3_0<='f')) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt3 >= 1 ) break loop3;
+ EarlyExitException eee =
+ new EarlyExitException(3, input);
+ throw eee;
+ }
+ cnt3++;
+ } while (true);
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:82: '0b' ( '0' .. '1' )+
+ {
+ match("0b");
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:87: ( '0' .. '1' )+
+ int cnt4=0;
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( ((LA4_0>='0' && LA4_0<='1')) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3546:88: '0' .. '1'
+ {
+ matchRange('0','1');
+
+ }
+ break;
+
+ default :
+ if ( cnt4 >= 1 ) break loop4;
+ EarlyExitException eee =
+ new EarlyExitException(4, input);
+ throw eee;
+ }
+ cnt4++;
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_INTEGERLITERAL
+
+ // $ANTLR start RULE_REALLITERAL
+ public final void mRULE_REALLITERAL() throws RecognitionException {
+ try {
+ int _type = RULE_REALLITERAL;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:18: ( ( '+' | '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( 'E' ( '+' | '-' )? ( '0' .. '9' )+ )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:20: ( '+' | '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ ( 'E' ( '+' | '-' )? ( '0' .. '9' )+ )?
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:20: ( '+' | '-' )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='+'||LA6_0=='-') ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:
+ {
+ if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:31: ( '0' .. '9' )+
+ int cnt7=0;
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( ((LA7_0>='0' && LA7_0<='9')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:32: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt7 >= 1 ) break loop7;
+ EarlyExitException eee =
+ new EarlyExitException(7, input);
+ throw eee;
+ }
+ cnt7++;
+ } while (true);
+
+ match('.');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:47: ( '0' .. '9' )+
+ int cnt8=0;
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>='0' && LA8_0<='9')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:48: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt8 >= 1 ) break loop8;
+ EarlyExitException eee =
+ new EarlyExitException(8, input);
+ throw eee;
+ }
+ cnt8++;
+ } while (true);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:59: ( 'E' ( '+' | '-' )? ( '0' .. '9' )+ )?
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='E') ) {
+ alt11=1;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:60: 'E' ( '+' | '-' )? ( '0' .. '9' )+
+ {
+ match('E');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:64: ( '+' | '-' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='+'||LA9_0=='-') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:
+ {
+ if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:75: ( '0' .. '9' )+
+ int cnt10=0;
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>='0' && LA10_0<='9')) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3548:76: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt10 >= 1 ) break loop10;
+ EarlyExitException eee =
+ new EarlyExitException(10, input);
+ throw eee;
+ }
+ cnt10++;
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_REALLITERAL
+
+ // $ANTLR start RULE_DATETIMELITERAL
+ public final void mRULE_DATETIMELITERAL() throws RecognitionException {
+ try {
+ int _type = RULE_DATETIMELITERAL;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:22: ( ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )? ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )? ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:24: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )? ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )? ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:24: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )? ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )? ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )
+ int alt25=3;
+ switch ( input.LA(1) ) {
+ case '0':
+ case '1':
+ {
+ int LA25_1 = input.LA(2);
+
+ if ( ((LA25_1>='0' && LA25_1<='9')) ) {
+ int LA25_5 = input.LA(3);
+
+ if ( ((LA25_5>='0' && LA25_5<='9')) ) {
+ alt25=2;
+ }
+ else if ( (LA25_5==':') ) {
+ alt25=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:24: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )? ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )? ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )", 25, 5, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:24: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )? ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )? ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )", 25, 1, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case '2':
+ {
+ int LA25_2 = input.LA(2);
+
+ if ( ((LA25_2>='0' && LA25_2<='3')) ) {
+ int LA25_6 = input.LA(3);
+
+ if ( ((LA25_6>='0' && LA25_6<='9')) ) {
+ alt25=2;
+ }
+ else if ( (LA25_6==':') ) {
+ alt25=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:24: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )? ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )? ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )", 25, 6, input);
+
+ throw nvae;
+ }
+ }
+ else if ( ((LA25_2>='4' && LA25_2<='9')) ) {
+ alt25=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:24: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )? ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )? ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )", 25, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ {
+ alt25=2;
+ }
+ break;
+ case 'F':
+ case 'M':
+ case 'S':
+ case 'T':
+ case 'W':
+ {
+ alt25=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("3550:24: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )? ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )? ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )? | ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )", 25, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt25) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:25: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )? ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )? ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )?
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:25: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' )
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( ((LA12_0>='0' && LA12_0<='1')) ) {
+ alt12=1;
+ }
+ else if ( (LA12_0=='2') ) {
+ alt12=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:25: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' )", 12, 0, input);
+
+ throw nvae;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:26: '0' .. '1' '0' .. '9'
+ {
+ matchRange('0','1');
+ matchRange('0','9');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:44: '2' '0' .. '3'
+ {
+ match('2');
+ matchRange('0','3');
+
+ }
+ break;
+
+ }
+
+ match(':');
+ matchRange('0','5');
+ matchRange('0','9');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:80: ( ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )? )?
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0==':') ) {
+ alt14=1;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:81: ':' '0' .. '5' '0' .. '9' ( ':' '0' .. '9' '0' .. '9' )?
+ {
+ match(':');
+ matchRange('0','5');
+ matchRange('0','9');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:103: ( ':' '0' .. '9' '0' .. '9' )?
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==':') ) {
+ alt13=1;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:104: ':' '0' .. '9' '0' .. '9'
+ {
+ match(':');
+ matchRange('0','9');
+ matchRange('0','9');
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:130: ( ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) )?
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0==' ') ) {
+ int LA17_1 = input.LA(2);
+
+ if ( ((LA17_1>='0' && LA17_1<='9')) ) {
+ alt17=1;
+ }
+ }
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:131: ' ' '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) )
+ {
+ match(' ');
+ matchRange('0','9');
+ matchRange('0','9');
+ matchRange('0','9');
+ matchRange('0','9');
+ match('/');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:175: ( '0' '0' .. '9' | '1' '0' .. '2' )
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0=='0') ) {
+ alt15=1;
+ }
+ else if ( (LA15_0=='1') ) {
+ alt15=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:175: ( '0' '0' .. '9' | '1' '0' .. '2' )", 15, 0, input);
+
+ throw nvae;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:176: '0' '0' .. '9'
+ {
+ match('0');
+ matchRange('0','9');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:189: '1' '0' .. '2'
+ {
+ match('1');
+ matchRange('0','2');
+
+ }
+ break;
+
+ }
+
+ match('/');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:207: ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) )
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( ((LA16_0>='0' && LA16_0<='2')) ) {
+ alt16=1;
+ }
+ else if ( (LA16_0=='3') ) {
+ alt16=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:207: ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) )", 16, 0, input);
+
+ throw nvae;
+ }
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:208: '0' .. '2' '0' .. '9'
+ {
+ matchRange('0','2');
+ matchRange('0','9');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:226: '3' ( '0' | '1' )
+ {
+ match('3');
+ if ( (input.LA(1)>='0' && input.LA(1)<='1') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:243: ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )?
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0==' ') ) {
+ alt19=1;
+ }
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:244: ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )
+ {
+ match(' ');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:248: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )
+ int alt18=7;
+ switch ( input.LA(1) ) {
+ case 'M':
+ {
+ alt18=1;
+ }
+ break;
+ case 'T':
+ {
+ int LA18_2 = input.LA(2);
+
+ if ( (LA18_2=='u') ) {
+ alt18=2;
+ }
+ else if ( (LA18_2=='h') ) {
+ alt18=4;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:248: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )", 18, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 'W':
+ {
+ alt18=3;
+ }
+ break;
+ case 'F':
+ {
+ alt18=5;
+ }
+ break;
+ case 'S':
+ {
+ int LA18_5 = input.LA(2);
+
+ if ( (LA18_5=='a') ) {
+ alt18=6;
+ }
+ else if ( (LA18_5=='u') ) {
+ alt18=7;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:248: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )", 18, 5, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("3550:248: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )", 18, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:249: 'Mon'
+ {
+ match("Mon");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:255: 'Tue'
+ {
+ match("Tue");
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:261: 'Wed'
+ {
+ match("Wed");
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:267: 'Thr'
+ {
+ match("Thr");
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:273: 'Fri'
+ {
+ match("Fri");
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:279: 'Sat'
+ {
+ match("Sat");
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:285: 'Sun'
+ {
+ match("Sun");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:294: '0' .. '9' '0' .. '9' '0' .. '9' '0' .. '9' '/' ( '0' '0' .. '9' | '1' '0' .. '2' ) '/' ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) ) ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )?
+ {
+ matchRange('0','9');
+ matchRange('0','9');
+ matchRange('0','9');
+ matchRange('0','9');
+ match('/');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:334: ( '0' '0' .. '9' | '1' '0' .. '2' )
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0=='0') ) {
+ alt20=1;
+ }
+ else if ( (LA20_0=='1') ) {
+ alt20=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:334: ( '0' '0' .. '9' | '1' '0' .. '2' )", 20, 0, input);
+
+ throw nvae;
+ }
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:335: '0' '0' .. '9'
+ {
+ match('0');
+ matchRange('0','9');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:348: '1' '0' .. '2'
+ {
+ match('1');
+ matchRange('0','2');
+
+ }
+ break;
+
+ }
+
+ match('/');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:366: ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) )
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( ((LA21_0>='0' && LA21_0<='2')) ) {
+ alt21=1;
+ }
+ else if ( (LA21_0=='3') ) {
+ alt21=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:366: ( '0' .. '2' '0' .. '9' | '3' ( '0' | '1' ) )", 21, 0, input);
+
+ throw nvae;
+ }
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:367: '0' .. '2' '0' .. '9'
+ {
+ matchRange('0','2');
+ matchRange('0','9');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:385: '3' ( '0' | '1' )
+ {
+ match('3');
+ if ( (input.LA(1)>='0' && input.LA(1)<='1') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:400: ( ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' ) )?
+ int alt23=2;
+ int LA23_0 = input.LA(1);
+
+ if ( (LA23_0==' ') ) {
+ alt23=1;
+ }
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:401: ' ' ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )
+ {
+ match(' ');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:405: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )
+ int alt22=7;
+ switch ( input.LA(1) ) {
+ case 'M':
+ {
+ alt22=1;
+ }
+ break;
+ case 'T':
+ {
+ int LA22_2 = input.LA(2);
+
+ if ( (LA22_2=='u') ) {
+ alt22=2;
+ }
+ else if ( (LA22_2=='h') ) {
+ alt22=4;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:405: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )", 22, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 'W':
+ {
+ alt22=3;
+ }
+ break;
+ case 'F':
+ {
+ alt22=5;
+ }
+ break;
+ case 'S':
+ {
+ int LA22_5 = input.LA(2);
+
+ if ( (LA22_5=='u') ) {
+ alt22=7;
+ }
+ else if ( (LA22_5=='a') ) {
+ alt22=6;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:405: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )", 22, 5, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("3550:405: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )", 22, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:406: 'Mon'
+ {
+ match("Mon");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:412: 'Tue'
+ {
+ match("Tue");
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:418: 'Wed'
+ {
+ match("Wed");
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:424: 'Thr'
+ {
+ match("Thr");
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:430: 'Fri'
+ {
+ match("Fri");
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:436: 'Sat'
+ {
+ match("Sat");
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:442: 'Sun'
+ {
+ match("Sun");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:451: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:451: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )
+ int alt24=7;
+ switch ( input.LA(1) ) {
+ case 'M':
+ {
+ alt24=1;
+ }
+ break;
+ case 'T':
+ {
+ int LA24_2 = input.LA(2);
+
+ if ( (LA24_2=='u') ) {
+ alt24=2;
+ }
+ else if ( (LA24_2=='h') ) {
+ alt24=4;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:451: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )", 24, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 'W':
+ {
+ alt24=3;
+ }
+ break;
+ case 'F':
+ {
+ alt24=5;
+ }
+ break;
+ case 'S':
+ {
+ int LA24_5 = input.LA(2);
+
+ if ( (LA24_5=='u') ) {
+ alt24=7;
+ }
+ else if ( (LA24_5=='a') ) {
+ alt24=6;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3550:451: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )", 24, 5, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("3550:451: ( 'Mon' | 'Tue' | 'Wed' | 'Thr' | 'Fri' | 'Sat' | 'Sun' )", 24, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:452: 'Mon'
+ {
+ match("Mon");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:458: 'Tue'
+ {
+ match("Tue");
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:464: 'Wed'
+ {
+ match("Wed");
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:470: 'Thr'
+ {
+ match("Thr");
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:476: 'Fri'
+ {
+ match("Fri");
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:482: 'Sat'
+ {
+ match("Sat");
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3550:488: 'Sun'
+ {
+ match("Sun");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_DATETIMELITERAL
+
+ // $ANTLR start RULE_BOOLEANLITERAL
+ public final void mRULE_BOOLEANLITERAL() throws RecognitionException {
+ try {
+ int _type = RULE_BOOLEANLITERAL;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3552:21: ( ( 'true' | 'false' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3552:23: ( 'true' | 'false' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3552:23: ( 'true' | 'false' )
+ int alt26=2;
+ int LA26_0 = input.LA(1);
+
+ if ( (LA26_0=='t') ) {
+ alt26=1;
+ }
+ else if ( (LA26_0=='f') ) {
+ alt26=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3552:23: ( 'true' | 'false' )", 26, 0, input);
+
+ throw nvae;
+ }
+ switch (alt26) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3552:24: 'true'
+ {
+ match("true");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3552:31: 'false'
+ {
+ match("false");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_BOOLEANLITERAL
+
+ // $ANTLR start RULE_NULLLITERAL
+ public final void mRULE_NULLLITERAL() throws RecognitionException {
+ try {
+ int _type = RULE_NULLLITERAL;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3554:18: ( 'null' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3554:20: 'null'
+ {
+ match("null");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_NULLLITERAL
+
+ // $ANTLR start RULE_ID
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3556:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3556:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3556:11: ( '^' )?
+ int alt27=2;
+ int LA27_0 = input.LA(1);
+
+ if ( (LA27_0=='^') ) {
+ alt27=1;
+ }
+ switch (alt27) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3556:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3556:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop28:
+ do {
+ int alt28=2;
+ int LA28_0 = input.LA(1);
+
+ if ( ((LA28_0>='0' && LA28_0<='9')||(LA28_0>='A' && LA28_0<='Z')||LA28_0=='_'||(LA28_0>='a' && LA28_0<='z')) ) {
+ alt28=1;
+ }
+
+
+ switch (alt28) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop28;
+ }
+ } while (true);
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_ID
+
+ // $ANTLR start RULE_INT
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3558:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3558:12: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3558:12: ( '0' .. '9' )+
+ int cnt29=0;
+ loop29:
+ do {
+ int alt29=2;
+ int LA29_0 = input.LA(1);
+
+ if ( ((LA29_0>='0' && LA29_0<='9')) ) {
+ alt29=1;
+ }
+
+
+ switch (alt29) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3558:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt29 >= 1 ) break loop29;
+ EarlyExitException eee =
+ new EarlyExitException(29, input);
+ throw eee;
+ }
+ cnt29++;
+ } while (true);
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_INT
+
+ // $ANTLR start RULE_STRING
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt32=2;
+ int LA32_0 = input.LA(1);
+
+ if ( (LA32_0=='\"') ) {
+ alt32=1;
+ }
+ else if ( (LA32_0=='\'') ) {
+ alt32=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("3560:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )", 32, 0, input);
+
+ throw nvae;
+ }
+ switch (alt32) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop30:
+ do {
+ int alt30=3;
+ int LA30_0 = input.LA(1);
+
+ if ( (LA30_0=='\\') ) {
+ alt30=1;
+ }
+ else if ( ((LA30_0>='\u0000' && LA30_0<='!')||(LA30_0>='#' && LA30_0<='[')||(LA30_0>=']' && LA30_0<='\uFFFE')) ) {
+ alt30=2;
+ }
+
+
+ switch (alt30) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+ {
+ match('\\');
+ if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:62: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop30;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:82: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:87: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop31:
+ do {
+ int alt31=3;
+ int LA31_0 = input.LA(1);
+
+ if ( (LA31_0=='\\') ) {
+ alt31=1;
+ }
+ else if ( ((LA31_0>='\u0000' && LA31_0<='&')||(LA31_0>='(' && LA31_0<='[')||(LA31_0>=']' && LA31_0<='\uFFFE')) ) {
+ alt31=2;
+ }
+
+
+ switch (alt31) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:88: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+ {
+ match('\\');
+ if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3560:129: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop31;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_STRING
+
+ // $ANTLR start RULE_ML_COMMENT
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3562:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3562:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3562:24: ( options {greedy=false; } : . )*
+ loop33:
+ do {
+ int alt33=2;
+ int LA33_0 = input.LA(1);
+
+ if ( (LA33_0=='*') ) {
+ int LA33_1 = input.LA(2);
+
+ if ( (LA33_1=='/') ) {
+ alt33=2;
+ }
+ else if ( ((LA33_1>='\u0000' && LA33_1<='.')||(LA33_1>='0' && LA33_1<='\uFFFE')) ) {
+ alt33=1;
+ }
+
+
+ }
+ else if ( ((LA33_0>='\u0000' && LA33_0<=')')||(LA33_0>='+' && LA33_0<='\uFFFE')) ) {
+ alt33=1;
+ }
+
+
+ switch (alt33) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3562:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop33;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ this.type = _type;
+ }
+ 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;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3564:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3564:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3564:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop34:
+ do {
+ int alt34=2;
+ int LA34_0 = input.LA(1);
+
+ if ( ((LA34_0>='\u0000' && LA34_0<='\t')||(LA34_0>='\u000B' && LA34_0<='\f')||(LA34_0>='\u000E' && LA34_0<='\uFFFE')) ) {
+ alt34=1;
+ }
+
+
+ switch (alt34) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3564: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)<='\uFFFE') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop34;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3564:40: ( ( '\\r' )? '\\n' )?
+ int alt36=2;
+ int LA36_0 = input.LA(1);
+
+ if ( (LA36_0=='\n'||LA36_0=='\r') ) {
+ alt36=1;
+ }
+ switch (alt36) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3564:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3564:41: ( '\\r' )?
+ int alt35=2;
+ int LA35_0 = input.LA(1);
+
+ if ( (LA35_0=='\r') ) {
+ alt35=1;
+ }
+ switch (alt35) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3564:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_SL_COMMENT
+
+ // $ANTLR start RULE_WS
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3566:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3566:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3566:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt37=0;
+ loop37:
+ do {
+ int alt37=2;
+ int LA37_0 = input.LA(1);
+
+ if ( ((LA37_0>='\t' && LA37_0<='\n')||LA37_0=='\r'||LA37_0==' ') ) {
+ alt37=1;
+ }
+
+
+ switch (alt37) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.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 ( cnt37 >= 1 ) break loop37;
+ EarlyExitException eee =
+ new EarlyExitException(37, input);
+ throw eee;
+ }
+ cnt37++;
+ } while (true);
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_WS
+
+ // $ANTLR start RULE_ANY_OTHER
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3568:16: ( . )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3568:18: .
+ {
+ matchAny();
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_ANY_OTHER
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:8: ( T16 | T17 | T18 | T19 | T20 | T21 | T22 | T23 | T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | RULE_INTEGERLITERAL | RULE_REALLITERAL | RULE_DATETIMELITERAL | RULE_BOOLEANLITERAL | RULE_NULLLITERAL | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt38=50;
+ alt38 = dfa38.predict(input);
+ switch (alt38) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:10: T16
+ {
+ mT16();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:14: T17
+ {
+ mT17();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:18: T18
+ {
+ mT18();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:22: T19
+ {
+ mT19();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:26: T20
+ {
+ mT20();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:30: T21
+ {
+ mT21();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:34: T22
+ {
+ mT22();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:38: T23
+ {
+ mT23();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:42: T24
+ {
+ mT24();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:46: T25
+ {
+ mT25();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:50: T26
+ {
+ mT26();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:54: T27
+ {
+ mT27();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:58: T28
+ {
+ mT28();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:62: T29
+ {
+ mT29();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:66: T30
+ {
+ mT30();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:70: T31
+ {
+ mT31();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:74: T32
+ {
+ mT32();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:78: T33
+ {
+ mT33();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:82: T34
+ {
+ mT34();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:86: T35
+ {
+ mT35();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:90: T36
+ {
+ mT36();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:94: T37
+ {
+ mT37();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:98: T38
+ {
+ mT38();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:102: T39
+ {
+ mT39();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:106: T40
+ {
+ mT40();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:110: T41
+ {
+ mT41();
+
+ }
+ break;
+ case 27 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:114: T42
+ {
+ mT42();
+
+ }
+ break;
+ case 28 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:118: T43
+ {
+ mT43();
+
+ }
+ break;
+ case 29 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:122: T44
+ {
+ mT44();
+
+ }
+ break;
+ case 30 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:126: T45
+ {
+ mT45();
+
+ }
+ break;
+ case 31 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:130: T46
+ {
+ mT46();
+
+ }
+ break;
+ case 32 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:134: T47
+ {
+ mT47();
+
+ }
+ break;
+ case 33 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:138: T48
+ {
+ mT48();
+
+ }
+ break;
+ case 34 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:142: T49
+ {
+ mT49();
+
+ }
+ break;
+ case 35 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:146: T50
+ {
+ mT50();
+
+ }
+ break;
+ case 36 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:150: T51
+ {
+ mT51();
+
+ }
+ break;
+ case 37 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:154: T52
+ {
+ mT52();
+
+ }
+ break;
+ case 38 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:158: T53
+ {
+ mT53();
+
+ }
+ break;
+ case 39 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:162: RULE_INTEGERLITERAL
+ {
+ mRULE_INTEGERLITERAL();
+
+ }
+ break;
+ case 40 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:182: RULE_REALLITERAL
+ {
+ mRULE_REALLITERAL();
+
+ }
+ break;
+ case 41 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:199: RULE_DATETIMELITERAL
+ {
+ mRULE_DATETIMELITERAL();
+
+ }
+ break;
+ case 42 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:220: RULE_BOOLEANLITERAL
+ {
+ mRULE_BOOLEANLITERAL();
+
+ }
+ break;
+ case 43 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:240: RULE_NULLLITERAL
+ {
+ mRULE_NULLLITERAL();
+
+ }
+ break;
+ case 44 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:257: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 45 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:265: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 46 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:274: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 47 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:286: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 48 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:302: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 49 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:318: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 50 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1:326: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA38 dfa38 = new DFA38(this);
+ static final String DFA38_eotS =
+ "\1\uffff\1\61\1\64\1\uffff\1\67\3\71\1\uffff\1\77\1\100\1\103\1"+
+ "\uffff\1\107\2\71\1\114\7\uffff\1\71\1\uffff\1\71\1\uffff\1\71\4"+
+ "\132\7\71\1\55\1\uffff\2\55\14\uffff\1\71\1\uffff\1\152\2\71\4\uffff"+
+ "\2\132\5\uffff\3\71\11\uffff\1\71\1\uffff\1\71\1\uffff\1\163\1\132"+
+ "\2\uffff\2\132\11\71\2\uffff\1\177\1\uffff\1\u0080\1\u0081\1\u0082"+
+ "\1\71\1\u0084\3\71\1\uffff\1\132\1\uffff\7\165\2\71\4\uffff\1\u008b"+
+ "\1\uffff\1\u008c\2\71\1\132\1\u0090\1\71\2\uffff\1\71\1\u0093\1"+
+ "\132\1\uffff\1\u0090\1\71\2\uffff";
+ static final String DFA38_eofS =
+ "\u0095\uffff";
+ static final String DFA38_minS =
+ "\1\0\1\74\1\75\1\uffff\1\75\1\156\1\162\1\157\1\uffff\1\72\2\60"+
+ "\1\uffff\1\52\2\157\1\56\7\uffff\1\150\1\uffff\1\151\1\uffff\1\156"+
+ "\4\56\1\157\1\150\1\145\1\162\1\141\1\162\1\141\1\101\1\uffff\2"+
+ "\0\14\uffff\1\144\1\uffff\1\60\1\164\1\162\4\uffff\2\56\5\uffff"+
+ "\1\144\1\154\1\164\11\uffff\1\145\1\uffff\1\164\1\uffff\1\60\1\56"+
+ "\2\uffff\2\56\1\156\1\162\1\145\1\144\1\151\1\156\1\164\1\165\1"+
+ "\154\2\uffff\1\60\1\uffff\3\60\1\154\1\60\1\156\1\164\1\165\1\uffff"+
+ "\1\56\1\uffff\7\60\1\145\1\163\4\uffff\1\60\1\uffff\1\60\1\145\1"+
+ "\164\1\56\1\60\1\145\2\uffff\1\162\1\60\1\56\1\uffff\1\60\1\50\2"+
+ "\uffff";
+ static final String DFA38_maxS =
+ "\1\ufffe\2\76\1\uffff\1\75\1\156\1\165\1\157\1\uffff\1\72\2\71\1"+
+ "\uffff\1\57\1\157\1\165\1\56\7\uffff\1\150\1\uffff\1\151\1\uffff"+
+ "\1\156\4\71\1\157\1\165\1\145\1\162\1\165\1\162\1\141\1\172\1\uffff"+
+ "\2\ufffe\14\uffff\1\144\1\uffff\1\172\1\164\1\162\4\uffff\2\71\5"+
+ "\uffff\1\144\1\154\1\164\11\uffff\1\145\1\uffff\1\164\1\uffff\1"+
+ "\172\1\72\2\uffff\1\72\1\71\1\156\1\162\1\145\1\144\1\151\1\156"+
+ "\1\164\1\165\1\154\2\uffff\1\172\1\uffff\3\172\1\154\1\172\1\156"+
+ "\1\164\1\165\1\uffff\1\71\1\uffff\7\172\1\145\1\163\4\uffff\1\172"+
+ "\1\uffff\1\172\1\145\1\164\1\71\1\172\1\145\2\uffff\1\162\1\172"+
+ "\1\71\1\uffff\1\172\1\50\2\uffff";
+ static final String DFA38_acceptS =
+ "\3\uffff\1\3\4\uffff\1\16\3\uffff\1\22\4\uffff\1\27\1\30\1\32\1"+
+ "\33\1\35\1\36\1\37\1\uffff\1\41\1\uffff\1\43\15\uffff\1\54\2\uffff"+
+ "\1\61\1\62\1\1\1\14\1\11\1\12\1\2\1\15\1\13\1\3\1\10\1\4\1\uffff"+
+ "\1\54\3\uffff\1\16\1\31\1\17\1\20\2\uffff\1\21\1\22\1\60\1\57\1"+
+ "\23\3\uffff\1\34\1\26\1\27\1\30\1\32\1\33\1\35\1\36\1\37\1\uffff"+
+ "\1\41\1\uffff\1\43\2\uffff\1\47\1\50\13\uffff\1\56\1\61\1\uffff"+
+ "\1\6\10\uffff\1\44\1\uffff\1\51\11\uffff\1\5\1\45\1\7\1\24\1\uffff"+
+ "\1\25\6\uffff\1\53\1\40\3\uffff\1\52\2\uffff\1\46\1\42";
+ static final String DFA38_specialS =
+ "\u0095\uffff}>";
+ static final String[] DFA38_transitionS = {
+ "\11\55\2\54\2\55\1\54\22\55\1\54\1\55\1\52\1\55\1\33\1\55\1"+
+ "\31\1\53\1\21\1\22\1\14\1\12\1\3\1\13\1\20\1\15\1\35\1\36\1"+
+ "\37\7\40\1\11\1\55\1\1\1\4\1\2\1\10\1\27\5\51\1\44\6\51\1\41"+
+ "\5\51\1\45\1\42\2\51\1\43\3\51\1\24\1\55\1\23\1\50\1\51\1\55"+
+ "\1\5\4\51\1\47\2\51\1\34\1\32\2\51\1\16\1\17\1\6\4\51\1\46\2"+
+ "\51\1\30\1\7\2\51\1\25\1\55\1\26\uff81\55",
+ "\1\56\1\57\1\60",
+ "\1\63\1\62",
+ "",
+ "\1\66",
+ "\1\70",
+ "\1\72\2\uffff\1\73",
+ "\1\74",
+ "",
+ "\1\76",
+ "\1\101\11\102",
+ "\1\101\11\102",
+ "",
+ "\1\106\4\uffff\1\105",
+ "\1\110",
+ "\1\112\5\uffff\1\111",
+ "\1\113",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\124",
+ "",
+ "\1\126",
+ "",
+ "\1\130",
+ "\1\133\1\uffff\12\131",
+ "\1\133\1\uffff\12\131",
+ "\1\133\1\uffff\4\134\6\135",
+ "\1\133\1\uffff\12\135",
+ "\1\136",
+ "\1\137\14\uffff\1\140",
+ "\1\141",
+ "\1\142",
+ "\1\144\23\uffff\1\143",
+ "\1\145",
+ "\1\146",
+ "\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\uffff\147",
+ "\uffff\147",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\151",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\153",
+ "\1\154",
+ "",
+ "",
+ "",
+ "",
+ "\1\133\1\uffff\12\102",
+ "\1\133\1\uffff\12\102",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\155",
+ "\1\156",
+ "\1\157",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\160",
+ "",
+ "\1\161",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\16\71\1\162\13\71",
+ "\1\133\1\uffff\12\164\1\165",
+ "",
+ "",
+ "\1\133\1\uffff\12\164\1\165",
+ "\1\133\1\uffff\12\164",
+ "\1\166",
+ "\1\167",
+ "\1\170",
+ "\1\171",
+ "\1\172",
+ "\1\173",
+ "\1\174",
+ "\1\175",
+ "\1\176",
+ "",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0083",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0085",
+ "\1\u0086",
+ "\1\u0087",
+ "",
+ "\1\133\1\uffff\12\u0088",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0089",
+ "\1\u008a",
+ "",
+ "",
+ "",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u008d",
+ "\1\u008e",
+ "\1\133\1\165\12\u008f",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0091",
+ "",
+ "",
+ "\1\u0092",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\133\1\uffff\12\u008f",
+ "",
+ "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+ "\1\u0094",
+ "",
+ ""
+ };
+
+ static final short[] DFA38_eot = DFA.unpackEncodedString(DFA38_eotS);
+ static final short[] DFA38_eof = DFA.unpackEncodedString(DFA38_eofS);
+ static final char[] DFA38_min = DFA.unpackEncodedStringToUnsignedChars(DFA38_minS);
+ static final char[] DFA38_max = DFA.unpackEncodedStringToUnsignedChars(DFA38_maxS);
+ static final short[] DFA38_accept = DFA.unpackEncodedString(DFA38_acceptS);
+ static final short[] DFA38_special = DFA.unpackEncodedString(DFA38_specialS);
+ static final short[][] DFA38_transition;
+
+ static {
+ int numStates = DFA38_transitionS.length;
+ DFA38_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA38_transition[i] = DFA.unpackEncodedString(DFA38_transitionS[i]);
+ }
+ }
+
+ class DFA38 extends DFA {
+
+ public DFA38(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 38;
+ this.eot = DFA38_eot;
+ this.eof = DFA38_eof;
+ this.min = DFA38_min;
+ this.max = DFA38_max;
+ this.accept = DFA38_accept;
+ this.special = DFA38_special;
+ this.transition = DFA38_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T16 | T17 | T18 | T19 | T20 | T21 | T22 | T23 | T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | RULE_INTEGERLITERAL | RULE_REALLITERAL | RULE_DATETIMELITERAL | RULE_BOOLEANLITERAL | RULE_NULLLITERAL | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSLParser.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSLParser.java
new file mode 100644
index 00000000000..02c5a6c7331
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSLParser.java
@@ -0,0 +1,8250 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.parser.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.xtext.parsetree.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.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.xtext.conversion.ValueConverterException;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.services.StereotypeApplicationWithVSLGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalStereotypeApplicationWithVSLParser extends AbstractInternalAntlrParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INTEGERLITERAL", "RULE_REALLITERAL", "RULE_DATETIMELITERAL", "RULE_BOOLEANLITERAL", "RULE_NULLLITERAL", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'<<'", "'>>'", "','", "'='", "'and'", "'or'", "'xor'", "'=='", "'<>'", "'<'", "'>'", "'<='", "'>='", "'?'", "':'", "'+'", "'-'", "'*'", "'/'", "'mod'", "'not'", "'.'", "'('", "')'", "'::'", "']'", "'['", "'..'", "'{'", "'}'", "'@'", "'when'", "'&'", "'jitter('", "'$'", "'in'", "'out'", "'inout'"
+ };
+ public static final int RULE_NULLLITERAL=9;
+ public static final int RULE_DATETIMELITERAL=7;
+ public static final int RULE_BOOLEANLITERAL=8;
+ public static final int RULE_ID=4;
+ public static final int RULE_STRING=10;
+ public static final int RULE_ANY_OTHER=15;
+ public static final int RULE_REALLITERAL=6;
+ public static final int RULE_INTEGERLITERAL=5;
+ public static final int RULE_INT=11;
+ public static final int RULE_WS=14;
+ public static final int RULE_SL_COMMENT=13;
+ public static final int EOF=-1;
+ public static final int RULE_ML_COMMENT=12;
+
+ public InternalStereotypeApplicationWithVSLParser(TokenStream input) {
+ super(input);
+ }
+
+
+ public String[] getTokenNames() { return tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g"; }
+
+
+
+ private StereotypeApplicationWithVSLGrammarAccess grammarAccess;
+
+ public InternalStereotypeApplicationWithVSLParser(TokenStream input, IAstFactory factory, StereotypeApplicationWithVSLGrammarAccess grammarAccess) {
+ this(input);
+ this.factory = factory;
+ registerRules(grammarAccess.getGrammar());
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected InputStream getTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.tokens");
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "StereotypeApplicationsRule";
+ }
+
+ @Override
+ protected StereotypeApplicationWithVSLGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+
+
+
+ // $ANTLR start entryRuleStereotypeApplicationsRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:77:1: entryRuleStereotypeApplicationsRule returns [EObject current=null] : iv_ruleStereotypeApplicationsRule= ruleStereotypeApplicationsRule EOF ;
+ public final EObject entryRuleStereotypeApplicationsRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStereotypeApplicationsRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:78:2: (iv_ruleStereotypeApplicationsRule= ruleStereotypeApplicationsRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:79:2: iv_ruleStereotypeApplicationsRule= ruleStereotypeApplicationsRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getStereotypeApplicationsRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleStereotypeApplicationsRule_in_entryRuleStereotypeApplicationsRule75);
+ iv_ruleStereotypeApplicationsRule=ruleStereotypeApplicationsRule();
+ _fsp--;
+
+ current =iv_ruleStereotypeApplicationsRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStereotypeApplicationsRule85);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleStereotypeApplicationsRule
+
+
+ // $ANTLR start ruleStereotypeApplicationsRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:86:1: ruleStereotypeApplicationsRule returns [EObject current=null] : ( (lv_stereotypeApplications_0_0= ruleStereotypeApplicationRule ) )* ;
+ public final EObject ruleStereotypeApplicationsRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_stereotypeApplications_0_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:91:6: ( ( (lv_stereotypeApplications_0_0= ruleStereotypeApplicationRule ) )* )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:92:1: ( (lv_stereotypeApplications_0_0= ruleStereotypeApplicationRule ) )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:92:1: ( (lv_stereotypeApplications_0_0= ruleStereotypeApplicationRule ) )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==16) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:93:1: (lv_stereotypeApplications_0_0= ruleStereotypeApplicationRule )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:93:1: (lv_stereotypeApplications_0_0= ruleStereotypeApplicationRule )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:94:3: lv_stereotypeApplications_0_0= ruleStereotypeApplicationRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getStereotypeApplicationsRuleAccess().getStereotypeApplicationsStereotypeApplicationRuleParserRuleCall_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleStereotypeApplicationRule_in_ruleStereotypeApplicationsRule130);
+ lv_stereotypeApplications_0_0=ruleStereotypeApplicationRule();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getStereotypeApplicationsRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "stereotypeApplications",
+ lv_stereotypeApplications_0_0,
+ "StereotypeApplicationRule",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleStereotypeApplicationsRule
+
+
+ // $ANTLR start entryRuleStereotypeApplicationRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:124:1: entryRuleStereotypeApplicationRule returns [EObject current=null] : iv_ruleStereotypeApplicationRule= ruleStereotypeApplicationRule EOF ;
+ public final EObject entryRuleStereotypeApplicationRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStereotypeApplicationRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:125:2: (iv_ruleStereotypeApplicationRule= ruleStereotypeApplicationRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:126:2: iv_ruleStereotypeApplicationRule= ruleStereotypeApplicationRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getStereotypeApplicationRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleStereotypeApplicationRule_in_entryRuleStereotypeApplicationRule166);
+ iv_ruleStereotypeApplicationRule=ruleStereotypeApplicationRule();
+ _fsp--;
+
+ current =iv_ruleStereotypeApplicationRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStereotypeApplicationRule176);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleStereotypeApplicationRule
+
+
+ // $ANTLR start ruleStereotypeApplicationRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:133:1: ruleStereotypeApplicationRule returns [EObject current=null] : ( '<<' ( ( RULE_ID ) ) '>>' ( ( (lv_tagSpecification_3_0= ruleTagSpecificationRule ) ) ( ',' ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) ) )* )? ) ;
+ public final EObject ruleStereotypeApplicationRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_tagSpecification_3_0 = null;
+
+ EObject lv_tagSpecification_5_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:138:6: ( ( '<<' ( ( RULE_ID ) ) '>>' ( ( (lv_tagSpecification_3_0= ruleTagSpecificationRule ) ) ( ',' ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) ) )* )? ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:139:1: ( '<<' ( ( RULE_ID ) ) '>>' ( ( (lv_tagSpecification_3_0= ruleTagSpecificationRule ) ) ( ',' ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) ) )* )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:139:1: ( '<<' ( ( RULE_ID ) ) '>>' ( ( (lv_tagSpecification_3_0= ruleTagSpecificationRule ) ) ( ',' ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) ) )* )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:139:3: '<<' ( ( RULE_ID ) ) '>>' ( ( (lv_tagSpecification_3_0= ruleTagSpecificationRule ) ) ( ',' ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) ) )* )?
+ {
+ match(input,16,FOLLOW_16_in_ruleStereotypeApplicationRule211);
+
+ createLeafNode(grammarAccess.getStereotypeApplicationRuleAccess().getLessThanSignLessThanSignKeyword_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:143:1: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:144:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:144:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:145:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getStereotypeApplicationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleStereotypeApplicationRule229);
+
+ createLeafNode(grammarAccess.getStereotypeApplicationRuleAccess().getStereotypeStereotypeCrossReference_1_0(), "stereotype");
+
+
+ }
+
+
+ }
+
+ match(input,17,FOLLOW_17_in_ruleStereotypeApplicationRule239);
+
+ createLeafNode(grammarAccess.getStereotypeApplicationRuleAccess().getGreaterThanSignGreaterThanSignKeyword_2(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:161:1: ( ( (lv_tagSpecification_3_0= ruleTagSpecificationRule ) ) ( ',' ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) ) )* )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==RULE_ID) ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:161:2: ( (lv_tagSpecification_3_0= ruleTagSpecificationRule ) ) ( ',' ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) ) )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:161:2: ( (lv_tagSpecification_3_0= ruleTagSpecificationRule ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:162:1: (lv_tagSpecification_3_0= ruleTagSpecificationRule )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:162:1: (lv_tagSpecification_3_0= ruleTagSpecificationRule )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:163:3: lv_tagSpecification_3_0= ruleTagSpecificationRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getStereotypeApplicationRuleAccess().getTagSpecificationTagSpecificationRuleParserRuleCall_3_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleTagSpecificationRule_in_ruleStereotypeApplicationRule261);
+ lv_tagSpecification_3_0=ruleTagSpecificationRule();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getStereotypeApplicationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "tagSpecification",
+ lv_tagSpecification_3_0,
+ "TagSpecificationRule",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:185:2: ( ',' ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) ) )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==18) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:185:4: ',' ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) )
+ {
+ match(input,18,FOLLOW_18_in_ruleStereotypeApplicationRule272);
+
+ createLeafNode(grammarAccess.getStereotypeApplicationRuleAccess().getCommaKeyword_3_1_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:189:1: ( (lv_tagSpecification_5_0= ruleTagSpecificationRule ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:190:1: (lv_tagSpecification_5_0= ruleTagSpecificationRule )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:190:1: (lv_tagSpecification_5_0= ruleTagSpecificationRule )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:191:3: lv_tagSpecification_5_0= ruleTagSpecificationRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getStereotypeApplicationRuleAccess().getTagSpecificationTagSpecificationRuleParserRuleCall_3_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleTagSpecificationRule_in_ruleStereotypeApplicationRule293);
+ lv_tagSpecification_5_0=ruleTagSpecificationRule();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getStereotypeApplicationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "tagSpecification",
+ lv_tagSpecification_5_0,
+ "TagSpecificationRule",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleStereotypeApplicationRule
+
+
+ // $ANTLR start entryRuleTagSpecificationRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:221:1: entryRuleTagSpecificationRule returns [EObject current=null] : iv_ruleTagSpecificationRule= ruleTagSpecificationRule EOF ;
+ public final EObject entryRuleTagSpecificationRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTagSpecificationRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:222:2: (iv_ruleTagSpecificationRule= ruleTagSpecificationRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:223:2: iv_ruleTagSpecificationRule= ruleTagSpecificationRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getTagSpecificationRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleTagSpecificationRule_in_entryRuleTagSpecificationRule333);
+ iv_ruleTagSpecificationRule=ruleTagSpecificationRule();
+ _fsp--;
+
+ current =iv_ruleTagSpecificationRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTagSpecificationRule343);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleTagSpecificationRule
+
+
+ // $ANTLR start ruleTagSpecificationRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:230:1: ruleTagSpecificationRule returns [EObject current=null] : ( ( ( RULE_ID ) ) ( (lv_value_1_0= ruleExpressionValueRule ) ) ) ;
+ public final EObject ruleTagSpecificationRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_value_1_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:235:6: ( ( ( ( RULE_ID ) ) ( (lv_value_1_0= ruleExpressionValueRule ) ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:236:1: ( ( ( RULE_ID ) ) ( (lv_value_1_0= ruleExpressionValueRule ) ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:236:1: ( ( ( RULE_ID ) ) ( (lv_value_1_0= ruleExpressionValueRule ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:236:2: ( ( RULE_ID ) ) ( (lv_value_1_0= ruleExpressionValueRule ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:236:2: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:237:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:237:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:238:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getTagSpecificationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTagSpecificationRule386);
+
+ createLeafNode(grammarAccess.getTagSpecificationRuleAccess().getPropertyPropertyCrossReference_0_0(), "property");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:250:2: ( (lv_value_1_0= ruleExpressionValueRule ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:251:1: (lv_value_1_0= ruleExpressionValueRule )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:251:1: (lv_value_1_0= ruleExpressionValueRule )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:252:3: lv_value_1_0= ruleExpressionValueRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getTagSpecificationRuleAccess().getValueExpressionValueRuleParserRuleCall_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpressionValueRule_in_ruleTagSpecificationRule407);
+ lv_value_1_0=ruleExpressionValueRule();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getTagSpecificationRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "value",
+ lv_value_1_0,
+ "ExpressionValueRule",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleTagSpecificationRule
+
+
+ // $ANTLR start entryRuleExpressionValueRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:282:1: entryRuleExpressionValueRule returns [EObject current=null] : iv_ruleExpressionValueRule= ruleExpressionValueRule EOF ;
+ public final EObject entryRuleExpressionValueRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleExpressionValueRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:283:2: (iv_ruleExpressionValueRule= ruleExpressionValueRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:284:2: iv_ruleExpressionValueRule= ruleExpressionValueRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getExpressionValueRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleExpressionValueRule_in_entryRuleExpressionValueRule443);
+ iv_ruleExpressionValueRule=ruleExpressionValueRule();
+ _fsp--;
+
+ current =iv_ruleExpressionValueRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleExpressionValueRule453);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleExpressionValueRule
+
+
+ // $ANTLR start ruleExpressionValueRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:291:1: ruleExpressionValueRule returns [EObject current=null] : ( '=' ( (lv_expression_1_0= ruleExpression ) ) ) ;
+ public final EObject ruleExpressionValueRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_expression_1_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:296:6: ( ( '=' ( (lv_expression_1_0= ruleExpression ) ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:297:1: ( '=' ( (lv_expression_1_0= ruleExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:297:1: ( '=' ( (lv_expression_1_0= ruleExpression ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:297:3: '=' ( (lv_expression_1_0= ruleExpression ) )
+ {
+ match(input,19,FOLLOW_19_in_ruleExpressionValueRule488);
+
+ createLeafNode(grammarAccess.getExpressionValueRuleAccess().getEqualsSignKeyword_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:301:1: ( (lv_expression_1_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:302:1: (lv_expression_1_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:302:1: (lv_expression_1_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:303:3: lv_expression_1_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getExpressionValueRuleAccess().getExpressionExpressionParserRuleCall_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleExpressionValueRule509);
+ lv_expression_1_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getExpressionValueRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "expression",
+ lv_expression_1_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleExpressionValueRule
+
+
+ // $ANTLR start entryRuleExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:333:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ;
+ public final EObject entryRuleExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:334:2: (iv_ruleExpression= ruleExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:335:2: iv_ruleExpression= ruleExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleExpression_in_entryRuleExpression545);
+ iv_ruleExpression=ruleExpression();
+ _fsp--;
+
+ current =iv_ruleExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleExpression555);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleExpression
+
+
+ // $ANTLR start ruleExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:342:1: ruleExpression returns [EObject current=null] : ( (lv_exp_0_0= ruleAndOrXorExpression ) ) ;
+ public final EObject ruleExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_exp_0_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:347:6: ( ( (lv_exp_0_0= ruleAndOrXorExpression ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:348:1: ( (lv_exp_0_0= ruleAndOrXorExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:348:1: ( (lv_exp_0_0= ruleAndOrXorExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:349:1: (lv_exp_0_0= ruleAndOrXorExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:349:1: (lv_exp_0_0= ruleAndOrXorExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:350:3: lv_exp_0_0= ruleAndOrXorExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getExpressionAccess().getExpAndOrXorExpressionParserRuleCall_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleAndOrXorExpression_in_ruleExpression600);
+ lv_exp_0_0=ruleAndOrXorExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "AndOrXorExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleExpression
+
+
+ // $ANTLR start entryRuleAndOrXorExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:380:1: entryRuleAndOrXorExpression returns [EObject current=null] : iv_ruleAndOrXorExpression= ruleAndOrXorExpression EOF ;
+ public final EObject entryRuleAndOrXorExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAndOrXorExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:381:2: (iv_ruleAndOrXorExpression= ruleAndOrXorExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:382:2: iv_ruleAndOrXorExpression= ruleAndOrXorExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getAndOrXorExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleAndOrXorExpression_in_entryRuleAndOrXorExpression635);
+ iv_ruleAndOrXorExpression=ruleAndOrXorExpression();
+ _fsp--;
+
+ current =iv_ruleAndOrXorExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAndOrXorExpression645);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleAndOrXorExpression
+
+
+ // $ANTLR start ruleAndOrXorExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:389:1: ruleAndOrXorExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleEqualityExpression ) ) ( ( ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) ) ) ( (lv_exp_2_0= ruleEqualityExpression ) ) )* ) ;
+ public final EObject ruleAndOrXorExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ Token lv_op_1_3=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:394:6: ( ( ( (lv_exp_0_0= ruleEqualityExpression ) ) ( ( ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) ) ) ( (lv_exp_2_0= ruleEqualityExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:395:1: ( ( (lv_exp_0_0= ruleEqualityExpression ) ) ( ( ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) ) ) ( (lv_exp_2_0= ruleEqualityExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:395:1: ( ( (lv_exp_0_0= ruleEqualityExpression ) ) ( ( ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) ) ) ( (lv_exp_2_0= ruleEqualityExpression ) ) )* )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:395:2: ( (lv_exp_0_0= ruleEqualityExpression ) ) ( ( ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) ) ) ( (lv_exp_2_0= ruleEqualityExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:395:2: ( (lv_exp_0_0= ruleEqualityExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:396:1: (lv_exp_0_0= ruleEqualityExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:396:1: (lv_exp_0_0= ruleEqualityExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:397:3: lv_exp_0_0= ruleEqualityExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getAndOrXorExpressionAccess().getExpEqualityExpressionParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleEqualityExpression_in_ruleAndOrXorExpression691);
+ lv_exp_0_0=ruleEqualityExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "EqualityExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:419:2: ( ( ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) ) ) ( (lv_exp_2_0= ruleEqualityExpression ) ) )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( ((LA5_0>=20 && LA5_0<=22)) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:419:3: ( ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) ) ) ( (lv_exp_2_0= ruleEqualityExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:419:3: ( ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:420:1: ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:420:1: ( (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:421:1: (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:421:1: (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' )
+ int alt4=3;
+ switch ( input.LA(1) ) {
+ case 20:
+ {
+ alt4=1;
+ }
+ break;
+ case 21:
+ {
+ alt4=2;
+ }
+ break;
+ case 22:
+ {
+ alt4=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("421:1: (lv_op_1_1= 'and' | lv_op_1_2= 'or' | lv_op_1_3= 'xor' )", 4, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:422:3: lv_op_1_1= 'and'
+ {
+ lv_op_1_1=(Token)input.LT(1);
+ match(input,20,FOLLOW_20_in_ruleAndOrXorExpression712);
+
+ createLeafNode(grammarAccess.getAndOrXorExpressionAccess().getOpAndKeyword_1_0_0_0(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:440:8: lv_op_1_2= 'or'
+ {
+ lv_op_1_2=(Token)input.LT(1);
+ match(input,21,FOLLOW_21_in_ruleAndOrXorExpression741);
+
+ createLeafNode(grammarAccess.getAndOrXorExpressionAccess().getOpOrKeyword_1_0_0_1(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:458:8: lv_op_1_3= 'xor'
+ {
+ lv_op_1_3=(Token)input.LT(1);
+ match(input,22,FOLLOW_22_in_ruleAndOrXorExpression770);
+
+ createLeafNode(grammarAccess.getAndOrXorExpressionAccess().getOpXorKeyword_1_0_0_2(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_3, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:479:2: ( (lv_exp_2_0= ruleEqualityExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:480:1: (lv_exp_2_0= ruleEqualityExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:480:1: (lv_exp_2_0= ruleEqualityExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:481:3: lv_exp_2_0= ruleEqualityExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getAndOrXorExpressionAccess().getExpEqualityExpressionParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleEqualityExpression_in_ruleAndOrXorExpression807);
+ lv_exp_2_0=ruleEqualityExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getAndOrXorExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "EqualityExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleAndOrXorExpression
+
+
+ // $ANTLR start entryRuleEqualityExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:511:1: entryRuleEqualityExpression returns [EObject current=null] : iv_ruleEqualityExpression= ruleEqualityExpression EOF ;
+ public final EObject entryRuleEqualityExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleEqualityExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:512:2: (iv_ruleEqualityExpression= ruleEqualityExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:513:2: iv_ruleEqualityExpression= ruleEqualityExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getEqualityExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleEqualityExpression_in_entryRuleEqualityExpression845);
+ iv_ruleEqualityExpression=ruleEqualityExpression();
+ _fsp--;
+
+ current =iv_ruleEqualityExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleEqualityExpression855);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleEqualityExpression
+
+
+ // $ANTLR start ruleEqualityExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:520:1: ruleEqualityExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) ) ) ( (lv_exp_2_0= ruleRelationalExpression ) ) )* ) ;
+ public final EObject ruleEqualityExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:525:6: ( ( ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) ) ) ( (lv_exp_2_0= ruleRelationalExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:526:1: ( ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) ) ) ( (lv_exp_2_0= ruleRelationalExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:526:1: ( ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) ) ) ( (lv_exp_2_0= ruleRelationalExpression ) ) )* )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:526:2: ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) ) ) ( (lv_exp_2_0= ruleRelationalExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:526:2: ( (lv_exp_0_0= ruleRelationalExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:527:1: (lv_exp_0_0= ruleRelationalExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:527:1: (lv_exp_0_0= ruleRelationalExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:528:3: lv_exp_0_0= ruleRelationalExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpRelationalExpressionParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleRelationalExpression_in_ruleEqualityExpression901);
+ lv_exp_0_0=ruleRelationalExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getEqualityExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "RelationalExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:550:2: ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) ) ) ( (lv_exp_2_0= ruleRelationalExpression ) ) )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( ((LA7_0>=23 && LA7_0<=24)) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:550:3: ( ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) ) ) ( (lv_exp_2_0= ruleRelationalExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:550:3: ( ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:551:1: ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:551:1: ( (lv_op_1_1= '==' | lv_op_1_2= '<>' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:552:1: (lv_op_1_1= '==' | lv_op_1_2= '<>' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:552:1: (lv_op_1_1= '==' | lv_op_1_2= '<>' )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==23) ) {
+ alt6=1;
+ }
+ else if ( (LA6_0==24) ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("552:1: (lv_op_1_1= '==' | lv_op_1_2= '<>' )", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:553:3: lv_op_1_1= '=='
+ {
+ lv_op_1_1=(Token)input.LT(1);
+ match(input,23,FOLLOW_23_in_ruleEqualityExpression922);
+
+ createLeafNode(grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_0_0_0(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getEqualityExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:571:8: lv_op_1_2= '<>'
+ {
+ lv_op_1_2=(Token)input.LT(1);
+ match(input,24,FOLLOW_24_in_ruleEqualityExpression951);
+
+ createLeafNode(grammarAccess.getEqualityExpressionAccess().getOpLessThanSignGreaterThanSignKeyword_1_0_0_1(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getEqualityExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:592:2: ( (lv_exp_2_0= ruleRelationalExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:593:1: (lv_exp_2_0= ruleRelationalExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:593:1: (lv_exp_2_0= ruleRelationalExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:594:3: lv_exp_2_0= ruleRelationalExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpRelationalExpressionParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleRelationalExpression_in_ruleEqualityExpression988);
+ lv_exp_2_0=ruleRelationalExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getEqualityExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "RelationalExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleEqualityExpression
+
+
+ // $ANTLR start entryRuleRelationalExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:624:1: entryRuleRelationalExpression returns [EObject current=null] : iv_ruleRelationalExpression= ruleRelationalExpression EOF ;
+ public final EObject entryRuleRelationalExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRelationalExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:625:2: (iv_ruleRelationalExpression= ruleRelationalExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:626:2: iv_ruleRelationalExpression= ruleRelationalExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getRelationalExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleRelationalExpression_in_entryRuleRelationalExpression1026);
+ iv_ruleRelationalExpression=ruleRelationalExpression();
+ _fsp--;
+
+ current =iv_ruleRelationalExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRelationalExpression1036);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleRelationalExpression
+
+
+ // $ANTLR start ruleRelationalExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:633:1: ruleRelationalExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleConditionalExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_exp_2_0= ruleConditionalExpression ) ) )* ) ;
+ public final EObject ruleRelationalExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ Token lv_op_1_3=null;
+ Token lv_op_1_4=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:638:6: ( ( ( (lv_exp_0_0= ruleConditionalExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_exp_2_0= ruleConditionalExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:639:1: ( ( (lv_exp_0_0= ruleConditionalExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_exp_2_0= ruleConditionalExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:639:1: ( ( (lv_exp_0_0= ruleConditionalExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_exp_2_0= ruleConditionalExpression ) ) )* )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:639:2: ( (lv_exp_0_0= ruleConditionalExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_exp_2_0= ruleConditionalExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:639:2: ( (lv_exp_0_0= ruleConditionalExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:640:1: (lv_exp_0_0= ruleConditionalExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:640:1: (lv_exp_0_0= ruleConditionalExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:641:3: lv_exp_0_0= ruleConditionalExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getRelationalExpressionAccess().getExpConditionalExpressionParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleConditionalExpression_in_ruleRelationalExpression1082);
+ lv_exp_0_0=ruleConditionalExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "ConditionalExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:663:2: ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_exp_2_0= ruleConditionalExpression ) ) )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( ((LA9_0>=25 && LA9_0<=28)) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:663:3: ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_exp_2_0= ruleConditionalExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:663:3: ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:664:1: ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:664:1: ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:665:1: (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:665:1: (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' )
+ int alt8=4;
+ switch ( input.LA(1) ) {
+ case 25:
+ {
+ alt8=1;
+ }
+ break;
+ case 26:
+ {
+ alt8=2;
+ }
+ break;
+ case 27:
+ {
+ alt8=3;
+ }
+ break;
+ case 28:
+ {
+ alt8=4;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("665:1: (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' )", 8, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:666:3: lv_op_1_1= '<'
+ {
+ lv_op_1_1=(Token)input.LT(1);
+ match(input,25,FOLLOW_25_in_ruleRelationalExpression1103);
+
+ createLeafNode(grammarAccess.getRelationalExpressionAccess().getOpLessThanSignKeyword_1_0_0_0(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:684:8: lv_op_1_2= '>'
+ {
+ lv_op_1_2=(Token)input.LT(1);
+ match(input,26,FOLLOW_26_in_ruleRelationalExpression1132);
+
+ createLeafNode(grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignKeyword_1_0_0_1(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:702:8: lv_op_1_3= '<='
+ {
+ lv_op_1_3=(Token)input.LT(1);
+ match(input,27,FOLLOW_27_in_ruleRelationalExpression1161);
+
+ createLeafNode(grammarAccess.getRelationalExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_0_0_2(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_3, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:720:8: lv_op_1_4= '>='
+ {
+ lv_op_1_4=(Token)input.LT(1);
+ match(input,28,FOLLOW_28_in_ruleRelationalExpression1190);
+
+ createLeafNode(grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_0_0_3(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_4, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:741:2: ( (lv_exp_2_0= ruleConditionalExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:742:1: (lv_exp_2_0= ruleConditionalExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:742:1: (lv_exp_2_0= ruleConditionalExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:743:3: lv_exp_2_0= ruleConditionalExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getRelationalExpressionAccess().getExpConditionalExpressionParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleConditionalExpression_in_ruleRelationalExpression1227);
+ lv_exp_2_0=ruleConditionalExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getRelationalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "ConditionalExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleRelationalExpression
+
+
+ // $ANTLR start entryRuleConditionalExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:773:1: entryRuleConditionalExpression returns [EObject current=null] : iv_ruleConditionalExpression= ruleConditionalExpression EOF ;
+ public final EObject entryRuleConditionalExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleConditionalExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:774:2: (iv_ruleConditionalExpression= ruleConditionalExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:775:2: iv_ruleConditionalExpression= ruleConditionalExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getConditionalExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleConditionalExpression_in_entryRuleConditionalExpression1265);
+ iv_ruleConditionalExpression=ruleConditionalExpression();
+ _fsp--;
+
+ current =iv_ruleConditionalExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleConditionalExpression1275);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleConditionalExpression
+
+
+ // $ANTLR start ruleConditionalExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:782:1: ruleConditionalExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( (lv_op_1_0= '?' ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) ':' ( (lv_exp_4_0= ruleAdditiveExpression ) ) )? ) ;
+ public final EObject ruleConditionalExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_0=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+ EObject lv_exp_4_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:787:6: ( ( ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( (lv_op_1_0= '?' ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) ':' ( (lv_exp_4_0= ruleAdditiveExpression ) ) )? ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:788:1: ( ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( (lv_op_1_0= '?' ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) ':' ( (lv_exp_4_0= ruleAdditiveExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:788:1: ( ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( (lv_op_1_0= '?' ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) ':' ( (lv_exp_4_0= ruleAdditiveExpression ) ) )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:788:2: ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( (lv_op_1_0= '?' ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) ':' ( (lv_exp_4_0= ruleAdditiveExpression ) ) )?
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:788:2: ( (lv_exp_0_0= ruleAdditiveExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:789:1: (lv_exp_0_0= ruleAdditiveExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:789:1: (lv_exp_0_0= ruleAdditiveExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:790:3: lv_exp_0_0= ruleAdditiveExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleAdditiveExpression_in_ruleConditionalExpression1321);
+ lv_exp_0_0=ruleAdditiveExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getConditionalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "AdditiveExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:812:2: ( ( (lv_op_1_0= '?' ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) ':' ( (lv_exp_4_0= ruleAdditiveExpression ) ) )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==29) ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:812:3: ( (lv_op_1_0= '?' ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) ':' ( (lv_exp_4_0= ruleAdditiveExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:812:3: ( (lv_op_1_0= '?' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:813:1: (lv_op_1_0= '?' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:813:1: (lv_op_1_0= '?' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:814:3: lv_op_1_0= '?'
+ {
+ lv_op_1_0=(Token)input.LT(1);
+ match(input,29,FOLLOW_29_in_ruleConditionalExpression1340);
+
+ createLeafNode(grammarAccess.getConditionalExpressionAccess().getOpQuestionMarkKeyword_1_0_0(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getConditionalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_0, "?", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:833:2: ( (lv_exp_2_0= ruleAdditiveExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:834:1: (lv_exp_2_0= ruleAdditiveExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:834:1: (lv_exp_2_0= ruleAdditiveExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:835:3: lv_exp_2_0= ruleAdditiveExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleAdditiveExpression_in_ruleConditionalExpression1374);
+ lv_exp_2_0=ruleAdditiveExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getConditionalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "AdditiveExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,30,FOLLOW_30_in_ruleConditionalExpression1384);
+
+ createLeafNode(grammarAccess.getConditionalExpressionAccess().getColonKeyword_1_2(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:861:1: ( (lv_exp_4_0= ruleAdditiveExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:862:1: (lv_exp_4_0= ruleAdditiveExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:862:1: (lv_exp_4_0= ruleAdditiveExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:863:3: lv_exp_4_0= ruleAdditiveExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_3_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleAdditiveExpression_in_ruleConditionalExpression1405);
+ lv_exp_4_0=ruleAdditiveExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getConditionalExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_4_0,
+ "AdditiveExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleConditionalExpression
+
+
+ // $ANTLR start entryRuleAdditiveExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:893:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ;
+ public final EObject entryRuleAdditiveExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAdditiveExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:894:2: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:895:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getAdditiveExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleAdditiveExpression_in_entryRuleAdditiveExpression1443);
+ iv_ruleAdditiveExpression=ruleAdditiveExpression();
+ _fsp--;
+
+ current =iv_ruleAdditiveExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAdditiveExpression1453);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleAdditiveExpression
+
+
+ // $ANTLR start ruleAdditiveExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:902:1: ruleAdditiveExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )* ) ;
+ public final EObject ruleAdditiveExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:907:6: ( ( ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:908:1: ( ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:908:1: ( ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )* )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:908:2: ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:908:2: ( (lv_exp_0_0= ruleMultiplicativeExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:909:1: (lv_exp_0_0= ruleMultiplicativeExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:909:1: (lv_exp_0_0= ruleMultiplicativeExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:910:3: lv_exp_0_0= ruleMultiplicativeExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleMultiplicativeExpression_in_ruleAdditiveExpression1499);
+ lv_exp_0_0=ruleMultiplicativeExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getAdditiveExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "MultiplicativeExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:932:2: ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )*
+ loop12:
+ do {
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( ((LA12_0>=31 && LA12_0<=32)) ) {
+ alt12=1;
+ }
+
+
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:932:3: ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:932:3: ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:933:1: ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:933:1: ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:934:1: (lv_op_1_1= '+' | lv_op_1_2= '-' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:934:1: (lv_op_1_1= '+' | lv_op_1_2= '-' )
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0==31) ) {
+ alt11=1;
+ }
+ else if ( (LA11_0==32) ) {
+ alt11=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("934:1: (lv_op_1_1= '+' | lv_op_1_2= '-' )", 11, 0, input);
+
+ throw nvae;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:935:3: lv_op_1_1= '+'
+ {
+ lv_op_1_1=(Token)input.LT(1);
+ match(input,31,FOLLOW_31_in_ruleAdditiveExpression1520);
+
+ createLeafNode(grammarAccess.getAdditiveExpressionAccess().getOpPlusSignKeyword_1_0_0_0(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getAdditiveExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:953:8: lv_op_1_2= '-'
+ {
+ lv_op_1_2=(Token)input.LT(1);
+ match(input,32,FOLLOW_32_in_ruleAdditiveExpression1549);
+
+ createLeafNode(grammarAccess.getAdditiveExpressionAccess().getOpHyphenMinusKeyword_1_0_0_1(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getAdditiveExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:974:2: ( (lv_exp_2_0= ruleMultiplicativeExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:975:1: (lv_exp_2_0= ruleMultiplicativeExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:975:1: (lv_exp_2_0= ruleMultiplicativeExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:976:3: lv_exp_2_0= ruleMultiplicativeExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleMultiplicativeExpression_in_ruleAdditiveExpression1586);
+ lv_exp_2_0=ruleMultiplicativeExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getAdditiveExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "MultiplicativeExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop12;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleAdditiveExpression
+
+
+ // $ANTLR start entryRuleMultiplicativeExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1006:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ;
+ public final EObject entryRuleMultiplicativeExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMultiplicativeExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1007:2: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1008:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getMultiplicativeExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleMultiplicativeExpression_in_entryRuleMultiplicativeExpression1624);
+ iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression();
+ _fsp--;
+
+ current =iv_ruleMultiplicativeExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMultiplicativeExpression1634);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleMultiplicativeExpression
+
+
+ // $ANTLR start ruleMultiplicativeExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1015:1: ruleMultiplicativeExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )* ) ;
+ public final EObject ruleMultiplicativeExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ Token lv_op_1_3=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1020:6: ( ( ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1021:1: ( ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1021:1: ( ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )* )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1021:2: ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1021:2: ( (lv_exp_0_0= ruleUnaryExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1022:1: (lv_exp_0_0= ruleUnaryExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1022:1: (lv_exp_0_0= ruleUnaryExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1023:3: lv_exp_0_0= ruleUnaryExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleUnaryExpression_in_ruleMultiplicativeExpression1680);
+ lv_exp_0_0=ruleUnaryExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "UnaryExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1045:2: ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )*
+ loop14:
+ do {
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( ((LA14_0>=33 && LA14_0<=35)) ) {
+ alt14=1;
+ }
+
+
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1045:3: ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1045:3: ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1046:1: ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1046:1: ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1047:1: (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1047:1: (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' )
+ int alt13=3;
+ switch ( input.LA(1) ) {
+ case 33:
+ {
+ alt13=1;
+ }
+ break;
+ case 34:
+ {
+ alt13=2;
+ }
+ break;
+ case 35:
+ {
+ alt13=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("1047:1: (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= 'mod' )", 13, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1048:3: lv_op_1_1= '*'
+ {
+ lv_op_1_1=(Token)input.LT(1);
+ match(input,33,FOLLOW_33_in_ruleMultiplicativeExpression1701);
+
+ createLeafNode(grammarAccess.getMultiplicativeExpressionAccess().getOpAsteriskKeyword_1_0_0_0(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1066:8: lv_op_1_2= '/'
+ {
+ lv_op_1_2=(Token)input.LT(1);
+ match(input,34,FOLLOW_34_in_ruleMultiplicativeExpression1730);
+
+ createLeafNode(grammarAccess.getMultiplicativeExpressionAccess().getOpSolidusKeyword_1_0_0_1(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1084:8: lv_op_1_3= 'mod'
+ {
+ lv_op_1_3=(Token)input.LT(1);
+ match(input,35,FOLLOW_35_in_ruleMultiplicativeExpression1759);
+
+ createLeafNode(grammarAccess.getMultiplicativeExpressionAccess().getOpModKeyword_1_0_0_2(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ add(current, "op", lv_op_1_3, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1105:2: ( (lv_exp_2_0= ruleUnaryExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1106:1: (lv_exp_2_0= ruleUnaryExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1106:1: (lv_exp_2_0= ruleUnaryExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1107:3: lv_exp_2_0= ruleUnaryExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleUnaryExpression_in_ruleMultiplicativeExpression1796);
+ lv_exp_2_0=ruleUnaryExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "UnaryExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop14;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleMultiplicativeExpression
+
+
+ // $ANTLR start entryRuleUnaryExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1137:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ;
+ public final EObject entryRuleUnaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleUnaryExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1138:2: (iv_ruleUnaryExpression= ruleUnaryExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1139:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getUnaryExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleUnaryExpression_in_entryRuleUnaryExpression1834);
+ iv_ruleUnaryExpression=ruleUnaryExpression();
+ _fsp--;
+
+ current =iv_ruleUnaryExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleUnaryExpression1844);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleUnaryExpression
+
+
+ // $ANTLR start ruleUnaryExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1146:1: ruleUnaryExpression returns [EObject current=null] : ( ( ( ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) ) ) ( (lv_unary_1_0= ruleUnaryExpression ) ) ) | ( (lv_exp_2_0= rulePrimaryExpression ) ) ) ;
+ public final EObject ruleUnaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_0_1=null;
+ Token lv_op_0_2=null;
+ Token lv_op_0_3=null;
+ EObject lv_unary_1_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1151:6: ( ( ( ( ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) ) ) ( (lv_unary_1_0= ruleUnaryExpression ) ) ) | ( (lv_exp_2_0= rulePrimaryExpression ) ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1152:1: ( ( ( ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) ) ) ( (lv_unary_1_0= ruleUnaryExpression ) ) ) | ( (lv_exp_2_0= rulePrimaryExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1152:1: ( ( ( ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) ) ) ( (lv_unary_1_0= ruleUnaryExpression ) ) ) | ( (lv_exp_2_0= rulePrimaryExpression ) ) )
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( ((LA16_0>=31 && LA16_0<=32)||LA16_0==36) ) {
+ alt16=1;
+ }
+ else if ( ((LA16_0>=RULE_ID && LA16_0<=RULE_STRING)||(LA16_0>=33 && LA16_0<=34)||LA16_0==38||(LA16_0>=41 && LA16_0<=42)||LA16_0==44||LA16_0==46||(LA16_0>=48 && LA16_0<=53)) ) {
+ alt16=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1152:1: ( ( ( ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) ) ) ( (lv_unary_1_0= ruleUnaryExpression ) ) ) | ( (lv_exp_2_0= rulePrimaryExpression ) ) )", 16, 0, input);
+
+ throw nvae;
+ }
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1152:2: ( ( ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) ) ) ( (lv_unary_1_0= ruleUnaryExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1152:2: ( ( ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) ) ) ( (lv_unary_1_0= ruleUnaryExpression ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1152:3: ( ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) ) ) ( (lv_unary_1_0= ruleUnaryExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1152:3: ( ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1153:1: ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1153:1: ( (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1154:1: (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1154:1: (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' )
+ int alt15=3;
+ switch ( input.LA(1) ) {
+ case 36:
+ {
+ alt15=1;
+ }
+ break;
+ case 32:
+ {
+ alt15=2;
+ }
+ break;
+ case 31:
+ {
+ alt15=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("1154:1: (lv_op_0_1= 'not' | lv_op_0_2= '-' | lv_op_0_3= '+' )", 15, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1155:3: lv_op_0_1= 'not'
+ {
+ lv_op_0_1=(Token)input.LT(1);
+ match(input,36,FOLLOW_36_in_ruleUnaryExpression1890);
+
+ createLeafNode(grammarAccess.getUnaryExpressionAccess().getOpNotKeyword_0_0_0_0(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ set(current, "op", lv_op_0_1, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1173:8: lv_op_0_2= '-'
+ {
+ lv_op_0_2=(Token)input.LT(1);
+ match(input,32,FOLLOW_32_in_ruleUnaryExpression1919);
+
+ createLeafNode(grammarAccess.getUnaryExpressionAccess().getOpHyphenMinusKeyword_0_0_0_1(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ set(current, "op", lv_op_0_2, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1191:8: lv_op_0_3= '+'
+ {
+ lv_op_0_3=(Token)input.LT(1);
+ match(input,31,FOLLOW_31_in_ruleUnaryExpression1948);
+
+ createLeafNode(grammarAccess.getUnaryExpressionAccess().getOpPlusSignKeyword_0_0_0_2(), "op");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ set(current, "op", lv_op_0_3, null, lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1212:2: ( (lv_unary_1_0= ruleUnaryExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1213:1: (lv_unary_1_0= ruleUnaryExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1213:1: (lv_unary_1_0= ruleUnaryExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1214:3: lv_unary_1_0= ruleUnaryExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getUnaryExpressionAccess().getUnaryUnaryExpressionParserRuleCall_0_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleUnaryExpression_in_ruleUnaryExpression1985);
+ lv_unary_1_0=ruleUnaryExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "unary",
+ lv_unary_1_0,
+ "UnaryExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1237:6: ( (lv_exp_2_0= rulePrimaryExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1237:6: ( (lv_exp_2_0= rulePrimaryExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1238:1: (lv_exp_2_0= rulePrimaryExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1238:1: (lv_exp_2_0= rulePrimaryExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1239:3: lv_exp_2_0= rulePrimaryExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getUnaryExpressionAccess().getExpPrimaryExpressionParserRuleCall_1_0(), currentNode);
+
+ pushFollow(FOLLOW_rulePrimaryExpression_in_ruleUnaryExpression2013);
+ lv_exp_2_0=rulePrimaryExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getUnaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "PrimaryExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleUnaryExpression
+
+
+ // $ANTLR start entryRulePrimaryExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1269:1: entryRulePrimaryExpression returns [EObject current=null] : iv_rulePrimaryExpression= rulePrimaryExpression EOF ;
+ public final EObject entryRulePrimaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePrimaryExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1270:2: (iv_rulePrimaryExpression= rulePrimaryExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1271:2: iv_rulePrimaryExpression= rulePrimaryExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getPrimaryExpressionRule(), currentNode);
+ pushFollow(FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression2049);
+ iv_rulePrimaryExpression=rulePrimaryExpression();
+ _fsp--;
+
+ current =iv_rulePrimaryExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePrimaryExpression2059);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRulePrimaryExpression
+
+
+ // $ANTLR start rulePrimaryExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1278:1: rulePrimaryExpression returns [EObject current=null] : ( ( (lv_prefix_0_0= ruleValueSpecification ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )? ) ;
+ public final EObject rulePrimaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_prefix_0_0 = null;
+
+ EObject lv_suffix_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1283:6: ( ( ( (lv_prefix_0_0= ruleValueSpecification ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )? ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1284:1: ( ( (lv_prefix_0_0= ruleValueSpecification ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1284:1: ( ( (lv_prefix_0_0= ruleValueSpecification ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1284:2: ( (lv_prefix_0_0= ruleValueSpecification ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )?
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1284:2: ( (lv_prefix_0_0= ruleValueSpecification ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1285:1: (lv_prefix_0_0= ruleValueSpecification )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1285:1: (lv_prefix_0_0= ruleValueSpecification )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1286:3: lv_prefix_0_0= ruleValueSpecification
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getPrimaryExpressionAccess().getPrefixValueSpecificationParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleValueSpecification_in_rulePrimaryExpression2105);
+ lv_prefix_0_0=ruleValueSpecification();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getPrimaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "prefix",
+ lv_prefix_0_0,
+ "ValueSpecification",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1308:2: ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )?
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0==37) ) {
+ alt17=1;
+ }
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1308:4: '.' ( (lv_suffix_2_0= ruleSuffixExpression ) )
+ {
+ match(input,37,FOLLOW_37_in_rulePrimaryExpression2116);
+
+ createLeafNode(grammarAccess.getPrimaryExpressionAccess().getFullStopKeyword_1_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1312:1: ( (lv_suffix_2_0= ruleSuffixExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1313:1: (lv_suffix_2_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1313:1: (lv_suffix_2_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1314:3: lv_suffix_2_0= ruleSuffixExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getPrimaryExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_rulePrimaryExpression2137);
+ lv_suffix_2_0=ruleSuffixExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getPrimaryExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "suffix",
+ lv_suffix_2_0,
+ "SuffixExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end rulePrimaryExpression
+
+
+ // $ANTLR start entryRuleValueSpecification
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1344:1: entryRuleValueSpecification returns [EObject current=null] : iv_ruleValueSpecification= ruleValueSpecification EOF ;
+ public final EObject entryRuleValueSpecification() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleValueSpecification = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1345:2: (iv_ruleValueSpecification= ruleValueSpecification EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1346:2: iv_ruleValueSpecification= ruleValueSpecification EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getValueSpecificationRule(), currentNode);
+ pushFollow(FOLLOW_ruleValueSpecification_in_entryRuleValueSpecification2175);
+ iv_ruleValueSpecification=ruleValueSpecification();
+ _fsp--;
+
+ current =iv_ruleValueSpecification;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleValueSpecification2185);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleValueSpecification
+
+
+ // $ANTLR start ruleValueSpecification
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1353:1: ruleValueSpecification returns [EObject current=null] : (this_Literal_0= ruleLiteral | this_NameOrChoiceOrBehaviorCall_1= ruleNameOrChoiceOrBehaviorCall | this_Interval_2= ruleInterval | this_CollectionOrTuple_3= ruleCollectionOrTuple | this_Tuple_4= ruleTuple | this_TimeExpression_5= ruleTimeExpression | this_VariableDeclaration_6= ruleVariableDeclaration | ( '(' this_Expression_8= ruleExpression ')' ) ) ;
+ public final EObject ruleValueSpecification() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_Literal_0 = null;
+
+ EObject this_NameOrChoiceOrBehaviorCall_1 = null;
+
+ EObject this_Interval_2 = null;
+
+ EObject this_CollectionOrTuple_3 = null;
+
+ EObject this_Tuple_4 = null;
+
+ EObject this_TimeExpression_5 = null;
+
+ EObject this_VariableDeclaration_6 = null;
+
+ EObject this_Expression_8 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1358:6: ( (this_Literal_0= ruleLiteral | this_NameOrChoiceOrBehaviorCall_1= ruleNameOrChoiceOrBehaviorCall | this_Interval_2= ruleInterval | this_CollectionOrTuple_3= ruleCollectionOrTuple | this_Tuple_4= ruleTuple | this_TimeExpression_5= ruleTimeExpression | this_VariableDeclaration_6= ruleVariableDeclaration | ( '(' this_Expression_8= ruleExpression ')' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1359:1: (this_Literal_0= ruleLiteral | this_NameOrChoiceOrBehaviorCall_1= ruleNameOrChoiceOrBehaviorCall | this_Interval_2= ruleInterval | this_CollectionOrTuple_3= ruleCollectionOrTuple | this_Tuple_4= ruleTuple | this_TimeExpression_5= ruleTimeExpression | this_VariableDeclaration_6= ruleVariableDeclaration | ( '(' this_Expression_8= ruleExpression ')' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1359:1: (this_Literal_0= ruleLiteral | this_NameOrChoiceOrBehaviorCall_1= ruleNameOrChoiceOrBehaviorCall | this_Interval_2= ruleInterval | this_CollectionOrTuple_3= ruleCollectionOrTuple | this_Tuple_4= ruleTuple | this_TimeExpression_5= ruleTimeExpression | this_VariableDeclaration_6= ruleVariableDeclaration | ( '(' this_Expression_8= ruleExpression ')' ) )
+ int alt18=8;
+ switch ( input.LA(1) ) {
+ case RULE_INTEGERLITERAL:
+ case RULE_REALLITERAL:
+ case RULE_DATETIMELITERAL:
+ case RULE_BOOLEANLITERAL:
+ case RULE_NULLLITERAL:
+ case RULE_STRING:
+ case 33:
+ case 34:
+ {
+ alt18=1;
+ }
+ break;
+ case RULE_ID:
+ {
+ alt18=2;
+ }
+ break;
+ case 41:
+ case 42:
+ {
+ alt18=3;
+ }
+ break;
+ case 44:
+ {
+ int LA18_4 = input.LA(2);
+
+ if ( ((LA18_4>=RULE_INTEGERLITERAL && LA18_4<=RULE_STRING)||(LA18_4>=31 && LA18_4<=34)||LA18_4==36||LA18_4==38||(LA18_4>=41 && LA18_4<=42)||LA18_4==44||LA18_4==46||(LA18_4>=48 && LA18_4<=53)) ) {
+ alt18=4;
+ }
+ else if ( (LA18_4==RULE_ID) ) {
+ int LA18_9 = input.LA(3);
+
+ if ( (LA18_9==18||(LA18_9>=20 && LA18_9<=29)||(LA18_9>=31 && LA18_9<=35)||(LA18_9>=37 && LA18_9<=38)||LA18_9==40||LA18_9==45) ) {
+ alt18=4;
+ }
+ else if ( (LA18_9==19) ) {
+ alt18=5;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1359:1: (this_Literal_0= ruleLiteral | this_NameOrChoiceOrBehaviorCall_1= ruleNameOrChoiceOrBehaviorCall | this_Interval_2= ruleInterval | this_CollectionOrTuple_3= ruleCollectionOrTuple | this_Tuple_4= ruleTuple | this_TimeExpression_5= ruleTimeExpression | this_VariableDeclaration_6= ruleVariableDeclaration | ( '(' this_Expression_8= ruleExpression ')' ) )", 18, 9, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1359:1: (this_Literal_0= ruleLiteral | this_NameOrChoiceOrBehaviorCall_1= ruleNameOrChoiceOrBehaviorCall | this_Interval_2= ruleInterval | this_CollectionOrTuple_3= ruleCollectionOrTuple | this_Tuple_4= ruleTuple | this_TimeExpression_5= ruleTimeExpression | this_VariableDeclaration_6= ruleVariableDeclaration | ( '(' this_Expression_8= ruleExpression ')' ) )", 18, 4, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 46:
+ case 48:
+ case 49:
+ {
+ alt18=6;
+ }
+ break;
+ case 50:
+ case 51:
+ case 52:
+ case 53:
+ {
+ alt18=7;
+ }
+ break;
+ case 38:
+ {
+ alt18=8;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("1359:1: (this_Literal_0= ruleLiteral | this_NameOrChoiceOrBehaviorCall_1= ruleNameOrChoiceOrBehaviorCall | this_Interval_2= ruleInterval | this_CollectionOrTuple_3= ruleCollectionOrTuple | this_Tuple_4= ruleTuple | this_TimeExpression_5= ruleTimeExpression | this_VariableDeclaration_6= ruleVariableDeclaration | ( '(' this_Expression_8= ruleExpression ')' ) )", 18, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1360:5: this_Literal_0= ruleLiteral
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getLiteralParserRuleCall_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleLiteral_in_ruleValueSpecification2232);
+ this_Literal_0=ruleLiteral();
+ _fsp--;
+
+
+ current = this_Literal_0;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1370:5: this_NameOrChoiceOrBehaviorCall_1= ruleNameOrChoiceOrBehaviorCall
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getNameOrChoiceOrBehaviorCallParserRuleCall_1(), currentNode);
+
+ pushFollow(FOLLOW_ruleNameOrChoiceOrBehaviorCall_in_ruleValueSpecification2259);
+ this_NameOrChoiceOrBehaviorCall_1=ruleNameOrChoiceOrBehaviorCall();
+ _fsp--;
+
+
+ current = this_NameOrChoiceOrBehaviorCall_1;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1380:5: this_Interval_2= ruleInterval
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getIntervalParserRuleCall_2(), currentNode);
+
+ pushFollow(FOLLOW_ruleInterval_in_ruleValueSpecification2286);
+ this_Interval_2=ruleInterval();
+ _fsp--;
+
+
+ current = this_Interval_2;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1390:5: this_CollectionOrTuple_3= ruleCollectionOrTuple
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getCollectionOrTupleParserRuleCall_3(), currentNode);
+
+ pushFollow(FOLLOW_ruleCollectionOrTuple_in_ruleValueSpecification2313);
+ this_CollectionOrTuple_3=ruleCollectionOrTuple();
+ _fsp--;
+
+
+ current = this_CollectionOrTuple_3;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1400:5: this_Tuple_4= ruleTuple
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getTupleParserRuleCall_4(), currentNode);
+
+ pushFollow(FOLLOW_ruleTuple_in_ruleValueSpecification2340);
+ this_Tuple_4=ruleTuple();
+ _fsp--;
+
+
+ current = this_Tuple_4;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1410:5: this_TimeExpression_5= ruleTimeExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getTimeExpressionParserRuleCall_5(), currentNode);
+
+ pushFollow(FOLLOW_ruleTimeExpression_in_ruleValueSpecification2367);
+ this_TimeExpression_5=ruleTimeExpression();
+ _fsp--;
+
+
+ current = this_TimeExpression_5;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1420:5: this_VariableDeclaration_6= ruleVariableDeclaration
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getVariableDeclarationParserRuleCall_6(), currentNode);
+
+ pushFollow(FOLLOW_ruleVariableDeclaration_in_ruleValueSpecification2394);
+ this_VariableDeclaration_6=ruleVariableDeclaration();
+ _fsp--;
+
+
+ current = this_VariableDeclaration_6;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1429:6: ( '(' this_Expression_8= ruleExpression ')' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1429:6: ( '(' this_Expression_8= ruleExpression ')' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1429:8: '(' this_Expression_8= ruleExpression ')'
+ {
+ match(input,38,FOLLOW_38_in_ruleValueSpecification2410);
+
+ createLeafNode(grammarAccess.getValueSpecificationAccess().getLeftParenthesisKeyword_7_0(), null);
+
+
+ currentNode=createCompositeNode(grammarAccess.getValueSpecificationAccess().getExpressionParserRuleCall_7_1(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleValueSpecification2432);
+ this_Expression_8=ruleExpression();
+ _fsp--;
+
+
+ current = this_Expression_8;
+ currentNode = currentNode.getParent();
+
+ match(input,39,FOLLOW_39_in_ruleValueSpecification2441);
+
+ createLeafNode(grammarAccess.getValueSpecificationAccess().getRightParenthesisKeyword_7_2(), null);
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleValueSpecification
+
+
+ // $ANTLR start entryRuleSuffixExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1454:1: entryRuleSuffixExpression returns [EObject current=null] : iv_ruleSuffixExpression= ruleSuffixExpression EOF ;
+ public final EObject entryRuleSuffixExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSuffixExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1455:2: (iv_ruleSuffixExpression= ruleSuffixExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1456:2: iv_ruleSuffixExpression= ruleSuffixExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getSuffixExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleSuffixExpression_in_entryRuleSuffixExpression2478);
+ iv_ruleSuffixExpression=ruleSuffixExpression();
+ _fsp--;
+
+ current =iv_ruleSuffixExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSuffixExpression2488);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleSuffixExpression
+
+
+ // $ANTLR start ruleSuffixExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1463:1: ruleSuffixExpression returns [EObject current=null] : (this_PropertyCallExpression_0= rulePropertyCallExpression | this_OperationCallExpression_1= ruleOperationCallExpression ) ;
+ public final EObject ruleSuffixExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_PropertyCallExpression_0 = null;
+
+ EObject this_OperationCallExpression_1 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1468:6: ( (this_PropertyCallExpression_0= rulePropertyCallExpression | this_OperationCallExpression_1= ruleOperationCallExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1469:1: (this_PropertyCallExpression_0= rulePropertyCallExpression | this_OperationCallExpression_1= ruleOperationCallExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1469:1: (this_PropertyCallExpression_0= rulePropertyCallExpression | this_OperationCallExpression_1= ruleOperationCallExpression )
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0==RULE_ID) ) {
+ int LA19_1 = input.LA(2);
+
+ if ( (LA19_1==38) ) {
+ alt19=2;
+ }
+ else if ( (LA19_1==EOF||LA19_1==16||LA19_1==18||(LA19_1>=20 && LA19_1<=35)||LA19_1==37||LA19_1==39||(LA19_1>=41 && LA19_1<=43)||LA19_1==45) ) {
+ alt19=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1469:1: (this_PropertyCallExpression_0= rulePropertyCallExpression | this_OperationCallExpression_1= ruleOperationCallExpression )", 19, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1469:1: (this_PropertyCallExpression_0= rulePropertyCallExpression | this_OperationCallExpression_1= ruleOperationCallExpression )", 19, 0, input);
+
+ throw nvae;
+ }
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1470:5: this_PropertyCallExpression_0= rulePropertyCallExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getSuffixExpressionAccess().getPropertyCallExpressionParserRuleCall_0(), currentNode);
+
+ pushFollow(FOLLOW_rulePropertyCallExpression_in_ruleSuffixExpression2535);
+ this_PropertyCallExpression_0=rulePropertyCallExpression();
+ _fsp--;
+
+
+ current = this_PropertyCallExpression_0;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1480:5: this_OperationCallExpression_1= ruleOperationCallExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getSuffixExpressionAccess().getOperationCallExpressionParserRuleCall_1(), currentNode);
+
+ pushFollow(FOLLOW_ruleOperationCallExpression_in_ruleSuffixExpression2562);
+ this_OperationCallExpression_1=ruleOperationCallExpression();
+ _fsp--;
+
+
+ current = this_OperationCallExpression_1;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleSuffixExpression
+
+
+ // $ANTLR start entryRulePropertyCallExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1496:1: entryRulePropertyCallExpression returns [EObject current=null] : iv_rulePropertyCallExpression= rulePropertyCallExpression EOF ;
+ public final EObject entryRulePropertyCallExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePropertyCallExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1497:2: (iv_rulePropertyCallExpression= rulePropertyCallExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1498:2: iv_rulePropertyCallExpression= rulePropertyCallExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getPropertyCallExpressionRule(), currentNode);
+ pushFollow(FOLLOW_rulePropertyCallExpression_in_entryRulePropertyCallExpression2597);
+ iv_rulePropertyCallExpression=rulePropertyCallExpression();
+ _fsp--;
+
+ current =iv_rulePropertyCallExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePropertyCallExpression2607);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRulePropertyCallExpression
+
+
+ // $ANTLR start rulePropertyCallExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1505:1: rulePropertyCallExpression returns [EObject current=null] : ( ( ( RULE_ID ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )? ) ;
+ public final EObject rulePropertyCallExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_suffix_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1510:6: ( ( ( ( RULE_ID ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )? ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1511:1: ( ( ( RULE_ID ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1511:1: ( ( ( RULE_ID ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1511:2: ( ( RULE_ID ) ) ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )?
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1511:2: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1512:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1512:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1513:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getPropertyCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyCallExpression2650);
+
+ createLeafNode(grammarAccess.getPropertyCallExpressionAccess().getPropertyPropertyCrossReference_0_0(), "property");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1525:2: ( '.' ( (lv_suffix_2_0= ruleSuffixExpression ) ) )?
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0==37) ) {
+ alt20=1;
+ }
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1525:4: '.' ( (lv_suffix_2_0= ruleSuffixExpression ) )
+ {
+ match(input,37,FOLLOW_37_in_rulePropertyCallExpression2661);
+
+ createLeafNode(grammarAccess.getPropertyCallExpressionAccess().getFullStopKeyword_1_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1529:1: ( (lv_suffix_2_0= ruleSuffixExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1530:1: (lv_suffix_2_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1530:1: (lv_suffix_2_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1531:3: lv_suffix_2_0= ruleSuffixExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getPropertyCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_rulePropertyCallExpression2682);
+ lv_suffix_2_0=ruleSuffixExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getPropertyCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "suffix",
+ lv_suffix_2_0,
+ "SuffixExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end rulePropertyCallExpression
+
+
+ // $ANTLR start entryRuleOperationCallExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1561:1: entryRuleOperationCallExpression returns [EObject current=null] : iv_ruleOperationCallExpression= ruleOperationCallExpression EOF ;
+ public final EObject entryRuleOperationCallExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleOperationCallExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1562:2: (iv_ruleOperationCallExpression= ruleOperationCallExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1563:2: iv_ruleOperationCallExpression= ruleOperationCallExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getOperationCallExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleOperationCallExpression_in_entryRuleOperationCallExpression2720);
+ iv_ruleOperationCallExpression=ruleOperationCallExpression();
+ _fsp--;
+
+ current =iv_ruleOperationCallExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOperationCallExpression2730);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleOperationCallExpression
+
+
+ // $ANTLR start ruleOperationCallExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1570:1: ruleOperationCallExpression returns [EObject current=null] : ( ( ( RULE_ID ) ) '(' ( (lv_arguments_2_0= ruleListOfValues ) )? ')' ( '.' ( (lv_suffix_5_0= ruleSuffixExpression ) ) )? ) ;
+ public final EObject ruleOperationCallExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_arguments_2_0 = null;
+
+ EObject lv_suffix_5_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1575:6: ( ( ( ( RULE_ID ) ) '(' ( (lv_arguments_2_0= ruleListOfValues ) )? ')' ( '.' ( (lv_suffix_5_0= ruleSuffixExpression ) ) )? ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1576:1: ( ( ( RULE_ID ) ) '(' ( (lv_arguments_2_0= ruleListOfValues ) )? ')' ( '.' ( (lv_suffix_5_0= ruleSuffixExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1576:1: ( ( ( RULE_ID ) ) '(' ( (lv_arguments_2_0= ruleListOfValues ) )? ')' ( '.' ( (lv_suffix_5_0= ruleSuffixExpression ) ) )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1576:2: ( ( RULE_ID ) ) '(' ( (lv_arguments_2_0= ruleListOfValues ) )? ')' ( '.' ( (lv_suffix_5_0= ruleSuffixExpression ) ) )?
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1576:2: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1577:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1577:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1578:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getOperationCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleOperationCallExpression2773);
+
+ createLeafNode(grammarAccess.getOperationCallExpressionAccess().getOperationOperationCrossReference_0_0(), "operation");
+
+
+ }
+
+
+ }
+
+ match(input,38,FOLLOW_38_in_ruleOperationCallExpression2783);
+
+ createLeafNode(grammarAccess.getOperationCallExpressionAccess().getLeftParenthesisKeyword_1(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1594:1: ( (lv_arguments_2_0= ruleListOfValues ) )?
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( ((LA21_0>=RULE_ID && LA21_0<=RULE_STRING)||(LA21_0>=31 && LA21_0<=34)||LA21_0==36||LA21_0==38||(LA21_0>=41 && LA21_0<=42)||LA21_0==44||LA21_0==46||(LA21_0>=48 && LA21_0<=53)) ) {
+ alt21=1;
+ }
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1595:1: (lv_arguments_2_0= ruleListOfValues )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1595:1: (lv_arguments_2_0= ruleListOfValues )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1596:3: lv_arguments_2_0= ruleListOfValues
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getOperationCallExpressionAccess().getArgumentsListOfValuesParserRuleCall_2_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleListOfValues_in_ruleOperationCallExpression2804);
+ lv_arguments_2_0=ruleListOfValues();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getOperationCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "arguments",
+ lv_arguments_2_0,
+ "ListOfValues",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match(input,39,FOLLOW_39_in_ruleOperationCallExpression2815);
+
+ createLeafNode(grammarAccess.getOperationCallExpressionAccess().getRightParenthesisKeyword_3(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1622:1: ( '.' ( (lv_suffix_5_0= ruleSuffixExpression ) ) )?
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( (LA22_0==37) ) {
+ alt22=1;
+ }
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1622:3: '.' ( (lv_suffix_5_0= ruleSuffixExpression ) )
+ {
+ match(input,37,FOLLOW_37_in_ruleOperationCallExpression2826);
+
+ createLeafNode(grammarAccess.getOperationCallExpressionAccess().getFullStopKeyword_4_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1626:1: ( (lv_suffix_5_0= ruleSuffixExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1627:1: (lv_suffix_5_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1627:1: (lv_suffix_5_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1628:3: lv_suffix_5_0= ruleSuffixExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getOperationCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_4_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleOperationCallExpression2847);
+ lv_suffix_5_0=ruleSuffixExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getOperationCallExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "suffix",
+ lv_suffix_5_0,
+ "SuffixExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleOperationCallExpression
+
+
+ // $ANTLR start entryRuleLiteral
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1658:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
+ public final EObject entryRuleLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLiteral = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1659:2: (iv_ruleLiteral= ruleLiteral EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1660:2: iv_ruleLiteral= ruleLiteral EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getLiteralRule(), currentNode);
+ pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral2885);
+ iv_ruleLiteral=ruleLiteral();
+ _fsp--;
+
+ current =iv_ruleLiteral;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral2895);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleLiteral
+
+
+ // $ANTLR start ruleLiteral
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1667:1: ruleLiteral returns [EObject current=null] : (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_DateTimeLiteralRule_1= ruleDateTimeLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule | this_NullLiteralRule_3= ruleNullLiteralRule | this_DefaultLiteralRule_4= ruleDefaultLiteralRule | this_StringLiteralRule_5= ruleStringLiteralRule ) ;
+ public final EObject ruleLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_NumberLiteralRule_0 = null;
+
+ EObject this_DateTimeLiteralRule_1 = null;
+
+ EObject this_BooleanLiteralRule_2 = null;
+
+ EObject this_NullLiteralRule_3 = null;
+
+ EObject this_DefaultLiteralRule_4 = null;
+
+ EObject this_StringLiteralRule_5 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1672:6: ( (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_DateTimeLiteralRule_1= ruleDateTimeLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule | this_NullLiteralRule_3= ruleNullLiteralRule | this_DefaultLiteralRule_4= ruleDefaultLiteralRule | this_StringLiteralRule_5= ruleStringLiteralRule ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1673:1: (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_DateTimeLiteralRule_1= ruleDateTimeLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule | this_NullLiteralRule_3= ruleNullLiteralRule | this_DefaultLiteralRule_4= ruleDefaultLiteralRule | this_StringLiteralRule_5= ruleStringLiteralRule )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1673:1: (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_DateTimeLiteralRule_1= ruleDateTimeLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule | this_NullLiteralRule_3= ruleNullLiteralRule | this_DefaultLiteralRule_4= ruleDefaultLiteralRule | this_StringLiteralRule_5= ruleStringLiteralRule )
+ int alt23=6;
+ switch ( input.LA(1) ) {
+ case RULE_INTEGERLITERAL:
+ case RULE_REALLITERAL:
+ case 33:
+ {
+ alt23=1;
+ }
+ break;
+ case RULE_DATETIMELITERAL:
+ {
+ alt23=2;
+ }
+ break;
+ case RULE_BOOLEANLITERAL:
+ {
+ alt23=3;
+ }
+ break;
+ case RULE_NULLLITERAL:
+ {
+ alt23=4;
+ }
+ break;
+ case 34:
+ {
+ alt23=5;
+ }
+ break;
+ case RULE_STRING:
+ {
+ alt23=6;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("1673:1: (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_DateTimeLiteralRule_1= ruleDateTimeLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule | this_NullLiteralRule_3= ruleNullLiteralRule | this_DefaultLiteralRule_4= ruleDefaultLiteralRule | this_StringLiteralRule_5= ruleStringLiteralRule )", 23, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1674:5: this_NumberLiteralRule_0= ruleNumberLiteralRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralRuleParserRuleCall_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleNumberLiteralRule_in_ruleLiteral2942);
+ this_NumberLiteralRule_0=ruleNumberLiteralRule();
+ _fsp--;
+
+
+ current = this_NumberLiteralRule_0;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1684:5: this_DateTimeLiteralRule_1= ruleDateTimeLiteralRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getDateTimeLiteralRuleParserRuleCall_1(), currentNode);
+
+ pushFollow(FOLLOW_ruleDateTimeLiteralRule_in_ruleLiteral2969);
+ this_DateTimeLiteralRule_1=ruleDateTimeLiteralRule();
+ _fsp--;
+
+
+ current = this_DateTimeLiteralRule_1;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1694:5: this_BooleanLiteralRule_2= ruleBooleanLiteralRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralRuleParserRuleCall_2(), currentNode);
+
+ pushFollow(FOLLOW_ruleBooleanLiteralRule_in_ruleLiteral2996);
+ this_BooleanLiteralRule_2=ruleBooleanLiteralRule();
+ _fsp--;
+
+
+ current = this_BooleanLiteralRule_2;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1704:5: this_NullLiteralRule_3= ruleNullLiteralRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getNullLiteralRuleParserRuleCall_3(), currentNode);
+
+ pushFollow(FOLLOW_ruleNullLiteralRule_in_ruleLiteral3023);
+ this_NullLiteralRule_3=ruleNullLiteralRule();
+ _fsp--;
+
+
+ current = this_NullLiteralRule_3;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1714:5: this_DefaultLiteralRule_4= ruleDefaultLiteralRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getDefaultLiteralRuleParserRuleCall_4(), currentNode);
+
+ pushFollow(FOLLOW_ruleDefaultLiteralRule_in_ruleLiteral3050);
+ this_DefaultLiteralRule_4=ruleDefaultLiteralRule();
+ _fsp--;
+
+
+ current = this_DefaultLiteralRule_4;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1724:5: this_StringLiteralRule_5= ruleStringLiteralRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralRuleParserRuleCall_5(), currentNode);
+
+ pushFollow(FOLLOW_ruleStringLiteralRule_in_ruleLiteral3077);
+ this_StringLiteralRule_5=ruleStringLiteralRule();
+ _fsp--;
+
+
+ current = this_StringLiteralRule_5;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleLiteral
+
+
+ // $ANTLR start entryRuleNameOrChoiceOrBehaviorCall
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1740:1: entryRuleNameOrChoiceOrBehaviorCall returns [EObject current=null] : iv_ruleNameOrChoiceOrBehaviorCall= ruleNameOrChoiceOrBehaviorCall EOF ;
+ public final EObject entryRuleNameOrChoiceOrBehaviorCall() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNameOrChoiceOrBehaviorCall = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1741:2: (iv_ruleNameOrChoiceOrBehaviorCall= ruleNameOrChoiceOrBehaviorCall EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1742:2: iv_ruleNameOrChoiceOrBehaviorCall= ruleNameOrChoiceOrBehaviorCall EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getNameOrChoiceOrBehaviorCallRule(), currentNode);
+ pushFollow(FOLLOW_ruleNameOrChoiceOrBehaviorCall_in_entryRuleNameOrChoiceOrBehaviorCall3112);
+ iv_ruleNameOrChoiceOrBehaviorCall=ruleNameOrChoiceOrBehaviorCall();
+ _fsp--;
+
+ current =iv_ruleNameOrChoiceOrBehaviorCall;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNameOrChoiceOrBehaviorCall3122);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleNameOrChoiceOrBehaviorCall
+
+
+ // $ANTLR start ruleNameOrChoiceOrBehaviorCall
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1749:1: ruleNameOrChoiceOrBehaviorCall returns [EObject current=null] : ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ( '(' ( (lv_arguments_3_0= ruleListOfValues ) )? ')' )? ) ;
+ public final EObject ruleNameOrChoiceOrBehaviorCall() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_path_0_0 = null;
+
+ EObject lv_arguments_3_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1754:6: ( ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ( '(' ( (lv_arguments_3_0= ruleListOfValues ) )? ')' )? ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1755:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ( '(' ( (lv_arguments_3_0= ruleListOfValues ) )? ')' )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1755:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ( '(' ( (lv_arguments_3_0= ruleListOfValues ) )? ')' )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1755:2: ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ( '(' ( (lv_arguments_3_0= ruleListOfValues ) )? ')' )?
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1755:2: ( (lv_path_0_0= ruleQualifiedName ) )?
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0==RULE_ID) ) {
+ int LA24_1 = input.LA(2);
+
+ if ( (LA24_1==40) ) {
+ alt24=1;
+ }
+ }
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1756:1: (lv_path_0_0= ruleQualifiedName )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1756:1: (lv_path_0_0= ruleQualifiedName )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1757:3: lv_path_0_0= ruleQualifiedName
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getPathQualifiedNameParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleNameOrChoiceOrBehaviorCall3168);
+ lv_path_0_0=ruleQualifiedName();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getNameOrChoiceOrBehaviorCallRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "path",
+ lv_path_0_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1779:3: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1780:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1780:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1781:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getNameOrChoiceOrBehaviorCallRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNameOrChoiceOrBehaviorCall3187);
+
+ createLeafNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getIdNamedElementCrossReference_1_0(), "id");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1793:2: ( '(' ( (lv_arguments_3_0= ruleListOfValues ) )? ')' )?
+ int alt26=2;
+ int LA26_0 = input.LA(1);
+
+ if ( (LA26_0==38) ) {
+ alt26=1;
+ }
+ switch (alt26) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1793:4: '(' ( (lv_arguments_3_0= ruleListOfValues ) )? ')'
+ {
+ match(input,38,FOLLOW_38_in_ruleNameOrChoiceOrBehaviorCall3198);
+
+ createLeafNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getLeftParenthesisKeyword_2_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1797:1: ( (lv_arguments_3_0= ruleListOfValues ) )?
+ int alt25=2;
+ int LA25_0 = input.LA(1);
+
+ if ( ((LA25_0>=RULE_ID && LA25_0<=RULE_STRING)||(LA25_0>=31 && LA25_0<=34)||LA25_0==36||LA25_0==38||(LA25_0>=41 && LA25_0<=42)||LA25_0==44||LA25_0==46||(LA25_0>=48 && LA25_0<=53)) ) {
+ alt25=1;
+ }
+ switch (alt25) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1798:1: (lv_arguments_3_0= ruleListOfValues )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1798:1: (lv_arguments_3_0= ruleListOfValues )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1799:3: lv_arguments_3_0= ruleListOfValues
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getArgumentsListOfValuesParserRuleCall_2_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleListOfValues_in_ruleNameOrChoiceOrBehaviorCall3219);
+ lv_arguments_3_0=ruleListOfValues();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getNameOrChoiceOrBehaviorCallRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "arguments",
+ lv_arguments_3_0,
+ "ListOfValues",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match(input,39,FOLLOW_39_in_ruleNameOrChoiceOrBehaviorCall3230);
+
+ createLeafNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getRightParenthesisKeyword_2_2(), null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleNameOrChoiceOrBehaviorCall
+
+
+ // $ANTLR start entryRuleQualifiedName
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1833:1: entryRuleQualifiedName returns [EObject current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
+ public final EObject entryRuleQualifiedName() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleQualifiedName = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1834:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1835:2: iv_ruleQualifiedName= ruleQualifiedName EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getQualifiedNameRule(), currentNode);
+ pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName3268);
+ iv_ruleQualifiedName=ruleQualifiedName();
+ _fsp--;
+
+ current =iv_ruleQualifiedName;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName3278);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleQualifiedName
+
+
+ // $ANTLR start ruleQualifiedName
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1842:1: ruleQualifiedName returns [EObject current=null] : ( ( ( RULE_ID ) ) '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? ) ;
+ public final EObject ruleQualifiedName() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_remaining_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1847:6: ( ( ( ( RULE_ID ) ) '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1848:1: ( ( ( RULE_ID ) ) '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1848:1: ( ( ( RULE_ID ) ) '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1848:2: ( ( RULE_ID ) ) '::' ( (lv_remaining_2_0= ruleQualifiedName ) )?
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1848:2: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1849:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1849:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1850:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getQualifiedNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName3321);
+
+ createLeafNode(grammarAccess.getQualifiedNameAccess().getPathNamespaceCrossReference_0_0(), "path");
+
+
+ }
+
+
+ }
+
+ match(input,40,FOLLOW_40_in_ruleQualifiedName3331);
+
+ createLeafNode(grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1866:1: ( (lv_remaining_2_0= ruleQualifiedName ) )?
+ int alt27=2;
+ int LA27_0 = input.LA(1);
+
+ if ( (LA27_0==RULE_ID) ) {
+ int LA27_1 = input.LA(2);
+
+ if ( (LA27_1==40) ) {
+ alt27=1;
+ }
+ }
+ switch (alt27) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1867:1: (lv_remaining_2_0= ruleQualifiedName )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1867:1: (lv_remaining_2_0= ruleQualifiedName )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1868:3: lv_remaining_2_0= ruleQualifiedName
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getQualifiedNameAccess().getRemainingQualifiedNameParserRuleCall_2_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleQualifiedName3352);
+ lv_remaining_2_0=ruleQualifiedName();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getQualifiedNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "remaining",
+ lv_remaining_2_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleQualifiedName
+
+
+ // $ANTLR start entryRuleInterval
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1898:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ;
+ public final EObject entryRuleInterval() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInterval = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1899:2: (iv_ruleInterval= ruleInterval EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1900:2: iv_ruleInterval= ruleInterval EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getIntervalRule(), currentNode);
+ pushFollow(FOLLOW_ruleInterval_in_entryRuleInterval3389);
+ iv_ruleInterval=ruleInterval();
+ _fsp--;
+
+ current =iv_ruleInterval;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInterval3399);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleInterval
+
+
+ // $ANTLR start ruleInterval
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1907:1: ruleInterval returns [EObject current=null] : ( ( ']' | ( (lv_isLowerIncluded_1_0= '[' ) ) ) ( (lv_lower_2_0= ruleExpression ) ) '..' ( (lv_upper_4_0= ruleExpression ) ) ( ( (lv_isUpperIncluded_5_0= ']' ) ) | '[' ) ) ;
+ public final EObject ruleInterval() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_isLowerIncluded_1_0=null;
+ Token lv_isUpperIncluded_5_0=null;
+ EObject lv_lower_2_0 = null;
+
+ EObject lv_upper_4_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1912:6: ( ( ( ']' | ( (lv_isLowerIncluded_1_0= '[' ) ) ) ( (lv_lower_2_0= ruleExpression ) ) '..' ( (lv_upper_4_0= ruleExpression ) ) ( ( (lv_isUpperIncluded_5_0= ']' ) ) | '[' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1913:1: ( ( ']' | ( (lv_isLowerIncluded_1_0= '[' ) ) ) ( (lv_lower_2_0= ruleExpression ) ) '..' ( (lv_upper_4_0= ruleExpression ) ) ( ( (lv_isUpperIncluded_5_0= ']' ) ) | '[' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1913:1: ( ( ']' | ( (lv_isLowerIncluded_1_0= '[' ) ) ) ( (lv_lower_2_0= ruleExpression ) ) '..' ( (lv_upper_4_0= ruleExpression ) ) ( ( (lv_isUpperIncluded_5_0= ']' ) ) | '[' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1913:2: ( ']' | ( (lv_isLowerIncluded_1_0= '[' ) ) ) ( (lv_lower_2_0= ruleExpression ) ) '..' ( (lv_upper_4_0= ruleExpression ) ) ( ( (lv_isUpperIncluded_5_0= ']' ) ) | '[' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1913:2: ( ']' | ( (lv_isLowerIncluded_1_0= '[' ) ) )
+ int alt28=2;
+ int LA28_0 = input.LA(1);
+
+ if ( (LA28_0==41) ) {
+ alt28=1;
+ }
+ else if ( (LA28_0==42) ) {
+ alt28=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1913:2: ( ']' | ( (lv_isLowerIncluded_1_0= '[' ) ) )", 28, 0, input);
+
+ throw nvae;
+ }
+ switch (alt28) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1913:4: ']'
+ {
+ match(input,41,FOLLOW_41_in_ruleInterval3435);
+
+ createLeafNode(grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_0_0(), null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1918:6: ( (lv_isLowerIncluded_1_0= '[' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1918:6: ( (lv_isLowerIncluded_1_0= '[' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1919:1: (lv_isLowerIncluded_1_0= '[' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1919:1: (lv_isLowerIncluded_1_0= '[' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1920:3: lv_isLowerIncluded_1_0= '['
+ {
+ lv_isLowerIncluded_1_0=(Token)input.LT(1);
+ match(input,42,FOLLOW_42_in_ruleInterval3459);
+
+ createLeafNode(grammarAccess.getIntervalAccess().getIsLowerIncludedLeftSquareBracketKeyword_0_1_0(), "isLowerIncluded");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getIntervalRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ set(current, "isLowerIncluded", lv_isLowerIncluded_1_0, "[", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1939:3: ( (lv_lower_2_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1940:1: (lv_lower_2_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1940:1: (lv_lower_2_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1941:3: lv_lower_2_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getIntervalAccess().getLowerExpressionParserRuleCall_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleInterval3494);
+ lv_lower_2_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getIntervalRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "lower",
+ lv_lower_2_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,43,FOLLOW_43_in_ruleInterval3504);
+
+ createLeafNode(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1967:1: ( (lv_upper_4_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1968:1: (lv_upper_4_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1968:1: (lv_upper_4_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1969:3: lv_upper_4_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getIntervalAccess().getUpperExpressionParserRuleCall_3_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleInterval3525);
+ lv_upper_4_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getIntervalRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "upper",
+ lv_upper_4_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1991:2: ( ( (lv_isUpperIncluded_5_0= ']' ) ) | '[' )
+ int alt29=2;
+ int LA29_0 = input.LA(1);
+
+ if ( (LA29_0==41) ) {
+ alt29=1;
+ }
+ else if ( (LA29_0==42) ) {
+ alt29=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1991:2: ( ( (lv_isUpperIncluded_5_0= ']' ) ) | '[' )", 29, 0, input);
+
+ throw nvae;
+ }
+ switch (alt29) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1991:3: ( (lv_isUpperIncluded_5_0= ']' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1991:3: ( (lv_isUpperIncluded_5_0= ']' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1992:1: (lv_isUpperIncluded_5_0= ']' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1992:1: (lv_isUpperIncluded_5_0= ']' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:1993:3: lv_isUpperIncluded_5_0= ']'
+ {
+ lv_isUpperIncluded_5_0=(Token)input.LT(1);
+ match(input,41,FOLLOW_41_in_ruleInterval3544);
+
+ createLeafNode(grammarAccess.getIntervalAccess().getIsUpperIncludedRightSquareBracketKeyword_4_0_0(), "isUpperIncluded");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getIntervalRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ set(current, "isUpperIncluded", lv_isUpperIncluded_5_0, "]", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2013:7: '['
+ {
+ match(input,42,FOLLOW_42_in_ruleInterval3573);
+
+ createLeafNode(grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_4_1(), null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleInterval
+
+
+ // $ANTLR start entryRuleCollectionOrTuple
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2025:1: entryRuleCollectionOrTuple returns [EObject current=null] : iv_ruleCollectionOrTuple= ruleCollectionOrTuple EOF ;
+ public final EObject entryRuleCollectionOrTuple() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCollectionOrTuple = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2026:2: (iv_ruleCollectionOrTuple= ruleCollectionOrTuple EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2027:2: iv_ruleCollectionOrTuple= ruleCollectionOrTuple EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getCollectionOrTupleRule(), currentNode);
+ pushFollow(FOLLOW_ruleCollectionOrTuple_in_entryRuleCollectionOrTuple3610);
+ iv_ruleCollectionOrTuple=ruleCollectionOrTuple();
+ _fsp--;
+
+ current =iv_ruleCollectionOrTuple;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleCollectionOrTuple3620);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleCollectionOrTuple
+
+
+ // $ANTLR start ruleCollectionOrTuple
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2034:1: ruleCollectionOrTuple returns [EObject current=null] : ( '{' ( (lv_listOfValues_1_0= ruleListOfValues ) ) '}' ) ;
+ public final EObject ruleCollectionOrTuple() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_listOfValues_1_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2039:6: ( ( '{' ( (lv_listOfValues_1_0= ruleListOfValues ) ) '}' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2040:1: ( '{' ( (lv_listOfValues_1_0= ruleListOfValues ) ) '}' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2040:1: ( '{' ( (lv_listOfValues_1_0= ruleListOfValues ) ) '}' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2040:3: '{' ( (lv_listOfValues_1_0= ruleListOfValues ) ) '}'
+ {
+ match(input,44,FOLLOW_44_in_ruleCollectionOrTuple3655);
+
+ createLeafNode(grammarAccess.getCollectionOrTupleAccess().getLeftCurlyBracketKeyword_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2044:1: ( (lv_listOfValues_1_0= ruleListOfValues ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2045:1: (lv_listOfValues_1_0= ruleListOfValues )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2045:1: (lv_listOfValues_1_0= ruleListOfValues )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2046:3: lv_listOfValues_1_0= ruleListOfValues
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getCollectionOrTupleAccess().getListOfValuesListOfValuesParserRuleCall_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleListOfValues_in_ruleCollectionOrTuple3676);
+ lv_listOfValues_1_0=ruleListOfValues();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getCollectionOrTupleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "listOfValues",
+ lv_listOfValues_1_0,
+ "ListOfValues",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,45,FOLLOW_45_in_ruleCollectionOrTuple3686);
+
+ createLeafNode(grammarAccess.getCollectionOrTupleAccess().getRightCurlyBracketKeyword_2(), null);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleCollectionOrTuple
+
+
+ // $ANTLR start entryRuleTuple
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2080:1: entryRuleTuple returns [EObject current=null] : iv_ruleTuple= ruleTuple EOF ;
+ public final EObject entryRuleTuple() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTuple = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2081:2: (iv_ruleTuple= ruleTuple EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2082:2: iv_ruleTuple= ruleTuple EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getTupleRule(), currentNode);
+ pushFollow(FOLLOW_ruleTuple_in_entryRuleTuple3722);
+ iv_ruleTuple=ruleTuple();
+ _fsp--;
+
+ current =iv_ruleTuple;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTuple3732);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleTuple
+
+
+ // $ANTLR start ruleTuple
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2089:1: ruleTuple returns [EObject current=null] : ( '{' ( (lv_listOfValueNamePairs_1_0= ruleListOfValueNamePairs ) ) '}' ) ;
+ public final EObject ruleTuple() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_listOfValueNamePairs_1_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2094:6: ( ( '{' ( (lv_listOfValueNamePairs_1_0= ruleListOfValueNamePairs ) ) '}' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2095:1: ( '{' ( (lv_listOfValueNamePairs_1_0= ruleListOfValueNamePairs ) ) '}' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2095:1: ( '{' ( (lv_listOfValueNamePairs_1_0= ruleListOfValueNamePairs ) ) '}' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2095:3: '{' ( (lv_listOfValueNamePairs_1_0= ruleListOfValueNamePairs ) ) '}'
+ {
+ match(input,44,FOLLOW_44_in_ruleTuple3767);
+
+ createLeafNode(grammarAccess.getTupleAccess().getLeftCurlyBracketKeyword_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2099:1: ( (lv_listOfValueNamePairs_1_0= ruleListOfValueNamePairs ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2100:1: (lv_listOfValueNamePairs_1_0= ruleListOfValueNamePairs )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2100:1: (lv_listOfValueNamePairs_1_0= ruleListOfValueNamePairs )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2101:3: lv_listOfValueNamePairs_1_0= ruleListOfValueNamePairs
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getTupleAccess().getListOfValueNamePairsListOfValueNamePairsParserRuleCall_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleListOfValueNamePairs_in_ruleTuple3788);
+ lv_listOfValueNamePairs_1_0=ruleListOfValueNamePairs();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getTupleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "listOfValueNamePairs",
+ lv_listOfValueNamePairs_1_0,
+ "ListOfValueNamePairs",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,45,FOLLOW_45_in_ruleTuple3798);
+
+ createLeafNode(grammarAccess.getTupleAccess().getRightCurlyBracketKeyword_2(), null);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleTuple
+
+
+ // $ANTLR start entryRuleListOfValues
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2135:1: entryRuleListOfValues returns [EObject current=null] : iv_ruleListOfValues= ruleListOfValues EOF ;
+ public final EObject entryRuleListOfValues() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleListOfValues = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2136:2: (iv_ruleListOfValues= ruleListOfValues EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2137:2: iv_ruleListOfValues= ruleListOfValues EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getListOfValuesRule(), currentNode);
+ pushFollow(FOLLOW_ruleListOfValues_in_entryRuleListOfValues3834);
+ iv_ruleListOfValues=ruleListOfValues();
+ _fsp--;
+
+ current =iv_ruleListOfValues;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleListOfValues3844);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleListOfValues
+
+
+ // $ANTLR start ruleListOfValues
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2144:1: ruleListOfValues returns [EObject current=null] : ( ( (lv_values_0_0= ruleExpression ) ) ( ',' ( (lv_values_2_0= ruleExpression ) ) )* ) ;
+ public final EObject ruleListOfValues() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_values_0_0 = null;
+
+ EObject lv_values_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2149:6: ( ( ( (lv_values_0_0= ruleExpression ) ) ( ',' ( (lv_values_2_0= ruleExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2150:1: ( ( (lv_values_0_0= ruleExpression ) ) ( ',' ( (lv_values_2_0= ruleExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2150:1: ( ( (lv_values_0_0= ruleExpression ) ) ( ',' ( (lv_values_2_0= ruleExpression ) ) )* )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2150:2: ( (lv_values_0_0= ruleExpression ) ) ( ',' ( (lv_values_2_0= ruleExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2150:2: ( (lv_values_0_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2151:1: (lv_values_0_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2151:1: (lv_values_0_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2152:3: lv_values_0_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getListOfValuesAccess().getValuesExpressionParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleListOfValues3890);
+ lv_values_0_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getListOfValuesRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "values",
+ lv_values_0_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2174:2: ( ',' ( (lv_values_2_0= ruleExpression ) ) )*
+ loop30:
+ do {
+ int alt30=2;
+ int LA30_0 = input.LA(1);
+
+ if ( (LA30_0==18) ) {
+ alt30=1;
+ }
+
+
+ switch (alt30) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2174:4: ',' ( (lv_values_2_0= ruleExpression ) )
+ {
+ match(input,18,FOLLOW_18_in_ruleListOfValues3901);
+
+ createLeafNode(grammarAccess.getListOfValuesAccess().getCommaKeyword_1_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2178:1: ( (lv_values_2_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2179:1: (lv_values_2_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2179:1: (lv_values_2_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2180:3: lv_values_2_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getListOfValuesAccess().getValuesExpressionParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleListOfValues3922);
+ lv_values_2_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getListOfValuesRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "values",
+ lv_values_2_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop30;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleListOfValues
+
+
+ // $ANTLR start entryRuleListOfValueNamePairs
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2210:1: entryRuleListOfValueNamePairs returns [EObject current=null] : iv_ruleListOfValueNamePairs= ruleListOfValueNamePairs EOF ;
+ public final EObject entryRuleListOfValueNamePairs() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleListOfValueNamePairs = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2211:2: (iv_ruleListOfValueNamePairs= ruleListOfValueNamePairs EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2212:2: iv_ruleListOfValueNamePairs= ruleListOfValueNamePairs EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getListOfValueNamePairsRule(), currentNode);
+ pushFollow(FOLLOW_ruleListOfValueNamePairs_in_entryRuleListOfValueNamePairs3960);
+ iv_ruleListOfValueNamePairs=ruleListOfValueNamePairs();
+ _fsp--;
+
+ current =iv_ruleListOfValueNamePairs;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleListOfValueNamePairs3970);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleListOfValueNamePairs
+
+
+ // $ANTLR start ruleListOfValueNamePairs
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2219:1: ruleListOfValueNamePairs returns [EObject current=null] : ( ( (lv_valueNamePairs_0_0= ruleValueNamePair ) ) ( ',' ( (lv_valueNamePairs_2_0= ruleValueNamePair ) ) )* ) ;
+ public final EObject ruleListOfValueNamePairs() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_valueNamePairs_0_0 = null;
+
+ EObject lv_valueNamePairs_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2224:6: ( ( ( (lv_valueNamePairs_0_0= ruleValueNamePair ) ) ( ',' ( (lv_valueNamePairs_2_0= ruleValueNamePair ) ) )* ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2225:1: ( ( (lv_valueNamePairs_0_0= ruleValueNamePair ) ) ( ',' ( (lv_valueNamePairs_2_0= ruleValueNamePair ) ) )* )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2225:1: ( ( (lv_valueNamePairs_0_0= ruleValueNamePair ) ) ( ',' ( (lv_valueNamePairs_2_0= ruleValueNamePair ) ) )* )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2225:2: ( (lv_valueNamePairs_0_0= ruleValueNamePair ) ) ( ',' ( (lv_valueNamePairs_2_0= ruleValueNamePair ) ) )*
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2225:2: ( (lv_valueNamePairs_0_0= ruleValueNamePair ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2226:1: (lv_valueNamePairs_0_0= ruleValueNamePair )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2226:1: (lv_valueNamePairs_0_0= ruleValueNamePair )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2227:3: lv_valueNamePairs_0_0= ruleValueNamePair
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsValueNamePairParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleValueNamePair_in_ruleListOfValueNamePairs4016);
+ lv_valueNamePairs_0_0=ruleValueNamePair();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getListOfValueNamePairsRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "valueNamePairs",
+ lv_valueNamePairs_0_0,
+ "ValueNamePair",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2249:2: ( ',' ( (lv_valueNamePairs_2_0= ruleValueNamePair ) ) )*
+ loop31:
+ do {
+ int alt31=2;
+ int LA31_0 = input.LA(1);
+
+ if ( (LA31_0==18) ) {
+ alt31=1;
+ }
+
+
+ switch (alt31) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2249:4: ',' ( (lv_valueNamePairs_2_0= ruleValueNamePair ) )
+ {
+ match(input,18,FOLLOW_18_in_ruleListOfValueNamePairs4027);
+
+ createLeafNode(grammarAccess.getListOfValueNamePairsAccess().getCommaKeyword_1_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2253:1: ( (lv_valueNamePairs_2_0= ruleValueNamePair ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2254:1: (lv_valueNamePairs_2_0= ruleValueNamePair )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2254:1: (lv_valueNamePairs_2_0= ruleValueNamePair )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2255:3: lv_valueNamePairs_2_0= ruleValueNamePair
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsValueNamePairParserRuleCall_1_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleValueNamePair_in_ruleListOfValueNamePairs4048);
+ lv_valueNamePairs_2_0=ruleValueNamePair();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getListOfValueNamePairsRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ add(
+ current,
+ "valueNamePairs",
+ lv_valueNamePairs_2_0,
+ "ValueNamePair",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop31;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleListOfValueNamePairs
+
+
+ // $ANTLR start entryRuleValueNamePair
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2285:1: entryRuleValueNamePair returns [EObject current=null] : iv_ruleValueNamePair= ruleValueNamePair EOF ;
+ public final EObject entryRuleValueNamePair() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleValueNamePair = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2286:2: (iv_ruleValueNamePair= ruleValueNamePair EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2287:2: iv_ruleValueNamePair= ruleValueNamePair EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getValueNamePairRule(), currentNode);
+ pushFollow(FOLLOW_ruleValueNamePair_in_entryRuleValueNamePair4086);
+ iv_ruleValueNamePair=ruleValueNamePair();
+ _fsp--;
+
+ current =iv_ruleValueNamePair;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleValueNamePair4096);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleValueNamePair
+
+
+ // $ANTLR start ruleValueNamePair
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2294:1: ruleValueNamePair returns [EObject current=null] : ( ( ( RULE_ID ) ) '=' ( (lv_value_2_0= ruleExpression ) ) ) ;
+ public final EObject ruleValueNamePair() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_value_2_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2299:6: ( ( ( ( RULE_ID ) ) '=' ( (lv_value_2_0= ruleExpression ) ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2300:1: ( ( ( RULE_ID ) ) '=' ( (lv_value_2_0= ruleExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2300:1: ( ( ( RULE_ID ) ) '=' ( (lv_value_2_0= ruleExpression ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2300:2: ( ( RULE_ID ) ) '=' ( (lv_value_2_0= ruleExpression ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2300:2: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2301:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2301:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2302:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getValueNamePairRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleValueNamePair4139);
+
+ createLeafNode(grammarAccess.getValueNamePairAccess().getPropertyPropertyCrossReference_0_0(), "property");
+
+
+ }
+
+
+ }
+
+ match(input,19,FOLLOW_19_in_ruleValueNamePair4149);
+
+ createLeafNode(grammarAccess.getValueNamePairAccess().getEqualsSignKeyword_1(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2318:1: ( (lv_value_2_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2319:1: (lv_value_2_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2319:1: (lv_value_2_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2320:3: lv_value_2_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getValueNamePairAccess().getValueExpressionParserRuleCall_2_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleValueNamePair4170);
+ lv_value_2_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getValueNamePairRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "value",
+ lv_value_2_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleValueNamePair
+
+
+ // $ANTLR start entryRuleTimeExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2350:1: entryRuleTimeExpression returns [EObject current=null] : iv_ruleTimeExpression= ruleTimeExpression EOF ;
+ public final EObject entryRuleTimeExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTimeExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2351:2: (iv_ruleTimeExpression= ruleTimeExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2352:2: iv_ruleTimeExpression= ruleTimeExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getTimeExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleTimeExpression_in_entryRuleTimeExpression4206);
+ iv_ruleTimeExpression=ruleTimeExpression();
+ _fsp--;
+
+ current =iv_ruleTimeExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTimeExpression4216);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleTimeExpression
+
+
+ // $ANTLR start ruleTimeExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2359:1: ruleTimeExpression returns [EObject current=null] : (this_InstantObsExpression_0= ruleInstantObsExpression | this_DurationObsExpression_1= ruleDurationObsExpression | this_JitterExp_2= ruleJitterExp ) ;
+ public final EObject ruleTimeExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_InstantObsExpression_0 = null;
+
+ EObject this_DurationObsExpression_1 = null;
+
+ EObject this_JitterExp_2 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2364:6: ( (this_InstantObsExpression_0= ruleInstantObsExpression | this_DurationObsExpression_1= ruleDurationObsExpression | this_JitterExp_2= ruleJitterExp ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2365:1: (this_InstantObsExpression_0= ruleInstantObsExpression | this_DurationObsExpression_1= ruleDurationObsExpression | this_JitterExp_2= ruleJitterExp )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2365:1: (this_InstantObsExpression_0= ruleInstantObsExpression | this_DurationObsExpression_1= ruleDurationObsExpression | this_JitterExp_2= ruleJitterExp )
+ int alt32=3;
+ switch ( input.LA(1) ) {
+ case 46:
+ {
+ alt32=1;
+ }
+ break;
+ case 48:
+ {
+ alt32=2;
+ }
+ break;
+ case 49:
+ {
+ alt32=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("2365:1: (this_InstantObsExpression_0= ruleInstantObsExpression | this_DurationObsExpression_1= ruleDurationObsExpression | this_JitterExp_2= ruleJitterExp )", 32, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt32) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2366:5: this_InstantObsExpression_0= ruleInstantObsExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getTimeExpressionAccess().getInstantObsExpressionParserRuleCall_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleInstantObsExpression_in_ruleTimeExpression4263);
+ this_InstantObsExpression_0=ruleInstantObsExpression();
+ _fsp--;
+
+
+ current = this_InstantObsExpression_0;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2376:5: this_DurationObsExpression_1= ruleDurationObsExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getTimeExpressionAccess().getDurationObsExpressionParserRuleCall_1(), currentNode);
+
+ pushFollow(FOLLOW_ruleDurationObsExpression_in_ruleTimeExpression4290);
+ this_DurationObsExpression_1=ruleDurationObsExpression();
+ _fsp--;
+
+
+ current = this_DurationObsExpression_1;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2386:5: this_JitterExp_2= ruleJitterExp
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getTimeExpressionAccess().getJitterExpParserRuleCall_2(), currentNode);
+
+ pushFollow(FOLLOW_ruleJitterExp_in_ruleTimeExpression4317);
+ this_JitterExp_2=ruleJitterExp();
+ _fsp--;
+
+
+ current = this_JitterExp_2;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleTimeExpression
+
+
+ // $ANTLR start entryRuleInstantObsExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2402:1: entryRuleInstantObsExpression returns [EObject current=null] : iv_ruleInstantObsExpression= ruleInstantObsExpression EOF ;
+ public final EObject entryRuleInstantObsExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInstantObsExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2403:2: (iv_ruleInstantObsExpression= ruleInstantObsExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2404:2: iv_ruleInstantObsExpression= ruleInstantObsExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getInstantObsExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleInstantObsExpression_in_entryRuleInstantObsExpression4352);
+ iv_ruleInstantObsExpression=ruleInstantObsExpression();
+ _fsp--;
+
+ current =iv_ruleInstantObsExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInstantObsExpression4362);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleInstantObsExpression
+
+
+ // $ANTLR start ruleInstantObsExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2411:1: ruleInstantObsExpression returns [EObject current=null] : ( '@' ( (lv_id_1_0= ruleInstantObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )? ) ;
+ public final EObject ruleInstantObsExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_id_1_0 = null;
+
+ EObject lv_index_3_0 = null;
+
+ EObject lv_condition_7_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2416:6: ( ( '@' ( (lv_id_1_0= ruleInstantObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )? ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2417:1: ( '@' ( (lv_id_1_0= ruleInstantObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2417:1: ( '@' ( (lv_id_1_0= ruleInstantObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2417:3: '@' ( (lv_id_1_0= ruleInstantObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )?
+ {
+ match(input,46,FOLLOW_46_in_ruleInstantObsExpression4397);
+
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getCommercialAtKeyword_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2421:1: ( (lv_id_1_0= ruleInstantObsName ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2422:1: (lv_id_1_0= ruleInstantObsName )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2422:1: (lv_id_1_0= ruleInstantObsName )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2423:3: lv_id_1_0= ruleInstantObsName
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getInstantObsExpressionAccess().getIdInstantObsNameParserRuleCall_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleInstantObsName_in_ruleInstantObsExpression4418);
+ lv_id_1_0=ruleInstantObsName();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getInstantObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "id",
+ lv_id_1_0,
+ "InstantObsName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2445:2: ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )?
+ int alt33=2;
+ int LA33_0 = input.LA(1);
+
+ if ( (LA33_0==38) ) {
+ alt33=1;
+ }
+ switch (alt33) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2445:4: '(' ( (lv_index_3_0= ruleExpression ) ) ')'
+ {
+ match(input,38,FOLLOW_38_in_ruleInstantObsExpression4429);
+
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getLeftParenthesisKeyword_2_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2449:1: ( (lv_index_3_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2450:1: (lv_index_3_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2450:1: (lv_index_3_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2451:3: lv_index_3_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getInstantObsExpressionAccess().getIndexExpressionParserRuleCall_2_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleInstantObsExpression4450);
+ lv_index_3_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getInstantObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "index",
+ lv_index_3_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,39,FOLLOW_39_in_ruleInstantObsExpression4460);
+
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getRightParenthesisKeyword_2_2(), null);
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2477:3: ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )?
+ int alt34=2;
+ int LA34_0 = input.LA(1);
+
+ if ( (LA34_0==47) ) {
+ alt34=1;
+ }
+ switch (alt34) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2477:5: 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')'
+ {
+ match(input,47,FOLLOW_47_in_ruleInstantObsExpression4473);
+
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getWhenKeyword_3_0(), null);
+
+ match(input,38,FOLLOW_38_in_ruleInstantObsExpression4483);
+
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getLeftParenthesisKeyword_3_1(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2485:1: ( (lv_condition_7_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2486:1: (lv_condition_7_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2486:1: (lv_condition_7_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2487:3: lv_condition_7_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getInstantObsExpressionAccess().getConditionExpressionParserRuleCall_3_2_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleInstantObsExpression4504);
+ lv_condition_7_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getInstantObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "condition",
+ lv_condition_7_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,39,FOLLOW_39_in_ruleInstantObsExpression4514);
+
+ createLeafNode(grammarAccess.getInstantObsExpressionAccess().getRightParenthesisKeyword_3_3(), null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleInstantObsExpression
+
+
+ // $ANTLR start entryRuleInstantObsName
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2521:1: entryRuleInstantObsName returns [EObject current=null] : iv_ruleInstantObsName= ruleInstantObsName EOF ;
+ public final EObject entryRuleInstantObsName() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInstantObsName = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2522:2: (iv_ruleInstantObsName= ruleInstantObsName EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2523:2: iv_ruleInstantObsName= ruleInstantObsName EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getInstantObsNameRule(), currentNode);
+ pushFollow(FOLLOW_ruleInstantObsName_in_entryRuleInstantObsName4552);
+ iv_ruleInstantObsName=ruleInstantObsName();
+ _fsp--;
+
+ current =iv_ruleInstantObsName;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInstantObsName4562);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleInstantObsName
+
+
+ // $ANTLR start ruleInstantObsName
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2530:1: ruleInstantObsName returns [EObject current=null] : ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ) ;
+ public final EObject ruleInstantObsName() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_path_0_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2535:6: ( ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2536:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2536:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2536:2: ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2536:2: ( (lv_path_0_0= ruleQualifiedName ) )?
+ int alt35=2;
+ int LA35_0 = input.LA(1);
+
+ if ( (LA35_0==RULE_ID) ) {
+ int LA35_1 = input.LA(2);
+
+ if ( (LA35_1==40) ) {
+ alt35=1;
+ }
+ }
+ switch (alt35) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2537:1: (lv_path_0_0= ruleQualifiedName )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2537:1: (lv_path_0_0= ruleQualifiedName )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2538:3: lv_path_0_0= ruleQualifiedName
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getInstantObsNameAccess().getPathQualifiedNameParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleInstantObsName4608);
+ lv_path_0_0=ruleQualifiedName();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getInstantObsNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "path",
+ lv_path_0_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2560:3: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2561:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2561:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2562:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getInstantObsNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleInstantObsName4627);
+
+ createLeafNode(grammarAccess.getInstantObsNameAccess().getInstantIdTimeObservationCrossReference_1_0(), "instantId");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleInstantObsName
+
+
+ // $ANTLR start entryRuleDurationObsExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2582:1: entryRuleDurationObsExpression returns [EObject current=null] : iv_ruleDurationObsExpression= ruleDurationObsExpression EOF ;
+ public final EObject entryRuleDurationObsExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDurationObsExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2583:2: (iv_ruleDurationObsExpression= ruleDurationObsExpression EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2584:2: iv_ruleDurationObsExpression= ruleDurationObsExpression EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getDurationObsExpressionRule(), currentNode);
+ pushFollow(FOLLOW_ruleDurationObsExpression_in_entryRuleDurationObsExpression4663);
+ iv_ruleDurationObsExpression=ruleDurationObsExpression();
+ _fsp--;
+
+ current =iv_ruleDurationObsExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDurationObsExpression4673);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleDurationObsExpression
+
+
+ // $ANTLR start ruleDurationObsExpression
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2591:1: ruleDurationObsExpression returns [EObject current=null] : ( '&' ( (lv_id_1_0= ruleDurationObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )? ) ;
+ public final EObject ruleDurationObsExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_id_1_0 = null;
+
+ EObject lv_index_3_0 = null;
+
+ EObject lv_condition_7_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2596:6: ( ( '&' ( (lv_id_1_0= ruleDurationObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )? ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2597:1: ( '&' ( (lv_id_1_0= ruleDurationObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2597:1: ( '&' ( (lv_id_1_0= ruleDurationObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2597:3: '&' ( (lv_id_1_0= ruleDurationObsName ) ) ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )? ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )?
+ {
+ match(input,48,FOLLOW_48_in_ruleDurationObsExpression4708);
+
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getAmpersandKeyword_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2601:1: ( (lv_id_1_0= ruleDurationObsName ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2602:1: (lv_id_1_0= ruleDurationObsName )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2602:1: (lv_id_1_0= ruleDurationObsName )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2603:3: lv_id_1_0= ruleDurationObsName
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getDurationObsExpressionAccess().getIdDurationObsNameParserRuleCall_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleDurationObsName_in_ruleDurationObsExpression4729);
+ lv_id_1_0=ruleDurationObsName();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getDurationObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "id",
+ lv_id_1_0,
+ "DurationObsName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2625:2: ( '(' ( (lv_index_3_0= ruleExpression ) ) ')' )?
+ int alt36=2;
+ int LA36_0 = input.LA(1);
+
+ if ( (LA36_0==38) ) {
+ alt36=1;
+ }
+ switch (alt36) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2625:4: '(' ( (lv_index_3_0= ruleExpression ) ) ')'
+ {
+ match(input,38,FOLLOW_38_in_ruleDurationObsExpression4740);
+
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getLeftParenthesisKeyword_2_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2629:1: ( (lv_index_3_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2630:1: (lv_index_3_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2630:1: (lv_index_3_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2631:3: lv_index_3_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getDurationObsExpressionAccess().getIndexExpressionParserRuleCall_2_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleDurationObsExpression4761);
+ lv_index_3_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getDurationObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "index",
+ lv_index_3_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,39,FOLLOW_39_in_ruleDurationObsExpression4771);
+
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getRightParenthesisKeyword_2_2(), null);
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2657:3: ( 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')' )?
+ int alt37=2;
+ int LA37_0 = input.LA(1);
+
+ if ( (LA37_0==47) ) {
+ alt37=1;
+ }
+ switch (alt37) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2657:5: 'when' '(' ( (lv_condition_7_0= ruleExpression ) ) ')'
+ {
+ match(input,47,FOLLOW_47_in_ruleDurationObsExpression4784);
+
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getWhenKeyword_3_0(), null);
+
+ match(input,38,FOLLOW_38_in_ruleDurationObsExpression4794);
+
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getLeftParenthesisKeyword_3_1(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2665:1: ( (lv_condition_7_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2666:1: (lv_condition_7_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2666:1: (lv_condition_7_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2667:3: lv_condition_7_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getDurationObsExpressionAccess().getConditionExpressionParserRuleCall_3_2_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleDurationObsExpression4815);
+ lv_condition_7_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getDurationObsExpressionRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "condition",
+ lv_condition_7_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,39,FOLLOW_39_in_ruleDurationObsExpression4825);
+
+ createLeafNode(grammarAccess.getDurationObsExpressionAccess().getRightParenthesisKeyword_3_3(), null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleDurationObsExpression
+
+
+ // $ANTLR start entryRuleDurationObsName
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2701:1: entryRuleDurationObsName returns [EObject current=null] : iv_ruleDurationObsName= ruleDurationObsName EOF ;
+ public final EObject entryRuleDurationObsName() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDurationObsName = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2702:2: (iv_ruleDurationObsName= ruleDurationObsName EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2703:2: iv_ruleDurationObsName= ruleDurationObsName EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getDurationObsNameRule(), currentNode);
+ pushFollow(FOLLOW_ruleDurationObsName_in_entryRuleDurationObsName4863);
+ iv_ruleDurationObsName=ruleDurationObsName();
+ _fsp--;
+
+ current =iv_ruleDurationObsName;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDurationObsName4873);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleDurationObsName
+
+
+ // $ANTLR start ruleDurationObsName
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2710:1: ruleDurationObsName returns [EObject current=null] : ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ) ;
+ public final EObject ruleDurationObsName() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_path_0_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2715:6: ( ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2716:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2716:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2716:2: ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2716:2: ( (lv_path_0_0= ruleQualifiedName ) )?
+ int alt38=2;
+ int LA38_0 = input.LA(1);
+
+ if ( (LA38_0==RULE_ID) ) {
+ int LA38_1 = input.LA(2);
+
+ if ( (LA38_1==40) ) {
+ alt38=1;
+ }
+ }
+ switch (alt38) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2717:1: (lv_path_0_0= ruleQualifiedName )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2717:1: (lv_path_0_0= ruleQualifiedName )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2718:3: lv_path_0_0= ruleQualifiedName
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getDurationObsNameAccess().getPathQualifiedNameParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleDurationObsName4919);
+ lv_path_0_0=ruleQualifiedName();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getDurationObsNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "path",
+ lv_path_0_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2740:3: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2741:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2741:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2742:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getDurationObsNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDurationObsName4938);
+
+ createLeafNode(grammarAccess.getDurationObsNameAccess().getDurationIdDurationObservationCrossReference_1_0(), "durationId");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleDurationObsName
+
+
+ // $ANTLR start entryRuleJitterExp
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2762:1: entryRuleJitterExp returns [EObject current=null] : iv_ruleJitterExp= ruleJitterExp EOF ;
+ public final EObject entryRuleJitterExp() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleJitterExp = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2763:2: (iv_ruleJitterExp= ruleJitterExp EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2764:2: iv_ruleJitterExp= ruleJitterExp EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getJitterExpRule(), currentNode);
+ pushFollow(FOLLOW_ruleJitterExp_in_entryRuleJitterExp4974);
+ iv_ruleJitterExp=ruleJitterExp();
+ _fsp--;
+
+ current =iv_ruleJitterExp;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleJitterExp4984);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleJitterExp
+
+
+ // $ANTLR start ruleJitterExp
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2771:1: ruleJitterExp returns [EObject current=null] : ( 'jitter(' ( (lv_firstInstant_1_0= ruleInstantObsExpression ) ) ( '-' ( (lv_secondInstant_3_0= ruleInstantObsExpression ) ) )? ')' ) ;
+ public final EObject ruleJitterExp() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_firstInstant_1_0 = null;
+
+ EObject lv_secondInstant_3_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2776:6: ( ( 'jitter(' ( (lv_firstInstant_1_0= ruleInstantObsExpression ) ) ( '-' ( (lv_secondInstant_3_0= ruleInstantObsExpression ) ) )? ')' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2777:1: ( 'jitter(' ( (lv_firstInstant_1_0= ruleInstantObsExpression ) ) ( '-' ( (lv_secondInstant_3_0= ruleInstantObsExpression ) ) )? ')' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2777:1: ( 'jitter(' ( (lv_firstInstant_1_0= ruleInstantObsExpression ) ) ( '-' ( (lv_secondInstant_3_0= ruleInstantObsExpression ) ) )? ')' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2777:3: 'jitter(' ( (lv_firstInstant_1_0= ruleInstantObsExpression ) ) ( '-' ( (lv_secondInstant_3_0= ruleInstantObsExpression ) ) )? ')'
+ {
+ match(input,49,FOLLOW_49_in_ruleJitterExp5019);
+
+ createLeafNode(grammarAccess.getJitterExpAccess().getJitterKeyword_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2781:1: ( (lv_firstInstant_1_0= ruleInstantObsExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2782:1: (lv_firstInstant_1_0= ruleInstantObsExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2782:1: (lv_firstInstant_1_0= ruleInstantObsExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2783:3: lv_firstInstant_1_0= ruleInstantObsExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getJitterExpAccess().getFirstInstantInstantObsExpressionParserRuleCall_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleInstantObsExpression_in_ruleJitterExp5040);
+ lv_firstInstant_1_0=ruleInstantObsExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getJitterExpRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "firstInstant",
+ lv_firstInstant_1_0,
+ "InstantObsExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2805:2: ( '-' ( (lv_secondInstant_3_0= ruleInstantObsExpression ) ) )?
+ int alt39=2;
+ int LA39_0 = input.LA(1);
+
+ if ( (LA39_0==32) ) {
+ alt39=1;
+ }
+ switch (alt39) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2805:4: '-' ( (lv_secondInstant_3_0= ruleInstantObsExpression ) )
+ {
+ match(input,32,FOLLOW_32_in_ruleJitterExp5051);
+
+ createLeafNode(grammarAccess.getJitterExpAccess().getHyphenMinusKeyword_2_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2809:1: ( (lv_secondInstant_3_0= ruleInstantObsExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2810:1: (lv_secondInstant_3_0= ruleInstantObsExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2810:1: (lv_secondInstant_3_0= ruleInstantObsExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2811:3: lv_secondInstant_3_0= ruleInstantObsExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getJitterExpAccess().getSecondInstantInstantObsExpressionParserRuleCall_2_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleInstantObsExpression_in_ruleJitterExp5072);
+ lv_secondInstant_3_0=ruleInstantObsExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getJitterExpRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "secondInstant",
+ lv_secondInstant_3_0,
+ "InstantObsExpression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match(input,39,FOLLOW_39_in_ruleJitterExp5084);
+
+ createLeafNode(grammarAccess.getJitterExpAccess().getRightParenthesisKeyword_3(), null);
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleJitterExp
+
+
+ // $ANTLR start entryRuleVariableDeclaration
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2845:1: entryRuleVariableDeclaration returns [EObject current=null] : iv_ruleVariableDeclaration= ruleVariableDeclaration EOF ;
+ public final EObject entryRuleVariableDeclaration() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleVariableDeclaration = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2846:2: (iv_ruleVariableDeclaration= ruleVariableDeclaration EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2847:2: iv_ruleVariableDeclaration= ruleVariableDeclaration EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getVariableDeclarationRule(), currentNode);
+ pushFollow(FOLLOW_ruleVariableDeclaration_in_entryRuleVariableDeclaration5120);
+ iv_ruleVariableDeclaration=ruleVariableDeclaration();
+ _fsp--;
+
+ current =iv_ruleVariableDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleVariableDeclaration5130);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleVariableDeclaration
+
+
+ // $ANTLR start ruleVariableDeclaration
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2854:1: ruleVariableDeclaration returns [EObject current=null] : ( ( (lv_variableDeclaration_0_0= ruleVariableDirectionKind ) )? '$' ( (lv_name_2_0= RULE_ID ) ) ( ( ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )? ) | ( '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')' ) ) ) ;
+ public final EObject ruleVariableDeclaration() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_2_0=null;
+ AntlrDatatypeRuleToken lv_variableDeclaration_0_0 = null;
+
+ EObject lv_type_4_0 = null;
+
+ EObject lv_initValue_7_0 = null;
+
+ EObject lv_initValue_11_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2859:6: ( ( ( (lv_variableDeclaration_0_0= ruleVariableDirectionKind ) )? '$' ( (lv_name_2_0= RULE_ID ) ) ( ( ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )? ) | ( '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')' ) ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2860:1: ( ( (lv_variableDeclaration_0_0= ruleVariableDirectionKind ) )? '$' ( (lv_name_2_0= RULE_ID ) ) ( ( ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )? ) | ( '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')' ) ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2860:1: ( ( (lv_variableDeclaration_0_0= ruleVariableDirectionKind ) )? '$' ( (lv_name_2_0= RULE_ID ) ) ( ( ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )? ) | ( '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2860:2: ( (lv_variableDeclaration_0_0= ruleVariableDirectionKind ) )? '$' ( (lv_name_2_0= RULE_ID ) ) ( ( ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )? ) | ( '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2860:2: ( (lv_variableDeclaration_0_0= ruleVariableDirectionKind ) )?
+ int alt40=2;
+ int LA40_0 = input.LA(1);
+
+ if ( ((LA40_0>=51 && LA40_0<=53)) ) {
+ alt40=1;
+ }
+ switch (alt40) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2861:1: (lv_variableDeclaration_0_0= ruleVariableDirectionKind )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2861:1: (lv_variableDeclaration_0_0= ruleVariableDirectionKind )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2862:3: lv_variableDeclaration_0_0= ruleVariableDirectionKind
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getVariableDeclarationAccess().getVariableDeclarationVariableDirectionKindParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleVariableDirectionKind_in_ruleVariableDeclaration5176);
+ lv_variableDeclaration_0_0=ruleVariableDirectionKind();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "variableDeclaration",
+ lv_variableDeclaration_0_0,
+ "VariableDirectionKind",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ match(input,50,FOLLOW_50_in_ruleVariableDeclaration5187);
+
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getDollarSignKeyword_1(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2888:1: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2889:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2889:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2890:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)input.LT(1);
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleVariableDeclaration5204);
+
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_2_0(), "name");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+ try {
+ set(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2912:2: ( ( ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )? ) | ( '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')' ) )
+ int alt42=2;
+ int LA42_0 = input.LA(1);
+
+ if ( (LA42_0==30) ) {
+ alt42=1;
+ }
+ else if ( (LA42_0==19) ) {
+ alt42=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("2912:2: ( ( ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )? ) | ( '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')' ) )", 42, 0, input);
+
+ throw nvae;
+ }
+ switch (alt42) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2912:3: ( ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )? )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2912:3: ( ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )? )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2912:5: ':' ( (lv_type_4_0= ruleDataTypeName ) ) ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )?
+ {
+ match(input,30,FOLLOW_30_in_ruleVariableDeclaration5221);
+
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getColonKeyword_3_0_0(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2916:1: ( (lv_type_4_0= ruleDataTypeName ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2917:1: (lv_type_4_0= ruleDataTypeName )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2917:1: (lv_type_4_0= ruleDataTypeName )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2918:3: lv_type_4_0= ruleDataTypeName
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getVariableDeclarationAccess().getTypeDataTypeNameParserRuleCall_3_0_1_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleDataTypeName_in_ruleVariableDeclaration5242);
+ lv_type_4_0=ruleDataTypeName();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "type",
+ lv_type_4_0,
+ "DataTypeName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2940:2: ( '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')' )?
+ int alt41=2;
+ int LA41_0 = input.LA(1);
+
+ if ( (LA41_0==19) ) {
+ alt41=1;
+ }
+ switch (alt41) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2940:4: '=' '(' ( (lv_initValue_7_0= ruleExpression ) ) ')'
+ {
+ match(input,19,FOLLOW_19_in_ruleVariableDeclaration5253);
+
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_3_0_2_0(), null);
+
+ match(input,38,FOLLOW_38_in_ruleVariableDeclaration5263);
+
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getLeftParenthesisKeyword_3_0_2_1(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2948:1: ( (lv_initValue_7_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2949:1: (lv_initValue_7_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2949:1: (lv_initValue_7_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2950:3: lv_initValue_7_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getVariableDeclarationAccess().getInitValueExpressionParserRuleCall_3_0_2_2_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleVariableDeclaration5284);
+ lv_initValue_7_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "initValue",
+ lv_initValue_7_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,39,FOLLOW_39_in_ruleVariableDeclaration5294);
+
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getRightParenthesisKeyword_3_0_2_3(), null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2977:6: ( '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2977:6: ( '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2977:8: '=' '(' ( (lv_initValue_11_0= ruleExpression ) ) ')'
+ {
+ match(input,19,FOLLOW_19_in_ruleVariableDeclaration5314);
+
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_3_1_0(), null);
+
+ match(input,38,FOLLOW_38_in_ruleVariableDeclaration5324);
+
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getLeftParenthesisKeyword_3_1_1(), null);
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2985:1: ( (lv_initValue_11_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2986:1: (lv_initValue_11_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2986:1: (lv_initValue_11_0= ruleExpression )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:2987:3: lv_initValue_11_0= ruleExpression
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getVariableDeclarationAccess().getInitValueExpressionParserRuleCall_3_1_2_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleVariableDeclaration5345);
+ lv_initValue_11_0=ruleExpression();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getVariableDeclarationRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "initValue",
+ lv_initValue_11_0,
+ "Expression",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,39,FOLLOW_39_in_ruleVariableDeclaration5355);
+
+ createLeafNode(grammarAccess.getVariableDeclarationAccess().getRightParenthesisKeyword_3_1_3(), null);
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleVariableDeclaration
+
+
+ // $ANTLR start entryRuleVariableDirectionKind
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3021:1: entryRuleVariableDirectionKind returns [String current=null] : iv_ruleVariableDirectionKind= ruleVariableDirectionKind EOF ;
+ public final String entryRuleVariableDirectionKind() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleVariableDirectionKind = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3022:2: (iv_ruleVariableDirectionKind= ruleVariableDirectionKind EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3023:2: iv_ruleVariableDirectionKind= ruleVariableDirectionKind EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getVariableDirectionKindRule(), currentNode);
+ pushFollow(FOLLOW_ruleVariableDirectionKind_in_entryRuleVariableDirectionKind5394);
+ iv_ruleVariableDirectionKind=ruleVariableDirectionKind();
+ _fsp--;
+
+ current =iv_ruleVariableDirectionKind.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleVariableDirectionKind5405);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleVariableDirectionKind
+
+
+ // $ANTLR start ruleVariableDirectionKind
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3030:1: ruleVariableDirectionKind returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'in' | kw= 'out' | kw= 'inout' ) ;
+ public final AntlrDatatypeRuleToken ruleVariableDirectionKind() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3035:6: ( (kw= 'in' | kw= 'out' | kw= 'inout' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3036:1: (kw= 'in' | kw= 'out' | kw= 'inout' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3036:1: (kw= 'in' | kw= 'out' | kw= 'inout' )
+ int alt43=3;
+ switch ( input.LA(1) ) {
+ case 51:
+ {
+ alt43=1;
+ }
+ break;
+ case 52:
+ {
+ alt43=2;
+ }
+ break;
+ case 53:
+ {
+ alt43=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("3036:1: (kw= 'in' | kw= 'out' | kw= 'inout' )", 43, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt43) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3037:2: kw= 'in'
+ {
+ kw=(Token)input.LT(1);
+ match(input,51,FOLLOW_51_in_ruleVariableDirectionKind5443);
+
+ current.merge(kw);
+ createLeafNode(grammarAccess.getVariableDirectionKindAccess().getInKeyword_0(), null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3044:2: kw= 'out'
+ {
+ kw=(Token)input.LT(1);
+ match(input,52,FOLLOW_52_in_ruleVariableDirectionKind5462);
+
+ current.merge(kw);
+ createLeafNode(grammarAccess.getVariableDirectionKindAccess().getOutKeyword_1(), null);
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3051:2: kw= 'inout'
+ {
+ kw=(Token)input.LT(1);
+ match(input,53,FOLLOW_53_in_ruleVariableDirectionKind5481);
+
+ current.merge(kw);
+ createLeafNode(grammarAccess.getVariableDirectionKindAccess().getInoutKeyword_2(), null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleVariableDirectionKind
+
+
+ // $ANTLR start entryRuleDataTypeName
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3064:1: entryRuleDataTypeName returns [EObject current=null] : iv_ruleDataTypeName= ruleDataTypeName EOF ;
+ public final EObject entryRuleDataTypeName() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDataTypeName = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3065:2: (iv_ruleDataTypeName= ruleDataTypeName EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3066:2: iv_ruleDataTypeName= ruleDataTypeName EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getDataTypeNameRule(), currentNode);
+ pushFollow(FOLLOW_ruleDataTypeName_in_entryRuleDataTypeName5521);
+ iv_ruleDataTypeName=ruleDataTypeName();
+ _fsp--;
+
+ current =iv_ruleDataTypeName;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDataTypeName5531);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleDataTypeName
+
+
+ // $ANTLR start ruleDataTypeName
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3073:1: ruleDataTypeName returns [EObject current=null] : ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ) ;
+ public final EObject ruleDataTypeName() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_path_0_0 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3078:6: ( ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3079:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3079:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3079:2: ( (lv_path_0_0= ruleQualifiedName ) )? ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3079:2: ( (lv_path_0_0= ruleQualifiedName ) )?
+ int alt44=2;
+ int LA44_0 = input.LA(1);
+
+ if ( (LA44_0==RULE_ID) ) {
+ int LA44_1 = input.LA(2);
+
+ if ( (LA44_1==40) ) {
+ alt44=1;
+ }
+ }
+ switch (alt44) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3080:1: (lv_path_0_0= ruleQualifiedName )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3080:1: (lv_path_0_0= ruleQualifiedName )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3081:3: lv_path_0_0= ruleQualifiedName
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getDataTypeNameAccess().getPathQualifiedNameParserRuleCall_0_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleQualifiedName_in_ruleDataTypeName5577);
+ lv_path_0_0=ruleQualifiedName();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getDataTypeNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+ try {
+ set(
+ current,
+ "path",
+ lv_path_0_0,
+ "QualifiedName",
+ currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3103:3: ( ( RULE_ID ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3104:1: ( RULE_ID )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3104:1: ( RULE_ID )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3105:3: RULE_ID
+ {
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getDataTypeNameRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDataTypeName5596);
+
+ createLeafNode(grammarAccess.getDataTypeNameAccess().getTypeDataTypeCrossReference_1_0(), "type");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleDataTypeName
+
+
+ // $ANTLR start entryRuleNumberLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3125:1: entryRuleNumberLiteralRule returns [EObject current=null] : iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF ;
+ public final EObject entryRuleNumberLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNumberLiteralRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3126:2: (iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3127:2: iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getNumberLiteralRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleNumberLiteralRule_in_entryRuleNumberLiteralRule5632);
+ iv_ruleNumberLiteralRule=ruleNumberLiteralRule();
+ _fsp--;
+
+ current =iv_ruleNumberLiteralRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteralRule5642);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleNumberLiteralRule
+
+
+ // $ANTLR start ruleNumberLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3134:1: ruleNumberLiteralRule returns [EObject current=null] : (this_IntegerLiteralRule_0= ruleIntegerLiteralRule | this_UnlimitedLiteralRule_1= ruleUnlimitedLiteralRule | this_RealLiteralRule_2= ruleRealLiteralRule ) ;
+ public final EObject ruleNumberLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_IntegerLiteralRule_0 = null;
+
+ EObject this_UnlimitedLiteralRule_1 = null;
+
+ EObject this_RealLiteralRule_2 = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3139:6: ( (this_IntegerLiteralRule_0= ruleIntegerLiteralRule | this_UnlimitedLiteralRule_1= ruleUnlimitedLiteralRule | this_RealLiteralRule_2= ruleRealLiteralRule ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3140:1: (this_IntegerLiteralRule_0= ruleIntegerLiteralRule | this_UnlimitedLiteralRule_1= ruleUnlimitedLiteralRule | this_RealLiteralRule_2= ruleRealLiteralRule )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3140:1: (this_IntegerLiteralRule_0= ruleIntegerLiteralRule | this_UnlimitedLiteralRule_1= ruleUnlimitedLiteralRule | this_RealLiteralRule_2= ruleRealLiteralRule )
+ int alt45=3;
+ switch ( input.LA(1) ) {
+ case RULE_INTEGERLITERAL:
+ {
+ alt45=1;
+ }
+ break;
+ case 33:
+ {
+ alt45=2;
+ }
+ break;
+ case RULE_REALLITERAL:
+ {
+ alt45=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("3140:1: (this_IntegerLiteralRule_0= ruleIntegerLiteralRule | this_UnlimitedLiteralRule_1= ruleUnlimitedLiteralRule | this_RealLiteralRule_2= ruleRealLiteralRule )", 45, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt45) {
+ case 1 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3141:5: this_IntegerLiteralRule_0= ruleIntegerLiteralRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_0(), currentNode);
+
+ pushFollow(FOLLOW_ruleIntegerLiteralRule_in_ruleNumberLiteralRule5689);
+ this_IntegerLiteralRule_0=ruleIntegerLiteralRule();
+ _fsp--;
+
+
+ current = this_IntegerLiteralRule_0;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3151:5: this_UnlimitedLiteralRule_1= ruleUnlimitedLiteralRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getUnlimitedLiteralRuleParserRuleCall_1(), currentNode);
+
+ pushFollow(FOLLOW_ruleUnlimitedLiteralRule_in_ruleNumberLiteralRule5716);
+ this_UnlimitedLiteralRule_1=ruleUnlimitedLiteralRule();
+ _fsp--;
+
+
+ current = this_UnlimitedLiteralRule_1;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3161:5: this_RealLiteralRule_2= ruleRealLiteralRule
+ {
+
+ currentNode=createCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getRealLiteralRuleParserRuleCall_2(), currentNode);
+
+ pushFollow(FOLLOW_ruleRealLiteralRule_in_ruleNumberLiteralRule5743);
+ this_RealLiteralRule_2=ruleRealLiteralRule();
+ _fsp--;
+
+
+ current = this_RealLiteralRule_2;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleNumberLiteralRule
+
+
+ // $ANTLR start entryRuleIntegerLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3177:1: entryRuleIntegerLiteralRule returns [EObject current=null] : iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF ;
+ public final EObject entryRuleIntegerLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleIntegerLiteralRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3178:2: (iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3179:2: iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getIntegerLiteralRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleIntegerLiteralRule_in_entryRuleIntegerLiteralRule5778);
+ iv_ruleIntegerLiteralRule=ruleIntegerLiteralRule();
+ _fsp--;
+
+ current =iv_ruleIntegerLiteralRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleIntegerLiteralRule5788);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleIntegerLiteralRule
+
+
+ // $ANTLR start ruleIntegerLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3186:1: ruleIntegerLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_INTEGERLITERAL ) ) ;
+ public final EObject ruleIntegerLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3191:6: ( ( (lv_value_0_0= RULE_INTEGERLITERAL ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3192:1: ( (lv_value_0_0= RULE_INTEGERLITERAL ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3192:1: ( (lv_value_0_0= RULE_INTEGERLITERAL ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3193:1: (lv_value_0_0= RULE_INTEGERLITERAL )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3193:1: (lv_value_0_0= RULE_INTEGERLITERAL )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3194:3: lv_value_0_0= RULE_INTEGERLITERAL
+ {
+ lv_value_0_0=(Token)input.LT(1);
+ match(input,RULE_INTEGERLITERAL,FOLLOW_RULE_INTEGERLITERAL_in_ruleIntegerLiteralRule5829);
+
+ createLeafNode(grammarAccess.getIntegerLiteralRuleAccess().getValueIntegerLiteralTerminalRuleCall_0(), "value");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getIntegerLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+ try {
+ set(
+ current,
+ "value",
+ lv_value_0_0,
+ "IntegerLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleIntegerLiteralRule
+
+
+ // $ANTLR start entryRuleUnlimitedLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3224:1: entryRuleUnlimitedLiteralRule returns [EObject current=null] : iv_ruleUnlimitedLiteralRule= ruleUnlimitedLiteralRule EOF ;
+ public final EObject entryRuleUnlimitedLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleUnlimitedLiteralRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3225:2: (iv_ruleUnlimitedLiteralRule= ruleUnlimitedLiteralRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3226:2: iv_ruleUnlimitedLiteralRule= ruleUnlimitedLiteralRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getUnlimitedLiteralRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleUnlimitedLiteralRule_in_entryRuleUnlimitedLiteralRule5869);
+ iv_ruleUnlimitedLiteralRule=ruleUnlimitedLiteralRule();
+ _fsp--;
+
+ current =iv_ruleUnlimitedLiteralRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleUnlimitedLiteralRule5879);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleUnlimitedLiteralRule
+
+
+ // $ANTLR start ruleUnlimitedLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3233:1: ruleUnlimitedLiteralRule returns [EObject current=null] : ( (lv_value_0_0= '*' ) ) ;
+ public final EObject ruleUnlimitedLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3238:6: ( ( (lv_value_0_0= '*' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3239:1: ( (lv_value_0_0= '*' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3239:1: ( (lv_value_0_0= '*' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3240:1: (lv_value_0_0= '*' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3240:1: (lv_value_0_0= '*' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3241:3: lv_value_0_0= '*'
+ {
+ lv_value_0_0=(Token)input.LT(1);
+ match(input,33,FOLLOW_33_in_ruleUnlimitedLiteralRule5921);
+
+ createLeafNode(grammarAccess.getUnlimitedLiteralRuleAccess().getValueAsteriskKeyword_0(), "value");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getUnlimitedLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ set(current, "value", lv_value_0_0, "*", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleUnlimitedLiteralRule
+
+
+ // $ANTLR start entryRuleRealLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3268:1: entryRuleRealLiteralRule returns [EObject current=null] : iv_ruleRealLiteralRule= ruleRealLiteralRule EOF ;
+ public final EObject entryRuleRealLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRealLiteralRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3269:2: (iv_ruleRealLiteralRule= ruleRealLiteralRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3270:2: iv_ruleRealLiteralRule= ruleRealLiteralRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getRealLiteralRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleRealLiteralRule_in_entryRuleRealLiteralRule5969);
+ iv_ruleRealLiteralRule=ruleRealLiteralRule();
+ _fsp--;
+
+ current =iv_ruleRealLiteralRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteralRule5979);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleRealLiteralRule
+
+
+ // $ANTLR start ruleRealLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3277:1: ruleRealLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_REALLITERAL ) ) ;
+ public final EObject ruleRealLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3282:6: ( ( (lv_value_0_0= RULE_REALLITERAL ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3283:1: ( (lv_value_0_0= RULE_REALLITERAL ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3283:1: ( (lv_value_0_0= RULE_REALLITERAL ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3284:1: (lv_value_0_0= RULE_REALLITERAL )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3284:1: (lv_value_0_0= RULE_REALLITERAL )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3285:3: lv_value_0_0= RULE_REALLITERAL
+ {
+ lv_value_0_0=(Token)input.LT(1);
+ match(input,RULE_REALLITERAL,FOLLOW_RULE_REALLITERAL_in_ruleRealLiteralRule6020);
+
+ createLeafNode(grammarAccess.getRealLiteralRuleAccess().getValueRealLiteralTerminalRuleCall_0(), "value");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getRealLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+ try {
+ set(
+ current,
+ "value",
+ lv_value_0_0,
+ "RealLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleRealLiteralRule
+
+
+ // $ANTLR start entryRuleDateTimeLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3315:1: entryRuleDateTimeLiteralRule returns [EObject current=null] : iv_ruleDateTimeLiteralRule= ruleDateTimeLiteralRule EOF ;
+ public final EObject entryRuleDateTimeLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDateTimeLiteralRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3316:2: (iv_ruleDateTimeLiteralRule= ruleDateTimeLiteralRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3317:2: iv_ruleDateTimeLiteralRule= ruleDateTimeLiteralRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getDateTimeLiteralRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleDateTimeLiteralRule_in_entryRuleDateTimeLiteralRule6060);
+ iv_ruleDateTimeLiteralRule=ruleDateTimeLiteralRule();
+ _fsp--;
+
+ current =iv_ruleDateTimeLiteralRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDateTimeLiteralRule6070);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleDateTimeLiteralRule
+
+
+ // $ANTLR start ruleDateTimeLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3324:1: ruleDateTimeLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_DATETIMELITERAL ) ) ;
+ public final EObject ruleDateTimeLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3329:6: ( ( (lv_value_0_0= RULE_DATETIMELITERAL ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3330:1: ( (lv_value_0_0= RULE_DATETIMELITERAL ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3330:1: ( (lv_value_0_0= RULE_DATETIMELITERAL ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3331:1: (lv_value_0_0= RULE_DATETIMELITERAL )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3331:1: (lv_value_0_0= RULE_DATETIMELITERAL )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3332:3: lv_value_0_0= RULE_DATETIMELITERAL
+ {
+ lv_value_0_0=(Token)input.LT(1);
+ match(input,RULE_DATETIMELITERAL,FOLLOW_RULE_DATETIMELITERAL_in_ruleDateTimeLiteralRule6111);
+
+ createLeafNode(grammarAccess.getDateTimeLiteralRuleAccess().getValueDateTimeLiteralTerminalRuleCall_0(), "value");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getDateTimeLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+ try {
+ set(
+ current,
+ "value",
+ lv_value_0_0,
+ "DateTimeLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleDateTimeLiteralRule
+
+
+ // $ANTLR start entryRuleBooleanLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3362:1: entryRuleBooleanLiteralRule returns [EObject current=null] : iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF ;
+ public final EObject entryRuleBooleanLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleBooleanLiteralRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3363:2: (iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3364:2: iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getBooleanLiteralRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleBooleanLiteralRule_in_entryRuleBooleanLiteralRule6151);
+ iv_ruleBooleanLiteralRule=ruleBooleanLiteralRule();
+ _fsp--;
+
+ current =iv_ruleBooleanLiteralRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteralRule6161);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleBooleanLiteralRule
+
+
+ // $ANTLR start ruleBooleanLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3371:1: ruleBooleanLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_BOOLEANLITERAL ) ) ;
+ public final EObject ruleBooleanLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3376:6: ( ( (lv_value_0_0= RULE_BOOLEANLITERAL ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3377:1: ( (lv_value_0_0= RULE_BOOLEANLITERAL ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3377:1: ( (lv_value_0_0= RULE_BOOLEANLITERAL ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3378:1: (lv_value_0_0= RULE_BOOLEANLITERAL )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3378:1: (lv_value_0_0= RULE_BOOLEANLITERAL )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3379:3: lv_value_0_0= RULE_BOOLEANLITERAL
+ {
+ lv_value_0_0=(Token)input.LT(1);
+ match(input,RULE_BOOLEANLITERAL,FOLLOW_RULE_BOOLEANLITERAL_in_ruleBooleanLiteralRule6202);
+
+ createLeafNode(grammarAccess.getBooleanLiteralRuleAccess().getValueBooleanLiteralTerminalRuleCall_0(), "value");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getBooleanLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+ try {
+ set(
+ current,
+ "value",
+ lv_value_0_0,
+ "BooleanLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleBooleanLiteralRule
+
+
+ // $ANTLR start entryRuleNullLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3409:1: entryRuleNullLiteralRule returns [EObject current=null] : iv_ruleNullLiteralRule= ruleNullLiteralRule EOF ;
+ public final EObject entryRuleNullLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNullLiteralRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3410:2: (iv_ruleNullLiteralRule= ruleNullLiteralRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3411:2: iv_ruleNullLiteralRule= ruleNullLiteralRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getNullLiteralRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleNullLiteralRule_in_entryRuleNullLiteralRule6242);
+ iv_ruleNullLiteralRule=ruleNullLiteralRule();
+ _fsp--;
+
+ current =iv_ruleNullLiteralRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNullLiteralRule6252);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleNullLiteralRule
+
+
+ // $ANTLR start ruleNullLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3418:1: ruleNullLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_NULLLITERAL ) ) ;
+ public final EObject ruleNullLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3423:6: ( ( (lv_value_0_0= RULE_NULLLITERAL ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3424:1: ( (lv_value_0_0= RULE_NULLLITERAL ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3424:1: ( (lv_value_0_0= RULE_NULLLITERAL ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3425:1: (lv_value_0_0= RULE_NULLLITERAL )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3425:1: (lv_value_0_0= RULE_NULLLITERAL )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3426:3: lv_value_0_0= RULE_NULLLITERAL
+ {
+ lv_value_0_0=(Token)input.LT(1);
+ match(input,RULE_NULLLITERAL,FOLLOW_RULE_NULLLITERAL_in_ruleNullLiteralRule6293);
+
+ createLeafNode(grammarAccess.getNullLiteralRuleAccess().getValueNullLiteralTerminalRuleCall_0(), "value");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getNullLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+ try {
+ set(
+ current,
+ "value",
+ lv_value_0_0,
+ "NullLiteral",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleNullLiteralRule
+
+
+ // $ANTLR start entryRuleDefaultLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3456:1: entryRuleDefaultLiteralRule returns [EObject current=null] : iv_ruleDefaultLiteralRule= ruleDefaultLiteralRule EOF ;
+ public final EObject entryRuleDefaultLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDefaultLiteralRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3457:2: (iv_ruleDefaultLiteralRule= ruleDefaultLiteralRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3458:2: iv_ruleDefaultLiteralRule= ruleDefaultLiteralRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getDefaultLiteralRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleDefaultLiteralRule_in_entryRuleDefaultLiteralRule6333);
+ iv_ruleDefaultLiteralRule=ruleDefaultLiteralRule();
+ _fsp--;
+
+ current =iv_ruleDefaultLiteralRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDefaultLiteralRule6343);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleDefaultLiteralRule
+
+
+ // $ANTLR start ruleDefaultLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3465:1: ruleDefaultLiteralRule returns [EObject current=null] : ( (lv_value_0_0= '/' ) ) ;
+ public final EObject ruleDefaultLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3470:6: ( ( (lv_value_0_0= '/' ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3471:1: ( (lv_value_0_0= '/' ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3471:1: ( (lv_value_0_0= '/' ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3472:1: (lv_value_0_0= '/' )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3472:1: (lv_value_0_0= '/' )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3473:3: lv_value_0_0= '/'
+ {
+ lv_value_0_0=(Token)input.LT(1);
+ match(input,34,FOLLOW_34_in_ruleDefaultLiteralRule6385);
+
+ createLeafNode(grammarAccess.getDefaultLiteralRuleAccess().getValueSolidusKeyword_0(), "value");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getDefaultLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ set(current, "value", lv_value_0_0, "/", lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleDefaultLiteralRule
+
+
+ // $ANTLR start entryRuleStringLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3500:1: entryRuleStringLiteralRule returns [EObject current=null] : iv_ruleStringLiteralRule= ruleStringLiteralRule EOF ;
+ public final EObject entryRuleStringLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStringLiteralRule = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3501:2: (iv_ruleStringLiteralRule= ruleStringLiteralRule EOF )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3502:2: iv_ruleStringLiteralRule= ruleStringLiteralRule EOF
+ {
+ currentNode = createCompositeNode(grammarAccess.getStringLiteralRuleRule(), currentNode);
+ pushFollow(FOLLOW_ruleStringLiteralRule_in_entryRuleStringLiteralRule6433);
+ iv_ruleStringLiteralRule=ruleStringLiteralRule();
+ _fsp--;
+
+ current =iv_ruleStringLiteralRule;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteralRule6443);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleStringLiteralRule
+
+
+ // $ANTLR start ruleStringLiteralRule
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3509:1: ruleStringLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
+ public final EObject ruleStringLiteralRule() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3514:6: ( ( (lv_value_0_0= RULE_STRING ) ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3515:1: ( (lv_value_0_0= RULE_STRING ) )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3515:1: ( (lv_value_0_0= RULE_STRING ) )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3516:1: (lv_value_0_0= RULE_STRING )
+ {
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3516:1: (lv_value_0_0= RULE_STRING )
+ // ../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g:3517:3: lv_value_0_0= RULE_STRING
+ {
+ lv_value_0_0=(Token)input.LT(1);
+ match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringLiteralRule6484);
+
+ createLeafNode(grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0(), "value");
+
+
+ if (current==null) {
+ current = factory.create(grammarAccess.getStringLiteralRuleRule().getType().getClassifier());
+ associateNodeWithAstElement(currentNode, current);
+ }
+ try {
+ set(
+ current,
+ "value",
+ lv_value_0_0,
+ "STRING",
+ lastConsumedNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ lastConsumedNode = currentNode;
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleStringLiteralRule
+
+
+
+
+ public static final BitSet FOLLOW_ruleStereotypeApplicationsRule_in_entryRuleStereotypeApplicationsRule75 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStereotypeApplicationsRule85 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStereotypeApplicationRule_in_ruleStereotypeApplicationsRule130 = new BitSet(new long[]{0x0000000000010002L});
+ public static final BitSet FOLLOW_ruleStereotypeApplicationRule_in_entryRuleStereotypeApplicationRule166 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStereotypeApplicationRule176 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_ruleStereotypeApplicationRule211 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleStereotypeApplicationRule229 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_17_in_ruleStereotypeApplicationRule239 = new BitSet(new long[]{0x0000000000000012L});
+ public static final BitSet FOLLOW_ruleTagSpecificationRule_in_ruleStereotypeApplicationRule261 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_18_in_ruleStereotypeApplicationRule272 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleTagSpecificationRule_in_ruleStereotypeApplicationRule293 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_ruleTagSpecificationRule_in_entryRuleTagSpecificationRule333 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTagSpecificationRule343 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleTagSpecificationRule386 = new BitSet(new long[]{0x0000000000080000L});
+ public static final BitSet FOLLOW_ruleExpressionValueRule_in_ruleTagSpecificationRule407 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpressionValueRule_in_entryRuleExpressionValueRule443 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleExpressionValueRule453 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_ruleExpressionValueRule488 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleExpressionValueRule509 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression545 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleExpression555 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAndOrXorExpression_in_ruleExpression600 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAndOrXorExpression_in_entryRuleAndOrXorExpression635 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAndOrXorExpression645 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEqualityExpression_in_ruleAndOrXorExpression691 = new BitSet(new long[]{0x0000000000700002L});
+ public static final BitSet FOLLOW_20_in_ruleAndOrXorExpression712 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_21_in_ruleAndOrXorExpression741 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_22_in_ruleAndOrXorExpression770 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleEqualityExpression_in_ruleAndOrXorExpression807 = new BitSet(new long[]{0x0000000000700002L});
+ public static final BitSet FOLLOW_ruleEqualityExpression_in_entryRuleEqualityExpression845 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEqualityExpression855 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRelationalExpression_in_ruleEqualityExpression901 = new BitSet(new long[]{0x0000000001800002L});
+ public static final BitSet FOLLOW_23_in_ruleEqualityExpression922 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_24_in_ruleEqualityExpression951 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleRelationalExpression_in_ruleEqualityExpression988 = new BitSet(new long[]{0x0000000001800002L});
+ public static final BitSet FOLLOW_ruleRelationalExpression_in_entryRuleRelationalExpression1026 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRelationalExpression1036 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConditionalExpression_in_ruleRelationalExpression1082 = new BitSet(new long[]{0x000000001E000002L});
+ public static final BitSet FOLLOW_25_in_ruleRelationalExpression1103 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_26_in_ruleRelationalExpression1132 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_27_in_ruleRelationalExpression1161 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_28_in_ruleRelationalExpression1190 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleConditionalExpression_in_ruleRelationalExpression1227 = new BitSet(new long[]{0x000000001E000002L});
+ public static final BitSet FOLLOW_ruleConditionalExpression_in_entryRuleConditionalExpression1265 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleConditionalExpression1275 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAdditiveExpression_in_ruleConditionalExpression1321 = new BitSet(new long[]{0x0000000020000002L});
+ public static final BitSet FOLLOW_29_in_ruleConditionalExpression1340 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleAdditiveExpression_in_ruleConditionalExpression1374 = new BitSet(new long[]{0x0000000040000000L});
+ public static final BitSet FOLLOW_30_in_ruleConditionalExpression1384 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleAdditiveExpression_in_ruleConditionalExpression1405 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAdditiveExpression_in_entryRuleAdditiveExpression1443 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAdditiveExpression1453 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicativeExpression_in_ruleAdditiveExpression1499 = new BitSet(new long[]{0x0000000180000002L});
+ public static final BitSet FOLLOW_31_in_ruleAdditiveExpression1520 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_32_in_ruleAdditiveExpression1549 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleMultiplicativeExpression_in_ruleAdditiveExpression1586 = new BitSet(new long[]{0x0000000180000002L});
+ public static final BitSet FOLLOW_ruleMultiplicativeExpression_in_entryRuleMultiplicativeExpression1624 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicativeExpression1634 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryExpression_in_ruleMultiplicativeExpression1680 = new BitSet(new long[]{0x0000000E00000002L});
+ public static final BitSet FOLLOW_33_in_ruleMultiplicativeExpression1701 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_34_in_ruleMultiplicativeExpression1730 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_35_in_ruleMultiplicativeExpression1759 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleUnaryExpression_in_ruleMultiplicativeExpression1796 = new BitSet(new long[]{0x0000000E00000002L});
+ public static final BitSet FOLLOW_ruleUnaryExpression_in_entryRuleUnaryExpression1834 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnaryExpression1844 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_36_in_ruleUnaryExpression1890 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_32_in_ruleUnaryExpression1919 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_31_in_ruleUnaryExpression1948 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleUnaryExpression_in_ruleUnaryExpression1985 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpression_in_ruleUnaryExpression2013 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression2049 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpression2059 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValueSpecification_in_rulePrimaryExpression2105 = new BitSet(new long[]{0x0000002000000002L});
+ public static final BitSet FOLLOW_37_in_rulePrimaryExpression2116 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_rulePrimaryExpression2137 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValueSpecification_in_entryRuleValueSpecification2175 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleValueSpecification2185 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLiteral_in_ruleValueSpecification2232 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameOrChoiceOrBehaviorCall_in_ruleValueSpecification2259 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInterval_in_ruleValueSpecification2286 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionOrTuple_in_ruleValueSpecification2313 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTuple_in_ruleValueSpecification2340 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTimeExpression_in_ruleValueSpecification2367 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleVariableDeclaration_in_ruleValueSpecification2394 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_38_in_ruleValueSpecification2410 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleValueSpecification2432 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleValueSpecification2441 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_entryRuleSuffixExpression2478 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSuffixExpression2488 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePropertyCallExpression_in_ruleSuffixExpression2535 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleOperationCallExpression_in_ruleSuffixExpression2562 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePropertyCallExpression_in_entryRulePropertyCallExpression2597 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePropertyCallExpression2607 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rulePropertyCallExpression2650 = new BitSet(new long[]{0x0000002000000002L});
+ public static final BitSet FOLLOW_37_in_rulePropertyCallExpression2661 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_rulePropertyCallExpression2682 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleOperationCallExpression_in_entryRuleOperationCallExpression2720 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleOperationCallExpression2730 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleOperationCallExpression2773 = new BitSet(new long[]{0x0000004000000000L});
+ public static final BitSet FOLLOW_38_in_ruleOperationCallExpression2783 = new BitSet(new long[]{0x003F56D7800007F0L});
+ public static final BitSet FOLLOW_ruleListOfValues_in_ruleOperationCallExpression2804 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleOperationCallExpression2815 = new BitSet(new long[]{0x0000002000000002L});
+ public static final BitSet FOLLOW_37_in_ruleOperationCallExpression2826 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleOperationCallExpression2847 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral2885 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLiteral2895 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumberLiteralRule_in_ruleLiteral2942 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDateTimeLiteralRule_in_ruleLiteral2969 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBooleanLiteralRule_in_ruleLiteral2996 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNullLiteralRule_in_ruleLiteral3023 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDefaultLiteralRule_in_ruleLiteral3050 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteralRule_in_ruleLiteral3077 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameOrChoiceOrBehaviorCall_in_entryRuleNameOrChoiceOrBehaviorCall3112 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNameOrChoiceOrBehaviorCall3122 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_ruleNameOrChoiceOrBehaviorCall3168 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleNameOrChoiceOrBehaviorCall3187 = new BitSet(new long[]{0x0000004000000002L});
+ public static final BitSet FOLLOW_38_in_ruleNameOrChoiceOrBehaviorCall3198 = new BitSet(new long[]{0x003F56D7800007F0L});
+ public static final BitSet FOLLOW_ruleListOfValues_in_ruleNameOrChoiceOrBehaviorCall3219 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleNameOrChoiceOrBehaviorCall3230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName3268 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName3278 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName3321 = new BitSet(new long[]{0x0000010000000000L});
+ public static final BitSet FOLLOW_40_in_ruleQualifiedName3331 = new BitSet(new long[]{0x0000000000000012L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_ruleQualifiedName3352 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInterval_in_entryRuleInterval3389 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInterval3399 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_41_in_ruleInterval3435 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_42_in_ruleInterval3459 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleInterval3494 = new BitSet(new long[]{0x0000080000000000L});
+ public static final BitSet FOLLOW_43_in_ruleInterval3504 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleInterval3525 = new BitSet(new long[]{0x0000060000000000L});
+ public static final BitSet FOLLOW_41_in_ruleInterval3544 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_42_in_ruleInterval3573 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectionOrTuple_in_entryRuleCollectionOrTuple3610 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectionOrTuple3620 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_44_in_ruleCollectionOrTuple3655 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleListOfValues_in_ruleCollectionOrTuple3676 = new BitSet(new long[]{0x0000200000000000L});
+ public static final BitSet FOLLOW_45_in_ruleCollectionOrTuple3686 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTuple_in_entryRuleTuple3722 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTuple3732 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_44_in_ruleTuple3767 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleListOfValueNamePairs_in_ruleTuple3788 = new BitSet(new long[]{0x0000200000000000L});
+ public static final BitSet FOLLOW_45_in_ruleTuple3798 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleListOfValues_in_entryRuleListOfValues3834 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleListOfValues3844 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleListOfValues3890 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_18_in_ruleListOfValues3901 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleListOfValues3922 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_ruleListOfValueNamePairs_in_entryRuleListOfValueNamePairs3960 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleListOfValueNamePairs3970 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValueNamePair_in_ruleListOfValueNamePairs4016 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_18_in_ruleListOfValueNamePairs4027 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleValueNamePair_in_ruleListOfValueNamePairs4048 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_ruleValueNamePair_in_entryRuleValueNamePair4086 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleValueNamePair4096 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleValueNamePair4139 = new BitSet(new long[]{0x0000000000080000L});
+ public static final BitSet FOLLOW_19_in_ruleValueNamePair4149 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleValueNamePair4170 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTimeExpression_in_entryRuleTimeExpression4206 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTimeExpression4216 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstantObsExpression_in_ruleTimeExpression4263 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDurationObsExpression_in_ruleTimeExpression4290 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleJitterExp_in_ruleTimeExpression4317 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstantObsExpression_in_entryRuleInstantObsExpression4352 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInstantObsExpression4362 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_ruleInstantObsExpression4397 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleInstantObsName_in_ruleInstantObsExpression4418 = new BitSet(new long[]{0x0000804000000002L});
+ public static final BitSet FOLLOW_38_in_ruleInstantObsExpression4429 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleInstantObsExpression4450 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleInstantObsExpression4460 = new BitSet(new long[]{0x0000800000000002L});
+ public static final BitSet FOLLOW_47_in_ruleInstantObsExpression4473 = new BitSet(new long[]{0x0000004000000000L});
+ public static final BitSet FOLLOW_38_in_ruleInstantObsExpression4483 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleInstantObsExpression4504 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleInstantObsExpression4514 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstantObsName_in_entryRuleInstantObsName4552 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInstantObsName4562 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_ruleInstantObsName4608 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleInstantObsName4627 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDurationObsExpression_in_entryRuleDurationObsExpression4663 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDurationObsExpression4673 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_48_in_ruleDurationObsExpression4708 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleDurationObsName_in_ruleDurationObsExpression4729 = new BitSet(new long[]{0x0000804000000002L});
+ public static final BitSet FOLLOW_38_in_ruleDurationObsExpression4740 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleDurationObsExpression4761 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleDurationObsExpression4771 = new BitSet(new long[]{0x0000800000000002L});
+ public static final BitSet FOLLOW_47_in_ruleDurationObsExpression4784 = new BitSet(new long[]{0x0000004000000000L});
+ public static final BitSet FOLLOW_38_in_ruleDurationObsExpression4794 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleDurationObsExpression4815 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleDurationObsExpression4825 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDurationObsName_in_entryRuleDurationObsName4863 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDurationObsName4873 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_ruleDurationObsName4919 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleDurationObsName4938 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleJitterExp_in_entryRuleJitterExp4974 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleJitterExp4984 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_49_in_ruleJitterExp5019 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_ruleInstantObsExpression_in_ruleJitterExp5040 = new BitSet(new long[]{0x0000008100000000L});
+ public static final BitSet FOLLOW_32_in_ruleJitterExp5051 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_ruleInstantObsExpression_in_ruleJitterExp5072 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleJitterExp5084 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleVariableDeclaration_in_entryRuleVariableDeclaration5120 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleVariableDeclaration5130 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleVariableDirectionKind_in_ruleVariableDeclaration5176 = new BitSet(new long[]{0x0004000000000000L});
+ public static final BitSet FOLLOW_50_in_ruleVariableDeclaration5187 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleVariableDeclaration5204 = new BitSet(new long[]{0x0000000040080000L});
+ public static final BitSet FOLLOW_30_in_ruleVariableDeclaration5221 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleDataTypeName_in_ruleVariableDeclaration5242 = new BitSet(new long[]{0x0000000000080002L});
+ public static final BitSet FOLLOW_19_in_ruleVariableDeclaration5253 = new BitSet(new long[]{0x0000004000000000L});
+ public static final BitSet FOLLOW_38_in_ruleVariableDeclaration5263 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleVariableDeclaration5284 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleVariableDeclaration5294 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_ruleVariableDeclaration5314 = new BitSet(new long[]{0x0000004000000000L});
+ public static final BitSet FOLLOW_38_in_ruleVariableDeclaration5324 = new BitSet(new long[]{0x003F5657800007F0L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleVariableDeclaration5345 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_39_in_ruleVariableDeclaration5355 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleVariableDirectionKind_in_entryRuleVariableDirectionKind5394 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleVariableDirectionKind5405 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_51_in_ruleVariableDirectionKind5443 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_ruleVariableDirectionKind5462 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_53_in_ruleVariableDirectionKind5481 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDataTypeName_in_entryRuleDataTypeName5521 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDataTypeName5531 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedName_in_ruleDataTypeName5577 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleDataTypeName5596 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumberLiteralRule_in_entryRuleNumberLiteralRule5632 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteralRule5642 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIntegerLiteralRule_in_ruleNumberLiteralRule5689 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnlimitedLiteralRule_in_ruleNumberLiteralRule5716 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRealLiteralRule_in_ruleNumberLiteralRule5743 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIntegerLiteralRule_in_entryRuleIntegerLiteralRule5778 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleIntegerLiteralRule5788 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INTEGERLITERAL_in_ruleIntegerLiteralRule5829 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnlimitedLiteralRule_in_entryRuleUnlimitedLiteralRule5869 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnlimitedLiteralRule5879 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_33_in_ruleUnlimitedLiteralRule5921 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRealLiteralRule_in_entryRuleRealLiteralRule5969 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRealLiteralRule5979 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_REALLITERAL_in_ruleRealLiteralRule6020 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDateTimeLiteralRule_in_entryRuleDateTimeLiteralRule6060 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDateTimeLiteralRule6070 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_DATETIMELITERAL_in_ruleDateTimeLiteralRule6111 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBooleanLiteralRule_in_entryRuleBooleanLiteralRule6151 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteralRule6161 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_BOOLEANLITERAL_in_ruleBooleanLiteralRule6202 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNullLiteralRule_in_entryRuleNullLiteralRule6242 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNullLiteralRule6252 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_NULLLITERAL_in_ruleNullLiteralRule6293 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDefaultLiteralRule_in_entryRuleDefaultLiteralRule6333 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDefaultLiteralRule6343 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_34_in_ruleDefaultLiteralRule6385 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteralRule_in_entryRuleStringLiteralRule6433 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteralRule6443 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteralRule6484 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL__.g b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL__.g
new file mode 100644
index 00000000000..4974c5dc957
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL__.g
@@ -0,0 +1,85 @@
+lexer grammar InternalStereotypeApplicationWithVSL;
+@header {
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.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;
+}
+
+T16 : '<<' ;
+T17 : '>>' ;
+T18 : ',' ;
+T19 : '=' ;
+T20 : 'and' ;
+T21 : 'or' ;
+T22 : 'xor' ;
+T23 : '==' ;
+T24 : '<>' ;
+T25 : '<' ;
+T26 : '>' ;
+T27 : '<=' ;
+T28 : '>=' ;
+T29 : '?' ;
+T30 : ':' ;
+T31 : '+' ;
+T32 : '-' ;
+T33 : '*' ;
+T34 : '/' ;
+T35 : 'mod' ;
+T36 : 'not' ;
+T37 : '.' ;
+T38 : '(' ;
+T39 : ')' ;
+T40 : '::' ;
+T41 : ']' ;
+T42 : '[' ;
+T43 : '..' ;
+T44 : '{' ;
+T45 : '}' ;
+T46 : '@' ;
+T47 : 'when' ;
+T48 : '&' ;
+T49 : 'jitter(' ;
+T50 : '$' ;
+T51 : 'in' ;
+T52 : 'out' ;
+T53 : 'inout' ;
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3546
+RULE_INTEGERLITERAL : ('+'|'-')? (('0'..'9')+|'0x' ('0'..'9'|'A'..'F'|'a'..'f')+|'0b' ('0'..'1')+);
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3548
+RULE_REALLITERAL : ('+'|'-')? ('0'..'9')+ '.' ('0'..'9')+ ('E' ('+'|'-')? ('0'..'9')+)?;
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3550
+RULE_DATETIMELITERAL : (('0'..'1' '0'..'9'|'2' '0'..'3') ':' '0'..'5' '0'..'9' (':' '0'..'5' '0'..'9' (':' '0'..'9' '0'..'9')?)? (' ' '0'..'9' '0'..'9' '0'..'9' '0'..'9' '/' ('0' '0'..'9'|'1' '0'..'2') '/' ('0'..'2' '0'..'9'|'3' ('0'|'1')))? (' ' ('Mon'|'Tue'|'Wed'|'Thr'|'Fri'|'Sat'|'Sun'))?|'0'..'9' '0'..'9' '0'..'9' '0'..'9' '/' ('0' '0'..'9'|'1' '0'..'2') '/' ('0'..'2' '0'..'9'|'3' ('0'|'1')) (' ' ('Mon'|'Tue'|'Wed'|'Thr'|'Fri'|'Sat'|'Sun'))?|('Mon'|'Tue'|'Wed'|'Thr'|'Fri'|'Sat'|'Sun'));
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3552
+RULE_BOOLEANLITERAL : ('true'|'false');
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3554
+RULE_NULLLITERAL : 'null';
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3556
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3558
+RULE_INT : ('0'..'9')+;
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3560
+RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3562
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3564
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3566
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+// $ANTLR src "../org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/parser/antlr/internal/InternalStereotypeApplicationWithVSL.g" 3568
+RULE_ANY_OTHER : .;
+
+
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/services/StereotypeApplicationWithVSLGrammarAccess.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/services/StereotypeApplicationWithVSLGrammarAccess.java
new file mode 100644
index 00000000000..7678bc0fe12
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/services/StereotypeApplicationWithVSLGrammarAccess.java
@@ -0,0 +1,737 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.service.GrammarProvider;
+import org.eclipse.xtext.service.AbstractElementFinder.*;
+
+import org.eclipse.papyrus.marte.vsl.services.VSLGrammarAccess;
+
+@Singleton
+public class StereotypeApplicationWithVSLGrammarAccess extends AbstractGrammarElementFinder {
+
+
+ public class StereotypeApplicationsRuleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StereotypeApplicationsRule");
+ private final Assignment cStereotypeApplicationsAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cStereotypeApplicationsStereotypeApplicationRuleParserRuleCall_0 = (RuleCall)cStereotypeApplicationsAssignment.eContents().get(0);
+
+ //StereotypeApplicationsRule:
+ // stereotypeApplications+=StereotypeApplicationRule*;
+ public ParserRule getRule() { return rule; }
+
+ //stereotypeApplications+=StereotypeApplicationRule*
+ public Assignment getStereotypeApplicationsAssignment() { return cStereotypeApplicationsAssignment; }
+
+ //StereotypeApplicationRule
+ public RuleCall getStereotypeApplicationsStereotypeApplicationRuleParserRuleCall_0() { return cStereotypeApplicationsStereotypeApplicationRuleParserRuleCall_0; }
+ }
+
+ public class StereotypeApplicationRuleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StereotypeApplicationRule");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLessThanSignLessThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cStereotypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cStereotypeStereotypeCrossReference_1_0 = (CrossReference)cStereotypeAssignment_1.eContents().get(0);
+ private final RuleCall cStereotypeStereotypeIDTerminalRuleCall_1_0_1 = (RuleCall)cStereotypeStereotypeCrossReference_1_0.eContents().get(1);
+ private final Keyword cGreaterThanSignGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Assignment cTagSpecificationAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+ private final RuleCall cTagSpecificationTagSpecificationRuleParserRuleCall_3_0_0 = (RuleCall)cTagSpecificationAssignment_3_0.eContents().get(0);
+ private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1);
+ private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
+ private final Assignment cTagSpecificationAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
+ private final RuleCall cTagSpecificationTagSpecificationRuleParserRuleCall_3_1_1_0 = (RuleCall)cTagSpecificationAssignment_3_1_1.eContents().get(0);
+
+ //StereotypeApplicationRule:
+ // "<<" stereotype=[uml::Stereotype] ">>" (tagSpecification+=TagSpecificationRule (","
+ // tagSpecification+=TagSpecificationRule)*)?;
+ public ParserRule getRule() { return rule; }
+
+ //"<<" stereotype=[uml::Stereotype] ">>" (tagSpecification+=TagSpecificationRule (","
+ //tagSpecification+=TagSpecificationRule)*)?
+ public Group getGroup() { return cGroup; }
+
+ //"<<"
+ public Keyword getLessThanSignLessThanSignKeyword_0() { return cLessThanSignLessThanSignKeyword_0; }
+
+ //stereotype=[uml::Stereotype]
+ public Assignment getStereotypeAssignment_1() { return cStereotypeAssignment_1; }
+
+ //[uml::Stereotype]
+ public CrossReference getStereotypeStereotypeCrossReference_1_0() { return cStereotypeStereotypeCrossReference_1_0; }
+
+ //ID
+ public RuleCall getStereotypeStereotypeIDTerminalRuleCall_1_0_1() { return cStereotypeStereotypeIDTerminalRuleCall_1_0_1; }
+
+ //">>"
+ public Keyword getGreaterThanSignGreaterThanSignKeyword_2() { return cGreaterThanSignGreaterThanSignKeyword_2; }
+
+ //(tagSpecification+=TagSpecificationRule ("," tagSpecification+=TagSpecificationRule)*)?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //tagSpecification+=TagSpecificationRule
+ public Assignment getTagSpecificationAssignment_3_0() { return cTagSpecificationAssignment_3_0; }
+
+ //TagSpecificationRule
+ public RuleCall getTagSpecificationTagSpecificationRuleParserRuleCall_3_0_0() { return cTagSpecificationTagSpecificationRuleParserRuleCall_3_0_0; }
+
+ //("," tagSpecification+=TagSpecificationRule)*
+ public Group getGroup_3_1() { return cGroup_3_1; }
+
+ //","
+ public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
+
+ //tagSpecification+=TagSpecificationRule
+ public Assignment getTagSpecificationAssignment_3_1_1() { return cTagSpecificationAssignment_3_1_1; }
+
+ //TagSpecificationRule
+ public RuleCall getTagSpecificationTagSpecificationRuleParserRuleCall_3_1_1_0() { return cTagSpecificationTagSpecificationRuleParserRuleCall_3_1_1_0; }
+ }
+
+ public class TagSpecificationRuleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TagSpecificationRule");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cPropertyAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cPropertyPropertyCrossReference_0_0 = (CrossReference)cPropertyAssignment_0.eContents().get(0);
+ private final RuleCall cPropertyPropertyIDTerminalRuleCall_0_0_1 = (RuleCall)cPropertyPropertyCrossReference_0_0.eContents().get(1);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueExpressionValueRuleParserRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+
+ //TagSpecificationRule:
+ // property=[uml::Property] value=ExpressionValueRule;
+ public ParserRule getRule() { return rule; }
+
+ //property=[uml::Property] value=ExpressionValueRule
+ public Group getGroup() { return cGroup; }
+
+ //property=[uml::Property]
+ public Assignment getPropertyAssignment_0() { return cPropertyAssignment_0; }
+
+ //[uml::Property]
+ public CrossReference getPropertyPropertyCrossReference_0_0() { return cPropertyPropertyCrossReference_0_0; }
+
+ //ID
+ public RuleCall getPropertyPropertyIDTerminalRuleCall_0_0_1() { return cPropertyPropertyIDTerminalRuleCall_0_0_1; }
+
+ //value=ExpressionValueRule
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //ExpressionValueRule
+ public RuleCall getValueExpressionValueRuleParserRuleCall_1_0() { return cValueExpressionValueRuleParserRuleCall_1_0; }
+ }
+
+ public class ExpressionValueRuleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExpressionValueRule");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cEqualsSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cExpressionExpressionParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0);
+
+ //ExpressionValueRule:
+ // "=" expression=Expression;
+ public ParserRule getRule() { return rule; }
+
+ //"=" expression=Expression
+ public Group getGroup() { return cGroup; }
+
+ //"="
+ public Keyword getEqualsSignKeyword_0() { return cEqualsSignKeyword_0; }
+
+ //expression=Expression
+ public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; }
+
+ //Expression
+ public RuleCall getExpressionExpressionParserRuleCall_1_0() { return cExpressionExpressionParserRuleCall_1_0; }
+ }
+
+
+ private StereotypeApplicationsRuleElements pStereotypeApplicationsRule;
+ private StereotypeApplicationRuleElements pStereotypeApplicationRule;
+ private TagSpecificationRuleElements pTagSpecificationRule;
+ private ExpressionValueRuleElements pExpressionValueRule;
+
+ private final GrammarProvider grammarProvider;
+
+ private VSLGrammarAccess gaVSL;
+
+ @Inject
+ public StereotypeApplicationWithVSLGrammarAccess(GrammarProvider grammarProvider,
+ VSLGrammarAccess gaVSL) {
+ this.grammarProvider = grammarProvider;
+ this.gaVSL = gaVSL;
+ }
+
+ public Grammar getGrammar() {
+ return grammarProvider.getGrammar(this);
+ }
+
+
+ public VSLGrammarAccess getVSLGrammarAccess() {
+ return gaVSL;
+ }
+
+
+ //StereotypeApplicationsRule:
+ // stereotypeApplications+=StereotypeApplicationRule*;
+ public StereotypeApplicationsRuleElements getStereotypeApplicationsRuleAccess() {
+ return (pStereotypeApplicationsRule != null) ? pStereotypeApplicationsRule : (pStereotypeApplicationsRule = new StereotypeApplicationsRuleElements());
+ }
+
+ public ParserRule getStereotypeApplicationsRuleRule() {
+ return getStereotypeApplicationsRuleAccess().getRule();
+ }
+
+ //StereotypeApplicationRule:
+ // "<<" stereotype=[uml::Stereotype] ">>" (tagSpecification+=TagSpecificationRule (","
+ // tagSpecification+=TagSpecificationRule)*)?;
+ public StereotypeApplicationRuleElements getStereotypeApplicationRuleAccess() {
+ return (pStereotypeApplicationRule != null) ? pStereotypeApplicationRule : (pStereotypeApplicationRule = new StereotypeApplicationRuleElements());
+ }
+
+ public ParserRule getStereotypeApplicationRuleRule() {
+ return getStereotypeApplicationRuleAccess().getRule();
+ }
+
+ //TagSpecificationRule:
+ // property=[uml::Property] value=ExpressionValueRule;
+ public TagSpecificationRuleElements getTagSpecificationRuleAccess() {
+ return (pTagSpecificationRule != null) ? pTagSpecificationRule : (pTagSpecificationRule = new TagSpecificationRuleElements());
+ }
+
+ public ParserRule getTagSpecificationRuleRule() {
+ return getTagSpecificationRuleAccess().getRule();
+ }
+
+ //ExpressionValueRule:
+ // "=" expression=Expression;
+ public ExpressionValueRuleElements getExpressionValueRuleAccess() {
+ return (pExpressionValueRule != null) ? pExpressionValueRule : (pExpressionValueRule = new ExpressionValueRuleElements());
+ }
+
+ public ParserRule getExpressionValueRuleRule() {
+ return getExpressionValueRuleAccess().getRule();
+ }
+
+ //Expression:
+ // exp=AndOrXorExpression;
+ public VSLGrammarAccess.ExpressionElements getExpressionAccess() {
+ return gaVSL.getExpressionAccess();
+ }
+
+ public ParserRule getExpressionRule() {
+ return getExpressionAccess().getRule();
+ }
+
+ //AndOrXorExpression:
+ // exp+=EqualityExpression (op+=("and" | "or" | "xor") exp+=EqualityExpression)*;
+ public VSLGrammarAccess.AndOrXorExpressionElements getAndOrXorExpressionAccess() {
+ return gaVSL.getAndOrXorExpressionAccess();
+ }
+
+ public ParserRule getAndOrXorExpressionRule() {
+ return getAndOrXorExpressionAccess().getRule();
+ }
+
+ //EqualityExpression:
+ // exp+=RelationalExpression (op+=("==" | "<>") exp+=RelationalExpression)*;
+ public VSLGrammarAccess.EqualityExpressionElements getEqualityExpressionAccess() {
+ return gaVSL.getEqualityExpressionAccess();
+ }
+
+ public ParserRule getEqualityExpressionRule() {
+ return getEqualityExpressionAccess().getRule();
+ }
+
+ //RelationalExpression:
+ // exp+=ConditionalExpression (op+=("<" | ">" | "<=" | ">=") exp+=ConditionalExpression)*;
+ public VSLGrammarAccess.RelationalExpressionElements getRelationalExpressionAccess() {
+ return gaVSL.getRelationalExpressionAccess();
+ }
+
+ public ParserRule getRelationalExpressionRule() {
+ return getRelationalExpressionAccess().getRule();
+ }
+
+ //ConditionalExpression:
+ // exp+=AdditiveExpression (op+="?" exp+=AdditiveExpression ":" exp+=AdditiveExpression)?;
+ public VSLGrammarAccess.ConditionalExpressionElements getConditionalExpressionAccess() {
+ return gaVSL.getConditionalExpressionAccess();
+ }
+
+ public ParserRule getConditionalExpressionRule() {
+ return getConditionalExpressionAccess().getRule();
+ }
+
+ //AdditiveExpression:
+ // exp+=MultiplicativeExpression (op+=("+" | "-") exp+=MultiplicativeExpression)*;
+ public VSLGrammarAccess.AdditiveExpressionElements getAdditiveExpressionAccess() {
+ return gaVSL.getAdditiveExpressionAccess();
+ }
+
+ public ParserRule getAdditiveExpressionRule() {
+ return getAdditiveExpressionAccess().getRule();
+ }
+
+ //MultiplicativeExpression:
+ // exp+=UnaryExpression (op+=("*" | "/" | "mod") exp+=UnaryExpression)*;
+ public VSLGrammarAccess.MultiplicativeExpressionElements getMultiplicativeExpressionAccess() {
+ return gaVSL.getMultiplicativeExpressionAccess();
+ }
+
+ public ParserRule getMultiplicativeExpressionRule() {
+ return getMultiplicativeExpressionAccess().getRule();
+ }
+
+ //UnaryExpression:
+ // op=("not" | "-" | "+") unary=UnaryExpression | exp=PrimaryExpression;
+ public VSLGrammarAccess.UnaryExpressionElements getUnaryExpressionAccess() {
+ return gaVSL.getUnaryExpressionAccess();
+ }
+
+ public ParserRule getUnaryExpressionRule() {
+ return getUnaryExpressionAccess().getRule();
+ }
+
+ //PrimaryExpression:
+ // prefix=ValueSpecification ("." suffix=SuffixExpression)?;
+ public VSLGrammarAccess.PrimaryExpressionElements getPrimaryExpressionAccess() {
+ return gaVSL.getPrimaryExpressionAccess();
+ }
+
+ public ParserRule getPrimaryExpressionRule() {
+ return getPrimaryExpressionAccess().getRule();
+ }
+
+ //ValueSpecification:
+ // Literal | NameOrChoiceOrBehaviorCall | Interval | CollectionOrTuple | Tuple | TimeExpression | VariableDeclaration |
+ // "(" Expression ")";
+ public VSLGrammarAccess.ValueSpecificationElements getValueSpecificationAccess() {
+ return gaVSL.getValueSpecificationAccess();
+ }
+
+ public ParserRule getValueSpecificationRule() {
+ return getValueSpecificationAccess().getRule();
+ }
+
+ //SuffixExpression:
+ // PropertyCallExpression | OperationCallExpression;
+ public VSLGrammarAccess.SuffixExpressionElements getSuffixExpressionAccess() {
+ return gaVSL.getSuffixExpressionAccess();
+ }
+
+ public ParserRule getSuffixExpressionRule() {
+ return getSuffixExpressionAccess().getRule();
+ }
+
+ //PropertyCallExpression:
+ // property=[uml::Property] ("." suffix=SuffixExpression)?;
+ public VSLGrammarAccess.PropertyCallExpressionElements getPropertyCallExpressionAccess() {
+ return gaVSL.getPropertyCallExpressionAccess();
+ }
+
+ public ParserRule getPropertyCallExpressionRule() {
+ return getPropertyCallExpressionAccess().getRule();
+ }
+
+ //OperationCallExpression:
+ // operation=[uml::Operation] "(" arguments=ListOfValues? ")" ("." suffix=SuffixExpression)?;
+ public VSLGrammarAccess.OperationCallExpressionElements getOperationCallExpressionAccess() {
+ return gaVSL.getOperationCallExpressionAccess();
+ }
+
+ public ParserRule getOperationCallExpressionRule() {
+ return getOperationCallExpressionAccess().getRule();
+ }
+
+ //Literal:
+ // NumberLiteralRule | DateTimeLiteralRule | BooleanLiteralRule | NullLiteralRule | DefaultLiteralRule |
+ // StringLiteralRule;
+ public VSLGrammarAccess.LiteralElements getLiteralAccess() {
+ return gaVSL.getLiteralAccess();
+ }
+
+ public ParserRule getLiteralRule() {
+ return getLiteralAccess().getRule();
+ }
+
+ //NameOrChoiceOrBehaviorCall:
+ // path=QualifiedName? // can resolve to :
+ // // - EnumSpecification,
+ // // - VariableCallExpression
+ // // - PropertyCallExpression
+ // // - ChoiceExpression
+ // id=[uml::NamedElement] ("(" arguments=ListOfValues? ")")?;
+ public VSLGrammarAccess.NameOrChoiceOrBehaviorCallElements getNameOrChoiceOrBehaviorCallAccess() {
+ return gaVSL.getNameOrChoiceOrBehaviorCallAccess();
+ }
+
+ public ParserRule getNameOrChoiceOrBehaviorCallRule() {
+ return getNameOrChoiceOrBehaviorCallAccess().getRule();
+ }
+
+ //QualifiedName:
+ // path=[uml::Namespace] "::" remaining=QualifiedName?;
+ public VSLGrammarAccess.QualifiedNameElements getQualifiedNameAccess() {
+ return gaVSL.getQualifiedNameAccess();
+ }
+
+ public ParserRule getQualifiedNameRule() {
+ return getQualifiedNameAccess().getRule();
+ }
+
+ //Interval:
+ // ("]" | isLowerIncluded="[") lower=Expression ".." upper=Expression (isUpperIncluded="]" | "[");
+ public VSLGrammarAccess.IntervalElements getIntervalAccess() {
+ return gaVSL.getIntervalAccess();
+ }
+
+ public ParserRule getIntervalRule() {
+ return getIntervalAccess().getRule();
+ }
+
+ //CollectionOrTuple:
+ // "{" listOfValues=ListOfValues "}";
+ public VSLGrammarAccess.CollectionOrTupleElements getCollectionOrTupleAccess() {
+ return gaVSL.getCollectionOrTupleAccess();
+ }
+
+ public ParserRule getCollectionOrTupleRule() {
+ return getCollectionOrTupleAccess().getRule();
+ }
+
+ //Tuple:
+ // "{" listOfValueNamePairs=ListOfValueNamePairs "}";
+ public VSLGrammarAccess.TupleElements getTupleAccess() {
+ return gaVSL.getTupleAccess();
+ }
+
+ public ParserRule getTupleRule() {
+ return getTupleAccess().getRule();
+ }
+
+ //ListOfValues:
+ // values+=Expression ("," values+=Expression)*;
+ public VSLGrammarAccess.ListOfValuesElements getListOfValuesAccess() {
+ return gaVSL.getListOfValuesAccess();
+ }
+
+ public ParserRule getListOfValuesRule() {
+ return getListOfValuesAccess().getRule();
+ }
+
+ //ListOfValueNamePairs:
+ // valueNamePairs+=ValueNamePair ("," valueNamePairs+=ValueNamePair)*;
+ public VSLGrammarAccess.ListOfValueNamePairsElements getListOfValueNamePairsAccess() {
+ return gaVSL.getListOfValueNamePairsAccess();
+ }
+
+ public ParserRule getListOfValueNamePairsRule() {
+ return getListOfValueNamePairsAccess().getRule();
+ }
+
+ //ValueNamePair:
+ // property=[uml::Property] "=" value=Expression;
+ public VSLGrammarAccess.ValueNamePairElements getValueNamePairAccess() {
+ return gaVSL.getValueNamePairAccess();
+ }
+
+ public ParserRule getValueNamePairRule() {
+ return getValueNamePairAccess().getRule();
+ }
+
+ //TimeExpression:
+ // InstantObsExpression | DurationObsExpression | JitterExp;
+ public VSLGrammarAccess.TimeExpressionElements getTimeExpressionAccess() {
+ return gaVSL.getTimeExpressionAccess();
+ }
+
+ public ParserRule getTimeExpressionRule() {
+ return getTimeExpressionAccess().getRule();
+ }
+
+ //InstantObsExpression:
+ // "@" id=InstantObsName ("(" index=Expression ")")? ("when" "(" condition=Expression ")")?;
+ public VSLGrammarAccess.InstantObsExpressionElements getInstantObsExpressionAccess() {
+ return gaVSL.getInstantObsExpressionAccess();
+ }
+
+ public ParserRule getInstantObsExpressionRule() {
+ return getInstantObsExpressionAccess().getRule();
+ }
+
+ //InstantObsName:
+ // path=QualifiedName? instantId=[uml::TimeObservation];
+ public VSLGrammarAccess.InstantObsNameElements getInstantObsNameAccess() {
+ return gaVSL.getInstantObsNameAccess();
+ }
+
+ public ParserRule getInstantObsNameRule() {
+ return getInstantObsNameAccess().getRule();
+ }
+
+ //DurationObsExpression:
+ // "&" id=DurationObsName ("(" index=Expression ")")? ("when" "(" condition=Expression ")")?;
+ public VSLGrammarAccess.DurationObsExpressionElements getDurationObsExpressionAccess() {
+ return gaVSL.getDurationObsExpressionAccess();
+ }
+
+ public ParserRule getDurationObsExpressionRule() {
+ return getDurationObsExpressionAccess().getRule();
+ }
+
+ //DurationObsName:
+ // path=QualifiedName? durationId=[uml::DurationObservation];
+ public VSLGrammarAccess.DurationObsNameElements getDurationObsNameAccess() {
+ return gaVSL.getDurationObsNameAccess();
+ }
+
+ public ParserRule getDurationObsNameRule() {
+ return getDurationObsNameAccess().getRule();
+ }
+
+ //JitterExp:
+ // "jitter(" firstInstant=InstantObsExpression ("-" secondInstant=InstantObsExpression)? ")";
+ public VSLGrammarAccess.JitterExpElements getJitterExpAccess() {
+ return gaVSL.getJitterExpAccess();
+ }
+
+ public ParserRule getJitterExpRule() {
+ return getJitterExpAccess().getRule();
+ }
+
+ //VariableDeclaration:
+ // variableDeclaration=VariableDirectionKind? "$" name=ID (":" type=DataTypeName ("=" "(" initValue=Expression ")")? |
+ // "=" "(" initValue=Expression ")");
+ public VSLGrammarAccess.VariableDeclarationElements getVariableDeclarationAccess() {
+ return gaVSL.getVariableDeclarationAccess();
+ }
+
+ public ParserRule getVariableDeclarationRule() {
+ return getVariableDeclarationAccess().getRule();
+ }
+
+ //VariableDirectionKind returns ecore::EString:
+ // "in" | "out" | "inout";
+ public VSLGrammarAccess.VariableDirectionKindElements getVariableDirectionKindAccess() {
+ return gaVSL.getVariableDirectionKindAccess();
+ }
+
+ public ParserRule getVariableDirectionKindRule() {
+ return getVariableDirectionKindAccess().getRule();
+ }
+
+ //DataTypeName:
+ // path=QualifiedName? type=[uml::DataType];
+ public VSLGrammarAccess.DataTypeNameElements getDataTypeNameAccess() {
+ return gaVSL.getDataTypeNameAccess();
+ }
+
+ public ParserRule getDataTypeNameRule() {
+ return getDataTypeNameAccess().getRule();
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////
+ ////LITERAL
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////
+ //NumberLiteralRule:
+ // IntegerLiteralRule | UnlimitedLiteralRule | RealLiteralRule;
+ public VSLGrammarAccess.NumberLiteralRuleElements getNumberLiteralRuleAccess() {
+ return gaVSL.getNumberLiteralRuleAccess();
+ }
+
+ public ParserRule getNumberLiteralRuleRule() {
+ return getNumberLiteralRuleAccess().getRule();
+ }
+
+ //IntegerLiteralRule:
+ // value=IntegerLiteral;
+ public VSLGrammarAccess.IntegerLiteralRuleElements getIntegerLiteralRuleAccess() {
+ return gaVSL.getIntegerLiteralRuleAccess();
+ }
+
+ public ParserRule getIntegerLiteralRuleRule() {
+ return getIntegerLiteralRuleAccess().getRule();
+ }
+
+ //terminal IntegerLiteral:
+ // ("+" | "-")? ("0".."9"+ | "0x" ("0".."9" | "A".."F" | "a".."f")+ | "0b" "0".."1"+);
+ public TerminalRule getIntegerLiteralRule() {
+ return gaVSL.getIntegerLiteralRule();
+ }
+
+ ////UnlimitedLiteralRule :
+ //// value = UnlimitedLiteral ;
+ ////terminal UnlimitedLiteral :
+ //// '*' ;
+ //UnlimitedLiteralRule:
+ // value="*";
+ public VSLGrammarAccess.UnlimitedLiteralRuleElements getUnlimitedLiteralRuleAccess() {
+ return gaVSL.getUnlimitedLiteralRuleAccess();
+ }
+
+ public ParserRule getUnlimitedLiteralRuleRule() {
+ return getUnlimitedLiteralRuleAccess().getRule();
+ }
+
+ //RealLiteralRule:
+ // value=RealLiteral;
+ public VSLGrammarAccess.RealLiteralRuleElements getRealLiteralRuleAccess() {
+ return gaVSL.getRealLiteralRuleAccess();
+ }
+
+ public ParserRule getRealLiteralRuleRule() {
+ return getRealLiteralRuleAccess().getRule();
+ }
+
+ //terminal RealLiteral:
+ // ("+" | "-")? "0".."9"+ "." "0".."9"+ ("E" ("+" | "-")? "0".."9"+)?;
+ public TerminalRule getRealLiteralRule() {
+ return gaVSL.getRealLiteralRule();
+ }
+
+ ////DateTimeLiteral:
+ //// TimeString (DateString)? (DayString)? |
+ //// DateString (DayString)? |
+ //// DayString ;
+ ////terminal DateString :
+ //// ('0'..'9')('0'..'9')('0'..'9')('0'..'9')'/'('0'('0'..'9')|'1'('0'..'2'))'/'(('0'..'2')('0'..'9')|'3' ('0'|'1')) ;
+ ////terminal TimeString :
+ //// (('0'..'1')('0'..'9')|'2'('0'..'3'))':'('0'..'5')('0'..'9')(':'('0'..'5')('0'..'9')(':'('0'..'9')('0'..'9'))?)? ;
+ ////terminal DayString :
+ //// "Mon" | "Tue" | "Wed" | "Thr" | "Fri" | "Sat" | "Sun" ;
+ //DateTimeLiteralRule:
+ // value=DateTimeLiteral;
+ public VSLGrammarAccess.DateTimeLiteralRuleElements getDateTimeLiteralRuleAccess() {
+ return gaVSL.getDateTimeLiteralRuleAccess();
+ }
+
+ public ParserRule getDateTimeLiteralRuleRule() {
+ return getDateTimeLiteralRuleAccess().getRule();
+ }
+
+ //terminal DateTimeLiteral:
+ // (("0".."1" "0".."9" | "2" "0".."3") ":" "0".."5" "0".."9" (":" "0".."5" "0".."9" (":" "0".."9" "0".."9")?)?) (" "
+ // "0".."9" "0".."9" "0".."9" "0".."9" "/" ("0" "0".."9" | "1" "0".."2") "/" ("0".."2" "0".."9" | "3" ("0" | "1")))? (" "
+ // ("Mon" | "Tue" | "Wed" | "Thr" | "Fri" | "Sat" | "Sun"))? | ("0".."9" "0".."9" "0".."9" "0".."9" "/" ("0" "0".."9" |
+ // "1" "0".."2") "/" ("0".."2" "0".."9" | "3" ("0" | "1"))) (" " ("Mon" | "Tue" | "Wed" | "Thr" | "Fri" | "Sat" |
+ // "Sun"))? | ("Mon" | "Tue" | "Wed" | "Thr" | "Fri" | "Sat" | "Sun");
+ public TerminalRule getDateTimeLiteralRule() {
+ return gaVSL.getDateTimeLiteralRule();
+ }
+
+ //BooleanLiteralRule:
+ // value=BooleanLiteral;
+ public VSLGrammarAccess.BooleanLiteralRuleElements getBooleanLiteralRuleAccess() {
+ return gaVSL.getBooleanLiteralRuleAccess();
+ }
+
+ public ParserRule getBooleanLiteralRuleRule() {
+ return getBooleanLiteralRuleAccess().getRule();
+ }
+
+ //terminal BooleanLiteral:
+ // "true" | "false";
+ public TerminalRule getBooleanLiteralRule() {
+ return gaVSL.getBooleanLiteralRule();
+ }
+
+ //NullLiteralRule:
+ // value=NullLiteral;
+ public VSLGrammarAccess.NullLiteralRuleElements getNullLiteralRuleAccess() {
+ return gaVSL.getNullLiteralRuleAccess();
+ }
+
+ public ParserRule getNullLiteralRuleRule() {
+ return getNullLiteralRuleAccess().getRule();
+ }
+
+ //terminal NullLiteral:
+ // "null";
+ public TerminalRule getNullLiteralRule() {
+ return gaVSL.getNullLiteralRule();
+ }
+
+ ////DefaultLiteralRule :
+ //// value = DefaultLiteral ;
+ ////terminal DefaultLiteral :
+ //// '/' ;
+ //DefaultLiteralRule:
+ // value="/";
+ public VSLGrammarAccess.DefaultLiteralRuleElements getDefaultLiteralRuleAccess() {
+ return gaVSL.getDefaultLiteralRuleAccess();
+ }
+
+ public ParserRule getDefaultLiteralRuleRule() {
+ return getDefaultLiteralRuleAccess().getRule();
+ }
+
+ //StringLiteralRule:
+ // value=STRING;
+ public VSLGrammarAccess.StringLiteralRuleElements getStringLiteralRuleAccess() {
+ return gaVSL.getStringLiteralRuleAccess();
+ }
+
+ public ParserRule getStringLiteralRuleRule() {
+ return getStringLiteralRuleAccess().getRule();
+ }
+
+ //terminal ID:
+ // "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
+ public TerminalRule getIDRule() {
+ return gaVSL.getIDRule();
+ }
+
+ //terminal INT returns ecore::EInt:
+ // "0".."9"+;
+ public TerminalRule getINTRule() {
+ return gaVSL.getINTRule();
+ }
+
+ //terminal STRING:
+ // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" | "n" |
+ // "f" | "r" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
+ public TerminalRule getSTRINGRule() {
+ return gaVSL.getSTRINGRule();
+ }
+
+ //terminal ML_COMMENT:
+ // "/ *"->"* /";
+ public TerminalRule getML_COMMENTRule() {
+ return gaVSL.getML_COMMENTRule();
+ }
+
+ //terminal SL_COMMENT:
+ // "//" !("\n" | "\r")* ("\r"? "\n")?;
+ public TerminalRule getSL_COMMENTRule() {
+ return gaVSL.getSL_COMMENTRule();
+ }
+
+ //terminal WS:
+ // (" " | "\t" | "\r" | "\n")+;
+ public TerminalRule getWSRule() {
+ return gaVSL.getWSRule();
+ }
+
+ //terminal ANY_OTHER:
+ // .;
+ public TerminalRule getANY_OTHERRule() {
+ return gaVSL.getANY_OTHERRule();
+ }
+}
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/ExpressionValueRule.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/ExpressionValueRule.java
new file mode 100644
index 00000000000..22f2e6a1087
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/ExpressionValueRule.java
@@ -0,0 +1,85 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.marte.vsl.vSL.Expression;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expression Value Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getExpressionValueRule()
+ * @model
+ * @generated
+ */
+public interface ExpressionValueRule extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</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>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getExpressionValueRule_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;'"
+ * @generated
+ */
+ Type getExpectedType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;'"
+ * @generated
+ */
+ Element getContextElement();
+
+} // ExpressionValueRule
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationRule.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationRule.java
new file mode 100644
index 00000000000..71660ad7220
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationRule.java
@@ -0,0 +1,103 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stereotype Application Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule#getStereotype <em>Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule#getTagSpecification <em>Tag Specification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getStereotypeApplicationRule()
+ * @model
+ * @generated
+ */
+public interface StereotypeApplicationRule extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Stereotype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stereotype</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Stereotype</em>' reference.
+ * @see #setStereotype(Stereotype)
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getStereotypeApplicationRule_Stereotype()
+ * @model
+ * @generated
+ */
+ Stereotype getStereotype();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule#getStereotype <em>Stereotype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Stereotype</em>' reference.
+ * @see #getStereotype()
+ * @generated
+ */
+ void setStereotype(Stereotype value);
+
+ /**
+ * Returns the value of the '<em><b>Tag Specification</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tag Specification</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>Tag Specification</em>' containment reference list.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getStereotypeApplicationRule_TagSpecification()
+ * @model containment="true"
+ * @generated
+ */
+ EList<TagSpecificationRule> getTagSpecification();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;'"
+ * @generated
+ */
+ Type getExpectedType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;'"
+ * @generated
+ */
+ Element getContextElement();
+
+} // StereotypeApplicationRule
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationWithVSLFactory.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationWithVSLFactory.java
new file mode 100644
index 00000000000..48cd000c1ff
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationWithVSLFactory.java
@@ -0,0 +1,81 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL;
+
+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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage
+ * @generated
+ */
+public interface StereotypeApplicationWithVSLFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ StereotypeApplicationWithVSLFactory eINSTANCE = org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Stereotype Applications Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Stereotype Applications Rule</em>'.
+ * @generated
+ */
+ StereotypeApplicationsRule createStereotypeApplicationsRule();
+
+ /**
+ * Returns a new object of class '<em>Stereotype Application Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Stereotype Application Rule</em>'.
+ * @generated
+ */
+ StereotypeApplicationRule createStereotypeApplicationRule();
+
+ /**
+ * Returns a new object of class '<em>Tag Specification Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tag Specification Rule</em>'.
+ * @generated
+ */
+ TagSpecificationRule createTagSpecificationRule();
+
+ /**
+ * Returns a new object of class '<em>Expression Value Rule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Expression Value Rule</em>'.
+ * @generated
+ */
+ ExpressionValueRule createExpressionValueRule();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ StereotypeApplicationWithVSLPackage getStereotypeApplicationWithVSLPackage();
+
+} //StereotypeApplicationWithVSLFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationWithVSLPackage.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationWithVSLPackage.java
new file mode 100644
index 00000000000..b7b6c6b1a63
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationWithVSLPackage.java
@@ -0,0 +1,419 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface StereotypeApplicationWithVSLPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "stereotypeApplicationWithVSL";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "stereotypeApplicationWithVSL";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ StereotypeApplicationWithVSLPackage eINSTANCE = org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationsRuleImpl <em>Stereotype Applications Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationsRuleImpl
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLPackageImpl#getStereotypeApplicationsRule()
+ * @generated
+ */
+ int STEREOTYPE_APPLICATIONS_RULE = 0;
+
+ /**
+ * The feature id for the '<em><b>Stereotype Applications</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_APPLICATIONS_RULE__STEREOTYPE_APPLICATIONS = 0;
+
+ /**
+ * The number of structural features of the '<em>Stereotype Applications Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_APPLICATIONS_RULE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationRuleImpl <em>Stereotype Application Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationRuleImpl
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLPackageImpl#getStereotypeApplicationRule()
+ * @generated
+ */
+ int STEREOTYPE_APPLICATION_RULE = 1;
+
+ /**
+ * The feature id for the '<em><b>Stereotype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_APPLICATION_RULE__STEREOTYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Tag Specification</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_APPLICATION_RULE__TAG_SPECIFICATION = 1;
+
+ /**
+ * The number of structural features of the '<em>Stereotype Application Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_APPLICATION_RULE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.TagSpecificationRuleImpl <em>Tag Specification Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.TagSpecificationRuleImpl
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLPackageImpl#getTagSpecificationRule()
+ * @generated
+ */
+ int TAG_SPECIFICATION_RULE = 2;
+
+ /**
+ * The feature id for the '<em><b>Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAG_SPECIFICATION_RULE__PROPERTY = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAG_SPECIFICATION_RULE__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Tag Specification Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAG_SPECIFICATION_RULE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.ExpressionValueRuleImpl <em>Expression Value Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.ExpressionValueRuleImpl
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLPackageImpl#getExpressionValueRule()
+ * @generated
+ */
+ int EXPRESSION_VALUE_RULE = 3;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_VALUE_RULE__EXPRESSION = 0;
+
+ /**
+ * The number of structural features of the '<em>Expression Value Rule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_VALUE_RULE_FEATURE_COUNT = 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationsRule <em>Stereotype Applications Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stereotype Applications Rule</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationsRule
+ * @generated
+ */
+ EClass getStereotypeApplicationsRule();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationsRule#getStereotypeApplications <em>Stereotype Applications</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Stereotype Applications</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationsRule#getStereotypeApplications()
+ * @see #getStereotypeApplicationsRule()
+ * @generated
+ */
+ EReference getStereotypeApplicationsRule_StereotypeApplications();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule <em>Stereotype Application Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stereotype Application Rule</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule
+ * @generated
+ */
+ EClass getStereotypeApplicationRule();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule#getStereotype <em>Stereotype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Stereotype</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule#getStereotype()
+ * @see #getStereotypeApplicationRule()
+ * @generated
+ */
+ EReference getStereotypeApplicationRule_Stereotype();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule#getTagSpecification <em>Tag Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Tag Specification</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule#getTagSpecification()
+ * @see #getStereotypeApplicationRule()
+ * @generated
+ */
+ EReference getStereotypeApplicationRule_TagSpecification();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule <em>Tag Specification Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tag Specification Rule</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule
+ * @generated
+ */
+ EClass getTagSpecificationRule();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule#getProperty <em>Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Property</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule#getProperty()
+ * @see #getTagSpecificationRule()
+ * @generated
+ */
+ EReference getTagSpecificationRule_Property();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Value</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule#getValue()
+ * @see #getTagSpecificationRule()
+ * @generated
+ */
+ EReference getTagSpecificationRule_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule <em>Expression Value Rule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Expression Value Rule</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule
+ * @generated
+ */
+ EClass getExpressionValueRule();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule#getExpression()
+ * @see #getExpressionValueRule()
+ * @generated
+ */
+ EReference getExpressionValueRule_Expression();
+
+ /**
+ * 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
+ */
+ StereotypeApplicationWithVSLFactory getStereotypeApplicationWithVSLFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationsRuleImpl <em>Stereotype Applications Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationsRuleImpl
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLPackageImpl#getStereotypeApplicationsRule()
+ * @generated
+ */
+ EClass STEREOTYPE_APPLICATIONS_RULE = eINSTANCE.getStereotypeApplicationsRule();
+
+ /**
+ * The meta object literal for the '<em><b>Stereotype Applications</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STEREOTYPE_APPLICATIONS_RULE__STEREOTYPE_APPLICATIONS = eINSTANCE.getStereotypeApplicationsRule_StereotypeApplications();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationRuleImpl <em>Stereotype Application Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationRuleImpl
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLPackageImpl#getStereotypeApplicationRule()
+ * @generated
+ */
+ EClass STEREOTYPE_APPLICATION_RULE = eINSTANCE.getStereotypeApplicationRule();
+
+ /**
+ * The meta object literal for the '<em><b>Stereotype</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STEREOTYPE_APPLICATION_RULE__STEREOTYPE = eINSTANCE.getStereotypeApplicationRule_Stereotype();
+
+ /**
+ * The meta object literal for the '<em><b>Tag Specification</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STEREOTYPE_APPLICATION_RULE__TAG_SPECIFICATION = eINSTANCE.getStereotypeApplicationRule_TagSpecification();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.TagSpecificationRuleImpl <em>Tag Specification Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.TagSpecificationRuleImpl
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLPackageImpl#getTagSpecificationRule()
+ * @generated
+ */
+ EClass TAG_SPECIFICATION_RULE = eINSTANCE.getTagSpecificationRule();
+
+ /**
+ * The meta object literal for the '<em><b>Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TAG_SPECIFICATION_RULE__PROPERTY = eINSTANCE.getTagSpecificationRule_Property();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TAG_SPECIFICATION_RULE__VALUE = eINSTANCE.getTagSpecificationRule_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.ExpressionValueRuleImpl <em>Expression Value Rule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.ExpressionValueRuleImpl
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationWithVSLPackageImpl#getExpressionValueRule()
+ * @generated
+ */
+ EClass EXPRESSION_VALUE_RULE = eINSTANCE.getExpressionValueRule();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPRESSION_VALUE_RULE__EXPRESSION = eINSTANCE.getExpressionValueRule_Expression();
+
+ }
+
+} //StereotypeApplicationWithVSLPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationsRule.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationsRule.java
new file mode 100644
index 00000000000..0a4739c99fb
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/StereotypeApplicationsRule.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stereotype Applications Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationsRule#getStereotypeApplications <em>Stereotype Applications</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getStereotypeApplicationsRule()
+ * @model
+ * @generated
+ */
+public interface StereotypeApplicationsRule extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Stereotype Applications</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stereotype Applications</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>Stereotype Applications</em>' containment reference list.
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getStereotypeApplicationsRule_StereotypeApplications()
+ * @model containment="true"
+ * @generated
+ */
+ EList<StereotypeApplicationRule> getStereotypeApplications();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;'"
+ * @generated
+ */
+ Type getExpectedType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;'"
+ * @generated
+ */
+ Element getContextElement();
+
+} // StereotypeApplicationsRule
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/TagSpecificationRule.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/TagSpecificationRule.java
new file mode 100644
index 00000000000..97ff67b5ced
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/TagSpecificationRule.java
@@ -0,0 +1,111 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tag Specification Rule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule#getProperty <em>Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getTagSpecificationRule()
+ * @model
+ * @generated
+ */
+public interface TagSpecificationRule extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property</em>' reference.
+ * @see #setProperty(Property)
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getTagSpecificationRule_Property()
+ * @model
+ * @generated
+ */
+ Property getProperty();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule#getProperty <em>Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property</em>' reference.
+ * @see #getProperty()
+ * @generated
+ */
+ void setProperty(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</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>Value</em>' containment reference.
+ * @see #setValue(ExpressionValueRule)
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#getTagSpecificationRule_Value()
+ * @model containment="true"
+ * @generated
+ */
+ ExpressionValueRule getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule#getValue <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' containment reference.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(ExpressionValueRule value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;'"
+ * @generated
+ */
+ Type getExpectedType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;'"
+ * @generated
+ */
+ Element getContextElement();
+
+} // TagSpecificationRule
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/ExpressionValueRuleImpl.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/ExpressionValueRuleImpl.java
new file mode 100644
index 00000000000..6b624528576
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/ExpressionValueRuleImpl.java
@@ -0,0 +1,229 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.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.papyrus.marte.vsl.vSL.Expression;
+
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expression Value Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.ExpressionValueRuleImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExpressionValueRuleImpl extends MinimalEObjectImpl.Container implements ExpressionValueRule
+{
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionValueRuleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return StereotypeApplicationWithVSLPackage.Literals.EXPRESSION_VALUE_RULE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs)
+ {
+ Expression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(Expression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getExpectedType()
+ {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getContextElement()
+ {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE__EXPRESSION:
+ return basicSetExpression(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 StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE__EXPRESSION:
+ return getExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE__EXPRESSION:
+ setExpression((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE__EXPRESSION:
+ setExpression((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE__EXPRESSION:
+ return expression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExpressionValueRuleImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationRuleImpl.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationRuleImpl.java
new file mode 100644
index 00000000000..c802d6d29bd
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationRuleImpl.java
@@ -0,0 +1,269 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stereotype Application Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationRuleImpl#getStereotype <em>Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationRuleImpl#getTagSpecification <em>Tag Specification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StereotypeApplicationRuleImpl extends MinimalEObjectImpl.Container implements StereotypeApplicationRule
+{
+ /**
+ * The cached value of the '{@link #getStereotype() <em>Stereotype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStereotype()
+ * @generated
+ * @ordered
+ */
+ protected Stereotype stereotype;
+
+ /**
+ * The cached value of the '{@link #getTagSpecification() <em>Tag Specification</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTagSpecification()
+ * @generated
+ * @ordered
+ */
+ protected EList<TagSpecificationRule> tagSpecification;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypeApplicationRuleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return StereotypeApplicationWithVSLPackage.Literals.STEREOTYPE_APPLICATION_RULE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getStereotype()
+ {
+ if (stereotype != null && stereotype.eIsProxy())
+ {
+ InternalEObject oldStereotype = (InternalEObject)stereotype;
+ stereotype = (Stereotype)eResolveProxy(oldStereotype);
+ if (stereotype != oldStereotype)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__STEREOTYPE, oldStereotype, stereotype));
+ }
+ }
+ return stereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype basicGetStereotype()
+ {
+ return stereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStereotype(Stereotype newStereotype)
+ {
+ Stereotype oldStereotype = stereotype;
+ stereotype = newStereotype;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__STEREOTYPE, oldStereotype, stereotype));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TagSpecificationRule> getTagSpecification()
+ {
+ if (tagSpecification == null)
+ {
+ tagSpecification = new EObjectContainmentEList<TagSpecificationRule>(TagSpecificationRule.class, this, StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__TAG_SPECIFICATION);
+ }
+ return tagSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getExpectedType()
+ {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getContextElement()
+ {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__TAG_SPECIFICATION:
+ return ((InternalEList<?>)getTagSpecification()).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 StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__STEREOTYPE:
+ if (resolve) return getStereotype();
+ return basicGetStereotype();
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__TAG_SPECIFICATION:
+ return getTagSpecification();
+ }
+ 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 StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__STEREOTYPE:
+ setStereotype((Stereotype)newValue);
+ return;
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__TAG_SPECIFICATION:
+ getTagSpecification().clear();
+ getTagSpecification().addAll((Collection<? extends TagSpecificationRule>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__STEREOTYPE:
+ setStereotype((Stereotype)null);
+ return;
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__TAG_SPECIFICATION:
+ getTagSpecification().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__STEREOTYPE:
+ return stereotype != null;
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE__TAG_SPECIFICATION:
+ return tagSpecification != null && !tagSpecification.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StereotypeApplicationRuleImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationWithVSLFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationWithVSLFactoryImpl.java
new file mode 100644
index 00000000000..9872a2049e5
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationWithVSLFactoryImpl.java
@@ -0,0 +1,153 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypeApplicationWithVSLFactoryImpl extends EFactoryImpl implements StereotypeApplicationWithVSLFactory
+{
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static StereotypeApplicationWithVSLFactory init()
+ {
+ try
+ {
+ StereotypeApplicationWithVSLFactory theStereotypeApplicationWithVSLFactory = (StereotypeApplicationWithVSLFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/stereotypeapplicationwithvsl/editor/xtext/StereotypeApplicationWithVSL");
+ if (theStereotypeApplicationWithVSLFactory != null)
+ {
+ return theStereotypeApplicationWithVSLFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new StereotypeApplicationWithVSLFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeApplicationWithVSLFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATIONS_RULE: return createStereotypeApplicationsRule();
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE: return createStereotypeApplicationRule();
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE: return createTagSpecificationRule();
+ case StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE: return createExpressionValueRule();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeApplicationsRule createStereotypeApplicationsRule()
+ {
+ StereotypeApplicationsRuleImpl stereotypeApplicationsRule = new StereotypeApplicationsRuleImpl();
+ return stereotypeApplicationsRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeApplicationRule createStereotypeApplicationRule()
+ {
+ StereotypeApplicationRuleImpl stereotypeApplicationRule = new StereotypeApplicationRuleImpl();
+ return stereotypeApplicationRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TagSpecificationRule createTagSpecificationRule()
+ {
+ TagSpecificationRuleImpl tagSpecificationRule = new TagSpecificationRuleImpl();
+ return tagSpecificationRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionValueRule createExpressionValueRule()
+ {
+ ExpressionValueRuleImpl expressionValueRule = new ExpressionValueRuleImpl();
+ return expressionValueRule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeApplicationWithVSLPackage getStereotypeApplicationWithVSLPackage()
+ {
+ return (StereotypeApplicationWithVSLPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static StereotypeApplicationWithVSLPackage getPackage()
+ {
+ return StereotypeApplicationWithVSLPackage.eINSTANCE;
+ }
+
+} //StereotypeApplicationWithVSLFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationWithVSLPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationWithVSLPackageImpl.java
new file mode 100644
index 00000000000..d18dedda6f6
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationWithVSLPackageImpl.java
@@ -0,0 +1,349 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.marte.vsl.vSL.VSLPackage;
+
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLFactory;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationsRule;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypeApplicationWithVSLPackageImpl extends EPackageImpl implements StereotypeApplicationWithVSLPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stereotypeApplicationsRuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stereotypeApplicationRuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass tagSpecificationRuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass expressionValueRuleEClass = 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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private StereotypeApplicationWithVSLPackageImpl()
+ {
+ super(eNS_URI, StereotypeApplicationWithVSLFactory.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 StereotypeApplicationWithVSLPackage#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 StereotypeApplicationWithVSLPackage init()
+ {
+ if (isInited) return (StereotypeApplicationWithVSLPackage)EPackage.Registry.INSTANCE.getEPackage(StereotypeApplicationWithVSLPackage.eNS_URI);
+
+ // Obtain or create and register package
+ StereotypeApplicationWithVSLPackageImpl theStereotypeApplicationWithVSLPackage = (StereotypeApplicationWithVSLPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StereotypeApplicationWithVSLPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StereotypeApplicationWithVSLPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ VSLPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theStereotypeApplicationWithVSLPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theStereotypeApplicationWithVSLPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theStereotypeApplicationWithVSLPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(StereotypeApplicationWithVSLPackage.eNS_URI, theStereotypeApplicationWithVSLPackage);
+ return theStereotypeApplicationWithVSLPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStereotypeApplicationsRule()
+ {
+ return stereotypeApplicationsRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStereotypeApplicationsRule_StereotypeApplications()
+ {
+ return (EReference)stereotypeApplicationsRuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStereotypeApplicationRule()
+ {
+ return stereotypeApplicationRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStereotypeApplicationRule_Stereotype()
+ {
+ return (EReference)stereotypeApplicationRuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStereotypeApplicationRule_TagSpecification()
+ {
+ return (EReference)stereotypeApplicationRuleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTagSpecificationRule()
+ {
+ return tagSpecificationRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTagSpecificationRule_Property()
+ {
+ return (EReference)tagSpecificationRuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTagSpecificationRule_Value()
+ {
+ return (EReference)tagSpecificationRuleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExpressionValueRule()
+ {
+ return expressionValueRuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpressionValueRule_Expression()
+ {
+ return (EReference)expressionValueRuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeApplicationWithVSLFactory getStereotypeApplicationWithVSLFactory()
+ {
+ return (StereotypeApplicationWithVSLFactory)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
+ stereotypeApplicationsRuleEClass = createEClass(STEREOTYPE_APPLICATIONS_RULE);
+ createEReference(stereotypeApplicationsRuleEClass, STEREOTYPE_APPLICATIONS_RULE__STEREOTYPE_APPLICATIONS);
+
+ stereotypeApplicationRuleEClass = createEClass(STEREOTYPE_APPLICATION_RULE);
+ createEReference(stereotypeApplicationRuleEClass, STEREOTYPE_APPLICATION_RULE__STEREOTYPE);
+ createEReference(stereotypeApplicationRuleEClass, STEREOTYPE_APPLICATION_RULE__TAG_SPECIFICATION);
+
+ tagSpecificationRuleEClass = createEClass(TAG_SPECIFICATION_RULE);
+ createEReference(tagSpecificationRuleEClass, TAG_SPECIFICATION_RULE__PROPERTY);
+ createEReference(tagSpecificationRuleEClass, TAG_SPECIFICATION_RULE__VALUE);
+
+ expressionValueRuleEClass = createEClass(EXPRESSION_VALUE_RULE);
+ createEReference(expressionValueRuleEClass, EXPRESSION_VALUE_RULE__EXPRESSION);
+ }
+
+ /**
+ * <!-- 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
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ VSLPackage theVSLPackage = (VSLPackage)EPackage.Registry.INSTANCE.getEPackage(VSLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(stereotypeApplicationsRuleEClass, StereotypeApplicationsRule.class, "StereotypeApplicationsRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStereotypeApplicationsRule_StereotypeApplications(), this.getStereotypeApplicationRule(), null, "stereotypeApplications", null, 0, -1, StereotypeApplicationsRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(stereotypeApplicationsRuleEClass, theUMLPackage.getType(), "getExpectedType", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(stereotypeApplicationsRuleEClass, theUMLPackage.getElement(), "getContextElement", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(stereotypeApplicationRuleEClass, StereotypeApplicationRule.class, "StereotypeApplicationRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStereotypeApplicationRule_Stereotype(), theUMLPackage.getStereotype(), null, "stereotype", null, 0, 1, StereotypeApplicationRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStereotypeApplicationRule_TagSpecification(), this.getTagSpecificationRule(), null, "tagSpecification", null, 0, -1, StereotypeApplicationRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(stereotypeApplicationRuleEClass, theUMLPackage.getType(), "getExpectedType", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(stereotypeApplicationRuleEClass, theUMLPackage.getElement(), "getContextElement", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(tagSpecificationRuleEClass, TagSpecificationRule.class, "TagSpecificationRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTagSpecificationRule_Property(), theUMLPackage.getProperty(), null, "property", null, 0, 1, TagSpecificationRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTagSpecificationRule_Value(), this.getExpressionValueRule(), null, "value", null, 0, 1, TagSpecificationRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(tagSpecificationRuleEClass, theUMLPackage.getType(), "getExpectedType", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(tagSpecificationRuleEClass, theUMLPackage.getElement(), "getContextElement", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(expressionValueRuleEClass, ExpressionValueRule.class, "ExpressionValueRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExpressionValueRule_Expression(), theVSLPackage.getExpression(), null, "expression", null, 0, 1, ExpressionValueRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(expressionValueRuleEClass, theUMLPackage.getType(), "getExpectedType", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(expressionValueRuleEClass, theUMLPackage.getElement(), "getContextElement", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //StereotypeApplicationWithVSLPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationsRuleImpl.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationsRuleImpl.java
new file mode 100644
index 00000000000..c200fd1f6cb
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/StereotypeApplicationsRuleImpl.java
@@ -0,0 +1,201 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationsRule;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stereotype Applications Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.StereotypeApplicationsRuleImpl#getStereotypeApplications <em>Stereotype Applications</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StereotypeApplicationsRuleImpl extends MinimalEObjectImpl.Container implements StereotypeApplicationsRule
+{
+ /**
+ * The cached value of the '{@link #getStereotypeApplications() <em>Stereotype Applications</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStereotypeApplications()
+ * @generated
+ * @ordered
+ */
+ protected EList<StereotypeApplicationRule> stereotypeApplications;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypeApplicationsRuleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return StereotypeApplicationWithVSLPackage.Literals.STEREOTYPE_APPLICATIONS_RULE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<StereotypeApplicationRule> getStereotypeApplications()
+ {
+ if (stereotypeApplications == null)
+ {
+ stereotypeApplications = new EObjectContainmentEList<StereotypeApplicationRule>(StereotypeApplicationRule.class, this, StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATIONS_RULE__STEREOTYPE_APPLICATIONS);
+ }
+ return stereotypeApplications;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getExpectedType()
+ {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getContextElement()
+ {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATIONS_RULE__STEREOTYPE_APPLICATIONS:
+ return ((InternalEList<?>)getStereotypeApplications()).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 StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATIONS_RULE__STEREOTYPE_APPLICATIONS:
+ return getStereotypeApplications();
+ }
+ 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 StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATIONS_RULE__STEREOTYPE_APPLICATIONS:
+ getStereotypeApplications().clear();
+ getStereotypeApplications().addAll((Collection<? extends StereotypeApplicationRule>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATIONS_RULE__STEREOTYPE_APPLICATIONS:
+ getStereotypeApplications().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATIONS_RULE__STEREOTYPE_APPLICATIONS:
+ return stereotypeApplications != null && !stereotypeApplications.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StereotypeApplicationsRuleImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/TagSpecificationRuleImpl.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/TagSpecificationRuleImpl.java
new file mode 100644
index 00000000000..5ed4121e5aa
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/impl/TagSpecificationRuleImpl.java
@@ -0,0 +1,294 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage;
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tag Specification Rule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.TagSpecificationRuleImpl#getProperty <em>Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.impl.TagSpecificationRuleImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TagSpecificationRuleImpl extends MinimalEObjectImpl.Container implements TagSpecificationRule
+{
+ /**
+ * The cached value of the '{@link #getProperty() <em>Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperty()
+ * @generated
+ * @ordered
+ */
+ protected Property property;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected ExpressionValueRule value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TagSpecificationRuleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return StereotypeApplicationWithVSLPackage.Literals.TAG_SPECIFICATION_RULE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getProperty()
+ {
+ if (property != null && property.eIsProxy())
+ {
+ InternalEObject oldProperty = (InternalEObject)property;
+ property = (Property)eResolveProxy(oldProperty);
+ if (property != oldProperty)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__PROPERTY, oldProperty, property));
+ }
+ }
+ return property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetProperty()
+ {
+ return property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProperty(Property newProperty)
+ {
+ Property oldProperty = property;
+ property = newProperty;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__PROPERTY, oldProperty, property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionValueRule getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValue(ExpressionValueRule newValue, NotificationChain msgs)
+ {
+ ExpressionValueRule oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__VALUE, oldValue, newValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(ExpressionValueRule newValue)
+ {
+ if (newValue != value)
+ {
+ NotificationChain msgs = null;
+ if (value != null)
+ msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__VALUE, null, msgs);
+ if (newValue != null)
+ msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__VALUE, null, msgs);
+ msgs = basicSetValue(newValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__VALUE, newValue, newValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type getExpectedType()
+ {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getExpectedType(this) ;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getContextElement()
+ {
+ return org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation.ContextUtil.getContextElement(this) ;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__VALUE:
+ return basicSetValue(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 StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__PROPERTY:
+ if (resolve) return getProperty();
+ return basicGetProperty();
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__PROPERTY:
+ setProperty((Property)newValue);
+ return;
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__VALUE:
+ setValue((ExpressionValueRule)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__PROPERTY:
+ setProperty((Property)null);
+ return;
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__VALUE:
+ setValue((ExpressionValueRule)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__PROPERTY:
+ return property != null;
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE__VALUE:
+ return value != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TagSpecificationRuleImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLAdapterFactory.java
new file mode 100644
index 00000000000..d87a553be81
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLAdapterFactory.java
@@ -0,0 +1,203 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.*;
+
+/**
+ * <!-- 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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage
+ * @generated
+ */
+public class StereotypeApplicationWithVSLAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static StereotypeApplicationWithVSLPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeApplicationWithVSLAdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = StereotypeApplicationWithVSLPackage.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 StereotypeApplicationWithVSLSwitch<Adapter> modelSwitch =
+ new StereotypeApplicationWithVSLSwitch<Adapter>()
+ {
+ @Override
+ public Adapter caseStereotypeApplicationsRule(StereotypeApplicationsRule object)
+ {
+ return createStereotypeApplicationsRuleAdapter();
+ }
+ @Override
+ public Adapter caseStereotypeApplicationRule(StereotypeApplicationRule object)
+ {
+ return createStereotypeApplicationRuleAdapter();
+ }
+ @Override
+ public Adapter caseTagSpecificationRule(TagSpecificationRule object)
+ {
+ return createTagSpecificationRuleAdapter();
+ }
+ @Override
+ public Adapter caseExpressionValueRule(ExpressionValueRule object)
+ {
+ return createExpressionValueRuleAdapter();
+ }
+ @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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationsRule <em>Stereotype Applications Rule</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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationsRule
+ * @generated
+ */
+ public Adapter createStereotypeApplicationsRuleAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule <em>Stereotype Application Rule</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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationRule
+ * @generated
+ */
+ public Adapter createStereotypeApplicationRuleAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule <em>Tag Specification Rule</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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.TagSpecificationRule
+ * @generated
+ */
+ public Adapter createTagSpecificationRuleAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule <em>Expression Value Rule</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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.ExpressionValueRule
+ * @generated
+ */
+ public Adapter createExpressionValueRuleAdapter()
+ {
+ 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;
+ }
+
+} //StereotypeApplicationWithVSLAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLResourceFactoryImpl.java
new file mode 100644
index 00000000000..cc21f89cd44
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLResourceFactoryImpl.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.util.StereotypeApplicationWithVSLResourceImpl
+ * @generated
+ */
+public class StereotypeApplicationWithVSLResourceFactoryImpl extends ResourceFactoryImpl
+{
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeApplicationWithVSLResourceFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri)
+ {
+ XMLResource result = new StereotypeApplicationWithVSLResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //StereotypeApplicationWithVSLResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLResourceImpl.java
new file mode 100644
index 00000000000..3bbf90587d3
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.util.StereotypeApplicationWithVSLResourceFactoryImpl
+ * @generated
+ */
+public class StereotypeApplicationWithVSLResourceImpl extends XMLResourceImpl
+{
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public StereotypeApplicationWithVSLResourceImpl(URI uri)
+ {
+ super(uri);
+ }
+
+} //StereotypeApplicationWithVSLResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLSwitch.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLSwitch.java
new file mode 100644
index 00000000000..736dfb38898
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLSwitch.java
@@ -0,0 +1,218 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.*;
+
+/**
+ * <!-- 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.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage
+ * @generated
+ */
+public class StereotypeApplicationWithVSLSwitch<T>
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static StereotypeApplicationWithVSLPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeApplicationWithVSLSwitch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = StereotypeApplicationWithVSLPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject)
+ {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject)
+ {
+ if (theEClass.eContainer() == modelPackage)
+ {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else
+ {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATIONS_RULE:
+ {
+ StereotypeApplicationsRule stereotypeApplicationsRule = (StereotypeApplicationsRule)theEObject;
+ T result = caseStereotypeApplicationsRule(stereotypeApplicationsRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StereotypeApplicationWithVSLPackage.STEREOTYPE_APPLICATION_RULE:
+ {
+ StereotypeApplicationRule stereotypeApplicationRule = (StereotypeApplicationRule)theEObject;
+ T result = caseStereotypeApplicationRule(stereotypeApplicationRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StereotypeApplicationWithVSLPackage.TAG_SPECIFICATION_RULE:
+ {
+ TagSpecificationRule tagSpecificationRule = (TagSpecificationRule)theEObject;
+ T result = caseTagSpecificationRule(tagSpecificationRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case StereotypeApplicationWithVSLPackage.EXPRESSION_VALUE_RULE:
+ {
+ ExpressionValueRule expressionValueRule = (ExpressionValueRule)theEObject;
+ T result = caseExpressionValueRule(expressionValueRule);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stereotype Applications Rule</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>Stereotype Applications Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStereotypeApplicationsRule(StereotypeApplicationsRule object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stereotype Application Rule</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>Stereotype Application Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStereotypeApplicationRule(StereotypeApplicationRule object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tag Specification Rule</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>Tag Specification Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTagSpecificationRule(TagSpecificationRule object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Expression Value Rule</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>Expression Value Rule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExpressionValueRule(ExpressionValueRule 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
+ */
+ public T defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} //StereotypeApplicationWithVSLSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLXMLProcessor.java
new file mode 100644
index 00000000000..2c6546da12d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/stereotypeApplicationWithVSL/util/StereotypeApplicationWithVSLXMLProcessor.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StereotypeApplicationWithVSLXMLProcessor extends XMLProcessor
+{
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StereotypeApplicationWithVSLXMLProcessor()
+ {
+ super((EPackage.Registry.INSTANCE));
+ StereotypeApplicationWithVSLPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the StereotypeApplicationWithVSLResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations()
+ {
+ if (registrations == null)
+ {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new StereotypeApplicationWithVSLResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new StereotypeApplicationWithVSLResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //StereotypeApplicationWithVSLXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/validation/AbstractStereotypeApplicationWithVSLJavaValidator.java b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/validation/AbstractStereotypeApplicationWithVSLJavaValidator.java
new file mode 100644
index 00000000000..3f848469669
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor/xtext/validation/AbstractStereotypeApplicationWithVSLJavaValidator.java
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
+import org.eclipse.xtext.validation.ComposedChecks;
+
+@ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class, org.eclipse.xtext.validation.NamesAreUniqueValidator.class})
+public class AbstractStereotypeApplicationWithVSLJavaValidator extends AbstractDeclarativeValidator {
+
+@Override
+ protected List<EPackage> getEPackages() {
+ List<EPackage> result = new ArrayList<EPackage>();
+ result.add(org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext.stereotypeApplicationWithVSL.StereotypeApplicationWithVSLPackage.eINSTANCE);
+ return result;
+ }
+
+}

Back to the top