diff options
Diffstat (limited to 'extraplugins/marte/org.eclipse.papyrus.stereotypeapplicationwithvsl.editor.xtext/src-gen/org/eclipse/papyrus/stereotypeapplicationwithvsl/editor')
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="<<"/>
+ <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="<>"/>
+ </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="<"/>
+ <elements xsi:type="xtext:Keyword" value=">"/>
+ <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.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="&"/>
+ <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="""/>
+ <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="""/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="""/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="""/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="""/>
+ <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="
"/>
+ <elements xsi:type="xtext:Keyword" value="
"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="
"/>
+ <elements xsi:type="xtext:Keyword" value="
"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="WS">
+ <type metamodel="/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="	"/>
+ <elements xsi:type="xtext:Keyword" value="
"/>
+ <elements xsi:type="xtext:Keyword" value="
"/>
+ </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; + } + +} |