diff --git a/org.xtext.example.mydsl.sdk/.project b/org.xtext.example.mydsl.sdk/.project
deleted file mode 100644
index 0bb367ba12004253122ea27662c17ee66c97ca3f..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.sdk/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.xtext.example.mydsl.sdk</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.xtext.example.mydsl.sdk/build.properties b/org.xtext.example.mydsl.sdk/build.properties
deleted file mode 100644
index 43c54c1435ee5e276c270e1d2c0661bc55456409..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.sdk/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes =feature.xml
diff --git a/org.xtext.example.mydsl.sdk/feature.xml b/org.xtext.example.mydsl.sdk/feature.xml
deleted file mode 100644
index bf50e62cf40dbe0c0eaee8e24048d6f50d7de7e4..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.sdk/feature.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.xtext.example.mydsl.sdk"
-	label="MyDsl SDK Feature "
-	version="1.0.0.qualifier">
-	<plugin
-			id="org.xtext.example.mydsl"
-			download-size="0"
-			install-size="0"
-			version="0.0.0"
-			unpack="false"/>
-	<plugin
-			id="org.xtext.example.mydsl.ui"
-			download-size="0"
-			install-size="0"
-			version="0.0.0"
-			unpack="false"/>
-</feature>
diff --git a/org.xtext.example.mydsl.tests/.classpath b/org.xtext.example.mydsl.tests/.classpath
deleted file mode 100644
index e5fbd3dd27a3e2272ac7e61c9bea0a3249387ca8..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.tests/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.xtext.example.mydsl.tests/.project b/org.xtext.example.mydsl.tests/.project
deleted file mode 100644
index 0324e1b240d53e7a8737cbeb298f809f5830e143..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.xtext.example.mydsl.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.xtext.example.mydsl.tests/META-INF/MANIFEST.MF b/org.xtext.example.mydsl.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 0528d331a72a4e3fcee27f796cbdfdc789d4e086..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.xtext.example.mydsl.tests
-Bundle-Vendor: My Company
-Bundle-Version: 1.0.0.qualifier
-Bundle-SymbolicName: org.xtext.example.mydsl.tests; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.xtext.example.mydsl,
- org.xtext.example.mydsl.ui,
- org.eclipse.core.runtime,
- org.eclipse.xtext.junit4,
- org.eclipse.ui.workbench;resolution:=optional
-Import-Package: org.apache.log4j,
- org.junit;version="4.5.0",
- org.junit.runner;version="4.5.0",
- org.junit.runner.manipulation;version="4.5.0",
- org.junit.runner.notification;version="4.5.0",
- org.junit.runners;version="4.5.0",
- org.junit.runners.model;version="4.5.0",
- org.hamcrest.core
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.xtext.example.mydsl
diff --git a/org.xtext.example.mydsl.tests/build.properties b/org.xtext.example.mydsl.tests/build.properties
deleted file mode 100644
index e10dcceb6a3b0a473cf9e86fb9c6047abb97541d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.tests/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/,\
-          src-gen/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
\ No newline at end of file
diff --git a/org.xtext.example.mydsl.tests/org.xtext.example.mydsl.tests.launch b/org.xtext.example.mydsl.tests/org.xtext.example.mydsl.tests.launch
deleted file mode 100644
index 0f2fdede9e9a9bcf4de3ad8d04f5af5696ee6162..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.tests/org.xtext.example.mydsl.tests.launch
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.xtext.example.mydsl.tests"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.xtext.example.mydsl.tests"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.xtext.example.mydsl.tests"/>
-</launchConfiguration>
diff --git a/org.xtext.example.mydsl.tests/src-gen/org/xtext/example/mydsl/MyDslInjectorProvider.java b/org.xtext.example.mydsl.tests/src-gen/org/xtext/example/mydsl/MyDslInjectorProvider.java
deleted file mode 100644
index cc7b31c526b6dfcd9887c80762c566de7dc4c642..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.tests/src-gen/org/xtext/example/mydsl/MyDslInjectorProvider.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl;
-
-import org.eclipse.xtext.junit4.GlobalRegistries;
-import org.eclipse.xtext.junit4.GlobalRegistries.GlobalStateMemento;
-import org.eclipse.xtext.junit4.IInjectorProvider;
-import org.eclipse.xtext.junit4.IRegistryConfigurator;
-
-import com.google.inject.Injector;
-
-public class MyDslInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
-	
-    protected GlobalStateMemento stateBeforeInjectorCreation;
-	protected GlobalStateMemento stateAfterInjectorCreation;
-	protected Injector injector;
-
-	static {
-		GlobalRegistries.initializeDefaults();
-	}
-
-	public Injector getInjector()
-	{
-		if (injector == null) {
-			stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
-			this.injector = internalCreateInjector();
-			stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
-		}
-		return injector;
-	}
-	
-	protected Injector internalCreateInjector() {
-	    return new MyDslStandaloneSetup().createInjectorAndDoEMFRegistration();
-	}
-
-	public void restoreRegistry() {
-		stateBeforeInjectorCreation.restoreGlobalState();
-	}
-
-	public void setupRegistry() {
-		getInjector();
-		stateAfterInjectorCreation.restoreGlobalState();
-	}
-}
diff --git a/org.xtext.example.mydsl.tests/src-gen/org/xtext/example/mydsl/MyDslUiInjectorProvider.java b/org.xtext.example.mydsl.tests/src-gen/org/xtext/example/mydsl/MyDslUiInjectorProvider.java
deleted file mode 100644
index b1174410122ea1d1ad44c0c3d2d3bb5f44710390..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.tests/src-gen/org/xtext/example/mydsl/MyDslUiInjectorProvider.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl;
-
-import org.eclipse.xtext.junit4.IInjectorProvider;
-
-import com.google.inject.Injector;
-
-public class MyDslUiInjectorProvider implements IInjectorProvider {
-	
-	public Injector getInjector() {
-		return org.xtext.example.mydsl.ui.internal.MyDslActivator.getInstance().getInjector("org.xtext.example.mydsl.MyDsl");
-	}
-	
-}
diff --git a/org.xtext.example.mydsl.ui/.classpath b/org.xtext.example.mydsl.ui/.classpath
deleted file mode 100644
index e5fbd3dd27a3e2272ac7e61c9bea0a3249387ca8..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.xtext.example.mydsl.ui/.project b/org.xtext.example.mydsl.ui/.project
deleted file mode 100644
index 7649a19353e00262e8dc3a86745b41023777bd38..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.xtext.example.mydsl.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF b/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 3bf9850c388b3efc229dc066a0208b1df3b93ff3..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.xtext.example.mydsl.ui
-Bundle-Vendor: My Company
-Bundle-Version: 1.0.0.qualifier
-Bundle-SymbolicName: org.xtext.example.mydsl.ui; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.xtext.example.mydsl;visibility:=reexport,
- org.eclipse.xtext.ui,
- org.eclipse.ui.editors;bundle-version="3.5.0",
- org.eclipse.ui.ide;bundle-version="3.5.0",
- org.eclipse.xtext.ui.shared,
- org.eclipse.ui,
- org.eclipse.xtext.builder,
- org.antlr.runtime,
- org.eclipse.xtext.common.types.ui,
- org.eclipse.xtext.ui.codetemplates.ui,
- org.eclipse.compare
-Import-Package: org.apache.log4j
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.xtext.example.mydsl.ui.contentassist,
- org.xtext.example.mydsl.ui.contentassist.antlr,
- org.xtext.example.mydsl.ui.internal
-Bundle-Activator: org.xtext.example.mydsl.ui.internal.MyDslActivator
diff --git a/org.xtext.example.mydsl.ui/build.properties b/org.xtext.example.mydsl.ui/build.properties
deleted file mode 100644
index e10dcceb6a3b0a473cf9e86fb9c6047abb97541d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/,\
-          src-gen/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
\ No newline at end of file
diff --git a/org.xtext.example.mydsl.ui/plugin.xml b/org.xtext.example.mydsl.ui/plugin.xml
deleted file mode 100644
index 6b93b26d3ebdc6e587d806b16d626da741967a81..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/plugin.xml
+++ /dev/null
@@ -1,323 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-    <extension
-            point="org.eclipse.ui.editors">
-        <editor
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
-            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
-            default="true"
-            extensions="mydsl"
-            id="org.xtext.example.mydsl.MyDsl"
-            name="MyDsl Editor">
-        </editor>
-    </extension>
-    <extension
-        point="org.eclipse.ui.handlers">
-        <handler
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
-            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
-            <activeWhen>
-                <reference
-                    definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-        <handler
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
-            commandId="org.xtext.example.mydsl.MyDsl.validate">
-         <activeWhen>
-            <reference
-                    definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-            </reference>
-         </activeWhen>
-      </handler>
-    </extension>
-    <extension point="org.eclipse.core.expressions.definitions">
-        <definition id="org.xtext.example.mydsl.MyDsl.Editor.opened">
-            <and>
-                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
-                <with variable="activeEditor">
-                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
-                        value="org.xtext.example.mydsl.MyDsl" 
-                        forcePluginActivation="true"/>
-                </with>        
-            </and>
-        </definition>
-    </extension>
-    <extension
-            point="org.eclipse.ui.preferencePages">
-        <page
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl"
-            name="MyDsl">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-        </page>
-        <page
-            category="org.xtext.example.mydsl.MyDsl"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl.coloring"
-            name="Syntax Coloring">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-        </page>
-        <page
-            category="org.xtext.example.mydsl.MyDsl"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
-            id="org.xtext.example.mydsl.MyDsl.templates"
-            name="Templates">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-        </page>
-    </extension>
-    <extension
-            point="org.eclipse.ui.propertyPages">
-        <page
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl"
-            name="MyDsl">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-            <enabledWhen>
-	            <adapt type="org.eclipse.core.resources.IProject"/>
-			</enabledWhen>
-	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
-        </page>
-    </extension>
-    <extension
-        point="org.eclipse.ui.keywords">
-        <keyword
-            id="org.xtext.example.mydsl.ui.keyword_MyDsl"
-            label="MyDsl"/>
-    </extension>
-    <extension
-         point="org.eclipse.ui.commands">
-      <command
-            description="Trigger expensive validation"
-            id="org.xtext.example.mydsl.MyDsl.validate"
-            name="Validate">
-      </command>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-        <menuContribution
-            locationURI="popup:#TextEditorContext?after=group.edit">
-             <command
-                 commandId="org.xtext.example.mydsl.MyDsl.validate"
-                 style="push"
-                 tooltip="Trigger expensive validation">
-            <visibleWhen checkEnabled="false">
-                <reference
-                    definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-                </reference>
-            </visibleWhen>
-         </command>  
-         </menuContribution>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
-			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
-				<visibleWhen checkEnabled="false">
-                	<reference definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-                	</reference>
-            	</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<extension point="org.eclipse.ui.handlers">
-	    <handler
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
-            commandId="org.eclipse.xtext.ui.editor.FindReferences">
-            <activeWhen>
-                <reference
-                    definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-    </extension>   
-
-<!-- adding resource factories -->
-
-	<extension
-		point="org.eclipse.emf.ecore.extension_parser">
-		<parser
-			class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
-			type="mydsl">
-		</parser>
-	</extension>
-	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
-        <resourceServiceProvider
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
-            uriExtension="mydsl">
-        </resourceServiceProvider>
-    </extension>
-
-
-    <!-- marker definitions for org.xtext.example.mydsl.MyDsl -->
-    <extension
-            id="mydsl.check.fast"
-            name="MyDsl Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.fast"/>
-        <persistent value="true"/>
-    </extension>
-    <extension
-            id="mydsl.check.normal"
-            name="MyDsl Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.normal"/>
-        <persistent value="true"/>
-    </extension>
-    <extension
-            id="mydsl.check.expensive"
-            name="MyDsl Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.expensive"/>
-        <persistent value="true"/>
-    </extension>
-
-   <extension
-         point="org.eclipse.xtext.builder.participant">
-      <participant
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
-      </participant>
-   </extension>
-   <extension
-            point="org.eclipse.ui.preferencePages">
-        <page
-            category="org.xtext.example.mydsl.MyDsl"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl.compiler.preferencePage"
-            name="Compiler">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-        </page>
-    </extension>
-    <extension
-            point="org.eclipse.ui.propertyPages">
-        <page
-            category="org.xtext.example.mydsl.MyDsl"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl.compiler.propertyPage"
-            name="Compiler">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-            <enabledWhen>
-	            <adapt type="org.eclipse.core.resources.IProject"/>
-			</enabledWhen>
-	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
-        </page>
-    </extension>
-
-	<!-- Quick Outline -->
-	<extension
-		point="org.eclipse.ui.handlers">
-		<handler 
-			class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
-			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
-			<activeWhen>
-				<reference
-					definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-	<extension
-		point="org.eclipse.ui.commands">
-		<command
-			description="Open the quick outline."
-			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-			name="Quick Outline">
-		</command>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution
-			locationURI="popup:#TextEditorContext?after=group.open">
-			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-				style="push"
-				tooltip="Open Quick Outline">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened"/>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-    <!-- quickfix marker resolution generator for org.xtext.example.mydsl.MyDsl -->
-    <extension
-            point="org.eclipse.ui.ide.markerResolution">
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl.ui.mydsl.check.fast">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl.ui.mydsl.check.normal">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl.ui.mydsl.check.expensive">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-    </extension>
-   	<!-- Rename Refactoring -->
-	<extension point="org.eclipse.ui.handlers">
-		<handler 
-			class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.IRenameElementHandler"
-			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
-			<activeWhen>
-				<reference
-					definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-    <extension point="org.eclipse.ui.menus">
-         <menuContribution
-            locationURI="popup:#TextEditorContext?after=group.edit">
-         <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
-               style="push">
-            <visibleWhen checkEnabled="false">
-               <reference
-                     definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-               </reference>
-            </visibleWhen>
-         </command>
-      </menuContribution>
-   </extension>
-   <extension point="org.eclipse.ui.preferencePages">
-	    <page
-	        category="org.xtext.example.mydsl.MyDsl"
-	        class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
-	        id="org.xtext.example.mydsl.MyDsl.refactoring"
-	        name="Refactoring">
-	        <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-	    </page>
-	</extension>
-
-  <extension point="org.eclipse.compare.contentViewers">
-    <viewer id="org.xtext.example.mydsl.MyDsl.compare.contentViewers"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-            extensions="mydsl">
-    </viewer>
-  </extension>
-  <extension point="org.eclipse.compare.contentMergeViewers">
-    <viewer id="org.xtext.example.mydsl.MyDsl.compare.contentMergeViewers"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-            extensions="mydsl" label="MyDsl Compare">
-     </viewer>
-  </extension>
-  <extension point="org.eclipse.ui.editors.documentProviders">
-    <provider id="org.xtext.example.mydsl.MyDsl.editors.documentProviders"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
-            extensions="mydsl">
-    </provider>
-  </extension>
-
-</plugin>
diff --git a/org.xtext.example.mydsl.ui/plugin.xml_gen b/org.xtext.example.mydsl.ui/plugin.xml_gen
deleted file mode 100644
index 6b93b26d3ebdc6e587d806b16d626da741967a81..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/plugin.xml_gen
+++ /dev/null
@@ -1,323 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-    <extension
-            point="org.eclipse.ui.editors">
-        <editor
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
-            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
-            default="true"
-            extensions="mydsl"
-            id="org.xtext.example.mydsl.MyDsl"
-            name="MyDsl Editor">
-        </editor>
-    </extension>
-    <extension
-        point="org.eclipse.ui.handlers">
-        <handler
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
-            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
-            <activeWhen>
-                <reference
-                    definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-        <handler
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
-            commandId="org.xtext.example.mydsl.MyDsl.validate">
-         <activeWhen>
-            <reference
-                    definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-            </reference>
-         </activeWhen>
-      </handler>
-    </extension>
-    <extension point="org.eclipse.core.expressions.definitions">
-        <definition id="org.xtext.example.mydsl.MyDsl.Editor.opened">
-            <and>
-                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
-                <with variable="activeEditor">
-                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
-                        value="org.xtext.example.mydsl.MyDsl" 
-                        forcePluginActivation="true"/>
-                </with>        
-            </and>
-        </definition>
-    </extension>
-    <extension
-            point="org.eclipse.ui.preferencePages">
-        <page
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl"
-            name="MyDsl">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-        </page>
-        <page
-            category="org.xtext.example.mydsl.MyDsl"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl.coloring"
-            name="Syntax Coloring">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-        </page>
-        <page
-            category="org.xtext.example.mydsl.MyDsl"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
-            id="org.xtext.example.mydsl.MyDsl.templates"
-            name="Templates">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-        </page>
-    </extension>
-    <extension
-            point="org.eclipse.ui.propertyPages">
-        <page
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl"
-            name="MyDsl">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-            <enabledWhen>
-	            <adapt type="org.eclipse.core.resources.IProject"/>
-			</enabledWhen>
-	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
-        </page>
-    </extension>
-    <extension
-        point="org.eclipse.ui.keywords">
-        <keyword
-            id="org.xtext.example.mydsl.ui.keyword_MyDsl"
-            label="MyDsl"/>
-    </extension>
-    <extension
-         point="org.eclipse.ui.commands">
-      <command
-            description="Trigger expensive validation"
-            id="org.xtext.example.mydsl.MyDsl.validate"
-            name="Validate">
-      </command>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-        <menuContribution
-            locationURI="popup:#TextEditorContext?after=group.edit">
-             <command
-                 commandId="org.xtext.example.mydsl.MyDsl.validate"
-                 style="push"
-                 tooltip="Trigger expensive validation">
-            <visibleWhen checkEnabled="false">
-                <reference
-                    definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-                </reference>
-            </visibleWhen>
-         </command>  
-         </menuContribution>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
-			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
-				<visibleWhen checkEnabled="false">
-                	<reference definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-                	</reference>
-            	</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<extension point="org.eclipse.ui.handlers">
-	    <handler
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
-            commandId="org.eclipse.xtext.ui.editor.FindReferences">
-            <activeWhen>
-                <reference
-                    definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-    </extension>   
-
-<!-- adding resource factories -->
-
-	<extension
-		point="org.eclipse.emf.ecore.extension_parser">
-		<parser
-			class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
-			type="mydsl">
-		</parser>
-	</extension>
-	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
-        <resourceServiceProvider
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
-            uriExtension="mydsl">
-        </resourceServiceProvider>
-    </extension>
-
-
-    <!-- marker definitions for org.xtext.example.mydsl.MyDsl -->
-    <extension
-            id="mydsl.check.fast"
-            name="MyDsl Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.fast"/>
-        <persistent value="true"/>
-    </extension>
-    <extension
-            id="mydsl.check.normal"
-            name="MyDsl Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.normal"/>
-        <persistent value="true"/>
-    </extension>
-    <extension
-            id="mydsl.check.expensive"
-            name="MyDsl Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.expensive"/>
-        <persistent value="true"/>
-    </extension>
-
-   <extension
-         point="org.eclipse.xtext.builder.participant">
-      <participant
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
-      </participant>
-   </extension>
-   <extension
-            point="org.eclipse.ui.preferencePages">
-        <page
-            category="org.xtext.example.mydsl.MyDsl"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl.compiler.preferencePage"
-            name="Compiler">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-        </page>
-    </extension>
-    <extension
-            point="org.eclipse.ui.propertyPages">
-        <page
-            category="org.xtext.example.mydsl.MyDsl"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
-            id="org.xtext.example.mydsl.MyDsl.compiler.propertyPage"
-            name="Compiler">
-            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-            <enabledWhen>
-	            <adapt type="org.eclipse.core.resources.IProject"/>
-			</enabledWhen>
-	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
-        </page>
-    </extension>
-
-	<!-- Quick Outline -->
-	<extension
-		point="org.eclipse.ui.handlers">
-		<handler 
-			class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
-			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
-			<activeWhen>
-				<reference
-					definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-	<extension
-		point="org.eclipse.ui.commands">
-		<command
-			description="Open the quick outline."
-			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-			name="Quick Outline">
-		</command>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution
-			locationURI="popup:#TextEditorContext?after=group.open">
-			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-				style="push"
-				tooltip="Open Quick Outline">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened"/>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-    <!-- quickfix marker resolution generator for org.xtext.example.mydsl.MyDsl -->
-    <extension
-            point="org.eclipse.ui.ide.markerResolution">
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl.ui.mydsl.check.fast">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl.ui.mydsl.check.normal">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl.ui.mydsl.check.expensive">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-    </extension>
-   	<!-- Rename Refactoring -->
-	<extension point="org.eclipse.ui.handlers">
-		<handler 
-			class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.IRenameElementHandler"
-			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
-			<activeWhen>
-				<reference
-					definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-    <extension point="org.eclipse.ui.menus">
-         <menuContribution
-            locationURI="popup:#TextEditorContext?after=group.edit">
-         <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
-               style="push">
-            <visibleWhen checkEnabled="false">
-               <reference
-                     definitionId="org.xtext.example.mydsl.MyDsl.Editor.opened">
-               </reference>
-            </visibleWhen>
-         </command>
-      </menuContribution>
-   </extension>
-   <extension point="org.eclipse.ui.preferencePages">
-	    <page
-	        category="org.xtext.example.mydsl.MyDsl"
-	        class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
-	        id="org.xtext.example.mydsl.MyDsl.refactoring"
-	        name="Refactoring">
-	        <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
-	    </page>
-	</extension>
-
-  <extension point="org.eclipse.compare.contentViewers">
-    <viewer id="org.xtext.example.mydsl.MyDsl.compare.contentViewers"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-            extensions="mydsl">
-    </viewer>
-  </extension>
-  <extension point="org.eclipse.compare.contentMergeViewers">
-    <viewer id="org.xtext.example.mydsl.MyDsl.compare.contentMergeViewers"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-            extensions="mydsl" label="MyDsl Compare">
-     </viewer>
-  </extension>
-  <extension point="org.eclipse.ui.editors.documentProviders">
-    <provider id="org.xtext.example.mydsl.MyDsl.editors.documentProviders"
-            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
-            extensions="mydsl">
-    </provider>
-  </extension>
-
-</plugin>
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/AbstractMyDslUiModule.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/AbstractMyDslUiModule.java
deleted file mode 100644
index 8ac5655f6d3d32aca820842afa9848c25b3ae73d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/AbstractMyDslUiModule.java
+++ /dev/null
@@ -1,247 +0,0 @@
-
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl.ui;
-
-import org.eclipse.xtext.ui.DefaultUiModule;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Manual modifications go to {org.xtext.example.mydsl.ui.MyDslUiModule}
- */
-@SuppressWarnings("all")
-public abstract class AbstractMyDslUiModule extends DefaultUiModule {
-	
-	public AbstractMyDslUiModule(AbstractUIPlugin plugin) {
-		super(plugin);
-	}
-	
-	
-	// contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
-	public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
-		return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
-		return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public void configureHighlightingLexer(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.xtext.example.mydsl.parser.antlr.internal.InternalMyDslLexer.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
-	public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
-		return org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.clustering.CurrentDescriptions.ResourceSetAware.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
-		return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
-		return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
-	public Class<? extends org.eclipse.xtext.builder.IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
-		return org.eclipse.xtext.builder.BuilderParticipant.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
-	public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() {
-		return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
-	public void configureBuilderPreferenceStoreInitializer(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("builderPreferenceInitializer")).to(org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess.Initializer.class);
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
-	public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
-		return org.xtext.example.mydsl.ui.labeling.MyDslLabelProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
-	public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.xtext.example.mydsl.ui.labeling.MyDslDescriptionLabelProvider.class);
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
-		return org.xtext.example.mydsl.ui.outline.MyDslOutlineTreeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
-		return org.xtext.example.mydsl.ui.outline.MyDslOutlineTreeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
-		return org.xtext.example.mydsl.ui.quickfix.MyDslQuickfixProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.contentAssist.JavaBasedContentAssistFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
-		return org.xtext.example.mydsl.ui.contentassist.MyDslProposalProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
-		return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
-		return org.xtext.example.mydsl.ui.contentassist.antlr.MyDslParser.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
-	public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
-		binder.bind(org.xtext.example.mydsl.ui.contentassist.antlr.internal.InternalMyDslLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.xtext.example.mydsl.ui.contentassist.antlr.internal.InternalMyDslLexer.class));
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
-	public void configureContentAssistLexer(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.xtext.example.mydsl.ui.contentassist.antlr.internal.InternalMyDslLexer.class);
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
-	public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameStrategy> bindIRenameStrategy() {
-		return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
-	public Class<? extends org.eclipse.xtext.ui.refactoring.IReferenceUpdater> bindIReferenceUpdater() {
-		return org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
-	public void configureIPreferenceStoreInitializer(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("RefactoringPreferences")).to(org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences.Initializer.class);
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
-	public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
-		return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
-	public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameSupport.Factory> bindIRenameSupport$Factory() {
-		return org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport.Factory.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
-	public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameElementHandler> bindIRenameElementHandler() {
-		return org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public java.lang.ClassLoader bindClassLoaderToInstance() {
-		return getClass().getClassLoader();
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
-		return org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderFactory.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
-		return org.eclipse.xtext.common.types.xtext.ui.JdtBasedSimpleTypeScopeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider> bindITypesProposalProvider() {
-		return org.eclipse.xtext.common.types.xtext.ui.JdtTypesProposalProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.common.types.access.jdt.IJavaProjectProvider> bindIJavaProjectProvider() {
-		return org.eclipse.xtext.common.types.xtext.ui.XtextResourceSetBasedProjectProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkHelper> bindIHyperlinkHelper() {
-		return org.eclipse.xtext.common.types.xtext.ui.TypeAwareHyperlinkHelper.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
-		return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.AbstractJavaBasedContentProposalProvider.ReferenceProposalCreator> bindAbstractJavaBasedContentProposalProvider$ReferenceProposalCreator() {
-		return org.eclipse.xtext.common.types.xtext.ui.TypeAwareReferenceProposalCreator.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.IValidationJobScheduler> bindIValidationJobScheduler() {
-		return org.eclipse.xtext.common.types.xtext.ui.JdtValidationJobScheduler.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.refactoring.impl.RefactoringResourceSetProvider> bindRefactoringResourceSetProvider() {
-		return org.eclipse.xtext.common.types.ui.refactoring.JvmRefactoringResourceSetProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation> bindIJavaSearchParticipation() {
-		return org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation.Yes.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
-	public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
-		return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
-	public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry> provideLanguageRegistry() {
-		return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getLanguageRegistry();
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
-	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar> bindLanguageRegistrar() {
-		return org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
-		return org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser> bindIPartialContentAssistParser() {
-		return org.xtext.example.mydsl.ui.contentassist.antlr.PartialMyDslContentAssistParser.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.compare.CompareFragment
-	public Class<? extends org.eclipse.compare.IViewerCreator> bindIViewerCreator() {
-		return org.eclipse.xtext.ui.compare.DefaultViewerCreator.class;
-	}
-
-
-}
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/MyDslExecutableExtensionFactory.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/MyDslExecutableExtensionFactory.java
deleted file mode 100644
index bd444826808510f6a4783a65716c870d0ec1ca12..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/MyDslExecutableExtensionFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl.ui;
-
-import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
-import org.osgi.framework.Bundle;
-
-import com.google.inject.Injector;
-
-import org.xtext.example.mydsl.ui.internal.MyDslActivator;
-
-/**
- * This class was generated. Customizations should only happen in a newly
- * introduced subclass. 
- */
-public class MyDslExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
-
-	@Override
-	protected Bundle getBundle() {
-		return MyDslActivator.getInstance().getBundle();
-	}
-	
-	@Override
-	protected Injector getInjector() {
-		return MyDslActivator.getInstance().getInjector(MyDslActivator.ORG_XTEXT_EXAMPLE_MYDSL_MYDSL);
-	}
-	
-}
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslProposalProvider.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslProposalProvider.java
deleted file mode 100644
index 2d3705f796aaafb8de61d1da5e2c8a0514d87a0a..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslProposalProvider.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl.ui.contentassist;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
-import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
-import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
-
-/**
- * Represents a generated, default implementation of interface {@link IProposalProvider}.
- * Methods are dynamically dispatched on the first parameter, i.e., you can override them 
- * with a more concrete subtype. 
- */
-@SuppressWarnings("all")
-public class AbstractMyDslProposalProvider extends TerminalsProposalProvider {
-		
-	public void completeModel_Terms(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeIfElseExpression_TrueExp(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeIfElseExpression_FalseExp(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeBinaryBooleanExpression_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeBinaryBooleanExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeComparison_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeComparison_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeTerm_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeTerm_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeProduct_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeProduct_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completePower_Exponent(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeFunction_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeFunction_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeFormalParameter_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeBooleanLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeIntLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDoubleLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-    
-	public void complete_Model(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Double(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Integer(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_EString(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_EBoolean(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_ProductOperation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_TermOperation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_CompareOperation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_BooleanOperation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_RootExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_IfElseExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_BinaryBooleanExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_UnaryBooleanExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Comparison(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Term(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Product(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Power(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Atom(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Function(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Literal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_FormalParameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_BooleanLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_NumberLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_IntLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DoubleLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-}
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslParser.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslParser.java
deleted file mode 100644
index 608e9a745f8a488c1e6aa5196785a4fe76ec4be0..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslParser.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl.ui.contentassist.antlr;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.HashMap;
-
-import org.antlr.runtime.RecognitionException;
-import org.eclipse.xtext.AbstractElement;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-
-import com.google.inject.Inject;
-
-import org.xtext.example.mydsl.services.MyDslGrammarAccess;
-
-public class MyDslParser extends AbstractContentAssistParser {
-	
-	@Inject
-	private MyDslGrammarAccess grammarAccess;
-	
-	private Map<AbstractElement, String> nameMappings;
-	
-	@Override
-	protected org.xtext.example.mydsl.ui.contentassist.antlr.internal.InternalMyDslParser createParser() {
-		org.xtext.example.mydsl.ui.contentassist.antlr.internal.InternalMyDslParser result = new org.xtext.example.mydsl.ui.contentassist.antlr.internal.InternalMyDslParser(null);
-		result.setGrammarAccess(grammarAccess);
-		return result;
-	}
-	
-	@Override
-	protected String getRuleName(AbstractElement element) {
-		if (nameMappings == null) {
-			nameMappings = new HashMap<AbstractElement, String>() {
-				private static final long serialVersionUID = 1L;
-				{
-					put(grammarAccess.getEStringAccess().getAlternatives(), "rule__EString__Alternatives");
-					put(grammarAccess.getEBooleanAccess().getAlternatives(), "rule__EBoolean__Alternatives");
-					put(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives(), "rule__UnaryBooleanExpression__Alternatives");
-					put(grammarAccess.getAtomAccess().getAlternatives(), "rule__Atom__Alternatives");
-					put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives");
-					put(grammarAccess.getNumberLiteralAccess().getAlternatives(), "rule__NumberLiteral__Alternatives");
-					put(grammarAccess.getProductOperationAccess().getAlternatives(), "rule__ProductOperation__Alternatives");
-					put(grammarAccess.getTermOperationAccess().getAlternatives(), "rule__TermOperation__Alternatives");
-					put(grammarAccess.getCompareOperationAccess().getAlternatives(), "rule__CompareOperation__Alternatives");
-					put(grammarAccess.getBooleanOperationAccess().getAlternatives(), "rule__BooleanOperation__Alternatives");
-					put(grammarAccess.getDoubleAccess().getGroup(), "rule__Double__Group__0");
-					put(grammarAccess.getIntegerAccess().getGroup(), "rule__Integer__Group__0");
-					put(grammarAccess.getIfElseExpressionAccess().getGroup(), "rule__IfElseExpression__Group__0");
-					put(grammarAccess.getIfElseExpressionAccess().getGroup_1(), "rule__IfElseExpression__Group_1__0");
-					put(grammarAccess.getBinaryBooleanExpressionAccess().getGroup(), "rule__BinaryBooleanExpression__Group__0");
-					put(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1(), "rule__BinaryBooleanExpression__Group_1__0");
-					put(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0(), "rule__UnaryBooleanExpression__Group_0__0");
-					put(grammarAccess.getComparisonAccess().getGroup(), "rule__Comparison__Group__0");
-					put(grammarAccess.getComparisonAccess().getGroup_1(), "rule__Comparison__Group_1__0");
-					put(grammarAccess.getTermAccess().getGroup(), "rule__Term__Group__0");
-					put(grammarAccess.getTermAccess().getGroup_1(), "rule__Term__Group_1__0");
-					put(grammarAccess.getProductAccess().getGroup(), "rule__Product__Group__0");
-					put(grammarAccess.getProductAccess().getGroup_1(), "rule__Product__Group_1__0");
-					put(grammarAccess.getPowerAccess().getGroup(), "rule__Power__Group__0");
-					put(grammarAccess.getPowerAccess().getGroup_1(), "rule__Power__Group_1__0");
-					put(grammarAccess.getAtomAccess().getGroup_1(), "rule__Atom__Group_1__0");
-					put(grammarAccess.getFunctionAccess().getGroup(), "rule__Function__Group__0");
-					put(grammarAccess.getFunctionAccess().getGroup_2(), "rule__Function__Group_2__0");
-					put(grammarAccess.getFunctionAccess().getGroup_2_1(), "rule__Function__Group_2_1__0");
-					put(grammarAccess.getModelAccess().getTermsAssignment(), "rule__Model__TermsAssignment");
-					put(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2(), "rule__IfElseExpression__TrueExpAssignment_1_2");
-					put(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4(), "rule__IfElseExpression__FalseExpAssignment_1_4");
-					put(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1(), "rule__BinaryBooleanExpression__OperationAssignment_1_1");
-					put(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2(), "rule__BinaryBooleanExpression__RightAssignment_1_2");
-					put(grammarAccess.getComparisonAccess().getOperationAssignment_1_1(), "rule__Comparison__OperationAssignment_1_1");
-					put(grammarAccess.getComparisonAccess().getRightAssignment_1_2(), "rule__Comparison__RightAssignment_1_2");
-					put(grammarAccess.getTermAccess().getOperationAssignment_1_1(), "rule__Term__OperationAssignment_1_1");
-					put(grammarAccess.getTermAccess().getRightAssignment_1_2(), "rule__Term__RightAssignment_1_2");
-					put(grammarAccess.getProductAccess().getOperationAssignment_1_1(), "rule__Product__OperationAssignment_1_1");
-					put(grammarAccess.getProductAccess().getRightAssignment_1_2(), "rule__Product__RightAssignment_1_2");
-					put(grammarAccess.getPowerAccess().getExponentAssignment_1_2(), "rule__Power__ExponentAssignment_1_2");
-					put(grammarAccess.getFunctionAccess().getNameAssignment_0(), "rule__Function__NameAssignment_0");
-					put(grammarAccess.getFunctionAccess().getParametersAssignment_2_0(), "rule__Function__ParametersAssignment_2_0");
-					put(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1(), "rule__Function__ParametersAssignment_2_1_1");
-					put(grammarAccess.getFormalParameterAccess().getValueAssignment(), "rule__FormalParameter__ValueAssignment");
-					put(grammarAccess.getBooleanLiteralAccess().getValueAssignment(), "rule__BooleanLiteral__ValueAssignment");
-					put(grammarAccess.getIntLiteralAccess().getValueAssignment(), "rule__IntLiteral__ValueAssignment");
-					put(grammarAccess.getDoubleLiteralAccess().getValueAssignment(), "rule__DoubleLiteral__ValueAssignment");
-				}
-			};
-		}
-		return nameMappings.get(element);
-	}
-	
-	@Override
-	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
-		try {
-			org.xtext.example.mydsl.ui.contentassist.antlr.internal.InternalMyDslParser typedParser = (org.xtext.example.mydsl.ui.contentassist.antlr.internal.InternalMyDslParser) parser;
-			typedParser.entryRuleModel();
-			return typedParser.getFollowElements();
-		} catch(RecognitionException ex) {
-			throw new RuntimeException(ex);
-		}		
-	}
-	
-	@Override
-	protected String[] getInitialHiddenTokens() {
-		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
-	}
-	
-	public MyDslGrammarAccess getGrammarAccess() {
-		return this.grammarAccess;
-	}
-	
-	public void setGrammarAccess(MyDslGrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-}
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/PartialMyDslContentAssistParser.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/PartialMyDslContentAssistParser.java
deleted file mode 100644
index 523165a7004bd21844c3530d65bf2fdf88a9fef3..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/PartialMyDslContentAssistParser.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl.ui.contentassist.antlr;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.xtext.AbstractRule;
-import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.util.PolymorphicDispatcher;
-
-/**
- * @author Sebastian Zarnekow - Initial contribution and API
- */
-public class PartialMyDslContentAssistParser extends MyDslParser implements IPartialContentAssistParser {
-
-	private AbstractRule rule;
-
-	public void initializeFor(AbstractRule rule) {
-		this.rule = rule;
-	}
-	
-	@Override
-	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
-		if (rule == null || rule.eIsProxy())
-			return Collections.emptyList();
-		String methodName = "entryRule" + rule.getName();
-		PolymorphicDispatcher<Collection<FollowElement>> dispatcher = 
-			new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
-		dispatcher.invoke();
-		return parser.getFollowElements();
-	}
-
-}
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g
deleted file mode 100644
index 12722cf3bdb8c9a92d69500f91e2883a51008dc5..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g
+++ /dev/null
@@ -1,2944 +0,0 @@
-/*
-* generated by Xtext
-*/
-grammar InternalMyDsl;
-
-options {
-	superClass=AbstractInternalContentAssistParser;
-	
-}
-
-@lexer::header {
-package org.xtext.example.mydsl.ui.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
-}
-
-@parser::header {
-package org.xtext.example.mydsl.ui.contentassist.antlr.internal; 
-
-import java.io.InputStream;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
-import org.xtext.example.mydsl.services.MyDslGrammarAccess;
-
-}
-
-@parser::members {
- 
- 	private MyDslGrammarAccess grammarAccess;
- 	
-    public void setGrammarAccess(MyDslGrammarAccess grammarAccess) {
-    	this.grammarAccess = grammarAccess;
-    }
-    
-    @Override
-    protected Grammar getGrammar() {
-    	return grammarAccess.getGrammar();
-    }
-    
-    @Override
-    protected String getValueForTokenName(String tokenName) {
-    	return tokenName;
-    }
-
-}
-
-
-
-
-// Entry rule entryRuleModel
-entryRuleModel 
-:
-{ before(grammarAccess.getModelRule()); }
-	 ruleModel
-{ after(grammarAccess.getModelRule()); } 
-	 EOF 
-;
-
-// Rule Model
-ruleModel
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getModelAccess().getTermsAssignment()); }
-(rule__Model__TermsAssignment)
-{ after(grammarAccess.getModelAccess().getTermsAssignment()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDouble
-entryRuleDouble 
-:
-{ before(grammarAccess.getDoubleRule()); }
-	 ruleDouble
-{ after(grammarAccess.getDoubleRule()); } 
-	 EOF 
-;
-
-// Rule Double
-ruleDouble
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDoubleAccess().getGroup()); }
-(rule__Double__Group__0)
-{ after(grammarAccess.getDoubleAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleInteger
-entryRuleInteger 
-:
-{ before(grammarAccess.getIntegerRule()); }
-	 ruleInteger
-{ after(grammarAccess.getIntegerRule()); } 
-	 EOF 
-;
-
-// Rule Integer
-ruleInteger
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getIntegerAccess().getGroup()); }
-(rule__Integer__Group__0)
-{ after(grammarAccess.getIntegerAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleEString
-entryRuleEString 
-:
-{ before(grammarAccess.getEStringRule()); }
-	 ruleEString
-{ after(grammarAccess.getEStringRule()); } 
-	 EOF 
-;
-
-// Rule EString
-ruleEString
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getEStringAccess().getAlternatives()); }
-(rule__EString__Alternatives)
-{ after(grammarAccess.getEStringAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleEBoolean
-entryRuleEBoolean 
-:
-{ before(grammarAccess.getEBooleanRule()); }
-	 ruleEBoolean
-{ after(grammarAccess.getEBooleanRule()); } 
-	 EOF 
-;
-
-// Rule EBoolean
-ruleEBoolean
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getEBooleanAccess().getAlternatives()); }
-(rule__EBoolean__Alternatives)
-{ after(grammarAccess.getEBooleanAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleRootExpression
-entryRuleRootExpression 
-:
-{ before(grammarAccess.getRootExpressionRule()); }
-	 ruleRootExpression
-{ after(grammarAccess.getRootExpressionRule()); } 
-	 EOF 
-;
-
-// Rule RootExpression
-ruleRootExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); }
-	ruleIfElseExpression
-{ after(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleIfElseExpression
-entryRuleIfElseExpression 
-:
-{ before(grammarAccess.getIfElseExpressionRule()); }
-	 ruleIfElseExpression
-{ after(grammarAccess.getIfElseExpressionRule()); } 
-	 EOF 
-;
-
-// Rule IfElseExpression
-ruleIfElseExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getGroup()); }
-(rule__IfElseExpression__Group__0)
-{ after(grammarAccess.getIfElseExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleBinaryBooleanExpression
-entryRuleBinaryBooleanExpression 
-:
-{ before(grammarAccess.getBinaryBooleanExpressionRule()); }
-	 ruleBinaryBooleanExpression
-{ after(grammarAccess.getBinaryBooleanExpressionRule()); } 
-	 EOF 
-;
-
-// Rule BinaryBooleanExpression
-ruleBinaryBooleanExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getBinaryBooleanExpressionAccess().getGroup()); }
-(rule__BinaryBooleanExpression__Group__0)
-{ after(grammarAccess.getBinaryBooleanExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleUnaryBooleanExpression
-entryRuleUnaryBooleanExpression 
-:
-{ before(grammarAccess.getUnaryBooleanExpressionRule()); }
-	 ruleUnaryBooleanExpression
-{ after(grammarAccess.getUnaryBooleanExpressionRule()); } 
-	 EOF 
-;
-
-// Rule UnaryBooleanExpression
-ruleUnaryBooleanExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives()); }
-(rule__UnaryBooleanExpression__Alternatives)
-{ after(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleComparison
-entryRuleComparison 
-:
-{ before(grammarAccess.getComparisonRule()); }
-	 ruleComparison
-{ after(grammarAccess.getComparisonRule()); } 
-	 EOF 
-;
-
-// Rule Comparison
-ruleComparison
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getComparisonAccess().getGroup()); }
-(rule__Comparison__Group__0)
-{ after(grammarAccess.getComparisonAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTerm
-entryRuleTerm 
-:
-{ before(grammarAccess.getTermRule()); }
-	 ruleTerm
-{ after(grammarAccess.getTermRule()); } 
-	 EOF 
-;
-
-// Rule Term
-ruleTerm
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTermAccess().getGroup()); }
-(rule__Term__Group__0)
-{ after(grammarAccess.getTermAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleProduct
-entryRuleProduct 
-:
-{ before(grammarAccess.getProductRule()); }
-	 ruleProduct
-{ after(grammarAccess.getProductRule()); } 
-	 EOF 
-;
-
-// Rule Product
-ruleProduct
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getProductAccess().getGroup()); }
-(rule__Product__Group__0)
-{ after(grammarAccess.getProductAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRulePower
-entryRulePower 
-:
-{ before(grammarAccess.getPowerRule()); }
-	 rulePower
-{ after(grammarAccess.getPowerRule()); } 
-	 EOF 
-;
-
-// Rule Power
-rulePower
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPowerAccess().getGroup()); }
-(rule__Power__Group__0)
-{ after(grammarAccess.getPowerAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleAtom
-entryRuleAtom 
-:
-{ before(grammarAccess.getAtomRule()); }
-	 ruleAtom
-{ after(grammarAccess.getAtomRule()); } 
-	 EOF 
-;
-
-// Rule Atom
-ruleAtom
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getAtomAccess().getAlternatives()); }
-(rule__Atom__Alternatives)
-{ after(grammarAccess.getAtomAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleFunction
-entryRuleFunction 
-:
-{ before(grammarAccess.getFunctionRule()); }
-	 ruleFunction
-{ after(grammarAccess.getFunctionRule()); } 
-	 EOF 
-;
-
-// Rule Function
-ruleFunction
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getFunctionAccess().getGroup()); }
-(rule__Function__Group__0)
-{ after(grammarAccess.getFunctionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleLiteral
-entryRuleLiteral 
-:
-{ before(grammarAccess.getLiteralRule()); }
-	 ruleLiteral
-{ after(grammarAccess.getLiteralRule()); } 
-	 EOF 
-;
-
-// Rule Literal
-ruleLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getLiteralAccess().getAlternatives()); }
-(rule__Literal__Alternatives)
-{ after(grammarAccess.getLiteralAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleFormalParameter
-entryRuleFormalParameter 
-:
-{ before(grammarAccess.getFormalParameterRule()); }
-	 ruleFormalParameter
-{ after(grammarAccess.getFormalParameterRule()); } 
-	 EOF 
-;
-
-// Rule FormalParameter
-ruleFormalParameter
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getFormalParameterAccess().getValueAssignment()); }
-(rule__FormalParameter__ValueAssignment)
-{ after(grammarAccess.getFormalParameterAccess().getValueAssignment()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleBooleanLiteral
-entryRuleBooleanLiteral 
-:
-{ before(grammarAccess.getBooleanLiteralRule()); }
-	 ruleBooleanLiteral
-{ after(grammarAccess.getBooleanLiteralRule()); } 
-	 EOF 
-;
-
-// Rule BooleanLiteral
-ruleBooleanLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getBooleanLiteralAccess().getValueAssignment()); }
-(rule__BooleanLiteral__ValueAssignment)
-{ after(grammarAccess.getBooleanLiteralAccess().getValueAssignment()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleNumberLiteral
-entryRuleNumberLiteral 
-:
-{ before(grammarAccess.getNumberLiteralRule()); }
-	 ruleNumberLiteral
-{ after(grammarAccess.getNumberLiteralRule()); } 
-	 EOF 
-;
-
-// Rule NumberLiteral
-ruleNumberLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getNumberLiteralAccess().getAlternatives()); }
-(rule__NumberLiteral__Alternatives)
-{ after(grammarAccess.getNumberLiteralAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleIntLiteral
-entryRuleIntLiteral 
-:
-{ before(grammarAccess.getIntLiteralRule()); }
-	 ruleIntLiteral
-{ after(grammarAccess.getIntLiteralRule()); } 
-	 EOF 
-;
-
-// Rule IntLiteral
-ruleIntLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getIntLiteralAccess().getValueAssignment()); }
-(rule__IntLiteral__ValueAssignment)
-{ after(grammarAccess.getIntLiteralAccess().getValueAssignment()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDoubleLiteral
-entryRuleDoubleLiteral 
-:
-{ before(grammarAccess.getDoubleLiteralRule()); }
-	 ruleDoubleLiteral
-{ after(grammarAccess.getDoubleLiteralRule()); } 
-	 EOF 
-;
-
-// Rule DoubleLiteral
-ruleDoubleLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDoubleLiteralAccess().getValueAssignment()); }
-(rule__DoubleLiteral__ValueAssignment)
-{ after(grammarAccess.getDoubleLiteralAccess().getValueAssignment()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-// Rule ProductOperation
-ruleProductOperation
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductOperationAccess().getAlternatives()); }
-(rule__ProductOperation__Alternatives)
-{ after(grammarAccess.getProductOperationAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule TermOperation
-ruleTermOperation
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermOperationAccess().getAlternatives()); }
-(rule__TermOperation__Alternatives)
-{ after(grammarAccess.getTermOperationAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule CompareOperation
-ruleCompareOperation
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareOperationAccess().getAlternatives()); }
-(rule__CompareOperation__Alternatives)
-{ after(grammarAccess.getCompareOperationAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Rule BooleanOperation
-ruleBooleanOperation
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperationAccess().getAlternatives()); }
-(rule__BooleanOperation__Alternatives)
-{ after(grammarAccess.getBooleanOperationAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-rule__EString__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); }
-	RULE_STRING
-{ after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); }
-	RULE_ID
-{ after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EBoolean__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEBooleanAccess().getTrueKeyword_0()); }
-
-	'true' 
-
-{ after(grammarAccess.getEBooleanAccess().getTrueKeyword_0()); }
-)
-
-    |(
-{ before(grammarAccess.getEBooleanAccess().getFalseKeyword_1()); }
-
-	'false' 
-
-{ after(grammarAccess.getEBooleanAccess().getFalseKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__UnaryBooleanExpression__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0()); }
-(rule__UnaryBooleanExpression__Group_0__0)
-{ after(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); }
-	ruleComparison
-{ after(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Atom__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); }
-	ruleLiteral
-{ after(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getAtomAccess().getGroup_1()); }
-(rule__Atom__Group_1__0)
-{ after(grammarAccess.getAtomAccess().getGroup_1()); }
-)
-
-    |(
-{ before(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); }
-	ruleFunction
-{ after(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Literal__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); }
-	ruleNumberLiteral
-{ after(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); }
-	ruleBooleanLiteral
-{ after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); }
-	ruleFormalParameter
-{ after(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NumberLiteral__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); }
-	ruleIntLiteral
-{ after(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); }
-	ruleDoubleLiteral
-{ after(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductOperation__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); }
-(	'*' 
-)
-{ after(grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); }
-(	'/' 
-)
-{ after(grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); }
-(	'%' 
-)
-{ after(grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermOperation__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); }
-(	'+' 
-)
-{ after(grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); }
-(	'-' 
-)
-{ after(grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareOperation__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); }
-(	'>' 
-)
-{ after(grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); }
-(	'<' 
-)
-{ after(grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); }
-(	'=' 
-)
-{ after(grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); }
-)
-
-    |(
-{ before(grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); }
-(	'!=' 
-)
-{ after(grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); }
-)
-
-    |(
-{ before(grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); }
-(	'<=' 
-)
-{ after(grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); }
-)
-
-    |(
-{ before(grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); }
-(	'>=' 
-)
-{ after(grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperation__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); }
-(	'AND' 
-)
-{ after(grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); }
-(	'OR' 
-)
-{ after(grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); }
-(	'XOR' 
-)
-{ after(grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-rule__Double__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Double__Group__0__Impl
-	rule__Double__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Double__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); }
-(
-	'-' 
-)?
-{ after(grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Double__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Double__Group__1__Impl
-	rule__Double__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Double__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Double__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Double__Group__2__Impl
-	rule__Double__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Double__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleAccess().getFullStopKeyword_2()); }
-
-	'.' 
-
-{ after(grammarAccess.getDoubleAccess().getFullStopKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Double__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Double__Group__3__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Double__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); }
-	RULE_INT
-{ after(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-rule__Integer__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Integer__Group__0__Impl
-	rule__Integer__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Integer__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); }
-(
-	'-' 
-)?
-{ after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Integer__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Integer__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Integer__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__IfElseExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__0__Impl
-	rule__IfElseExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); }
-	ruleBinaryBooleanExpression
-{ after(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getGroup_1()); }
-(rule__IfElseExpression__Group_1__0)?
-{ after(grammarAccess.getIfElseExpressionAccess().getGroup_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__IfElseExpression__Group_1__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group_1__0__Impl
-	rule__IfElseExpression__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group_1__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0()); }
-(
-
-)
-{ after(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group_1__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group_1__1__Impl
-	rule__IfElseExpression__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group_1__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); }
-
-	'?' 
-
-{ after(grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group_1__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group_1__2__Impl
-	rule__IfElseExpression__Group_1__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group_1__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2()); }
-(rule__IfElseExpression__TrueExpAssignment_1_2)
-{ after(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group_1__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group_1__3__Impl
-	rule__IfElseExpression__Group_1__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group_1__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); }
-
-	':' 
-
-{ after(grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group_1__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group_1__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group_1__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4()); }
-(rule__IfElseExpression__FalseExpAssignment_1_4)
-{ after(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__BinaryBooleanExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BinaryBooleanExpression__Group__0__Impl
-	rule__BinaryBooleanExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BinaryBooleanExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); }
-	ruleUnaryBooleanExpression
-{ after(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BinaryBooleanExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BinaryBooleanExpression__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BinaryBooleanExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1()); }
-(rule__BinaryBooleanExpression__Group_1__0)*
-{ after(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__BinaryBooleanExpression__Group_1__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BinaryBooleanExpression__Group_1__0__Impl
-	rule__BinaryBooleanExpression__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BinaryBooleanExpression__Group_1__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0()); }
-(
-
-)
-{ after(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BinaryBooleanExpression__Group_1__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BinaryBooleanExpression__Group_1__1__Impl
-	rule__BinaryBooleanExpression__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BinaryBooleanExpression__Group_1__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1()); }
-(rule__BinaryBooleanExpression__OperationAssignment_1_1)
-{ after(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BinaryBooleanExpression__Group_1__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BinaryBooleanExpression__Group_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BinaryBooleanExpression__Group_1__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2()); }
-(rule__BinaryBooleanExpression__RightAssignment_1_2)
-{ after(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__UnaryBooleanExpression__Group_0__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__UnaryBooleanExpression__Group_0__0__Impl
-	rule__UnaryBooleanExpression__Group_0__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__UnaryBooleanExpression__Group_0__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); }
-
-	'NOT' 
-
-{ after(grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__UnaryBooleanExpression__Group_0__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__UnaryBooleanExpression__Group_0__1__Impl
-	rule__UnaryBooleanExpression__Group_0__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__UnaryBooleanExpression__Group_0__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); }
-	ruleComparison
-{ after(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__UnaryBooleanExpression__Group_0__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__UnaryBooleanExpression__Group_0__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__UnaryBooleanExpression__Group_0__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()); }
-(
-
-)
-{ after(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__Comparison__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Comparison__Group__0__Impl
-	rule__Comparison__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Comparison__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); }
-	ruleTerm
-{ after(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Comparison__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Comparison__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Comparison__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getComparisonAccess().getGroup_1()); }
-(rule__Comparison__Group_1__0)*
-{ after(grammarAccess.getComparisonAccess().getGroup_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__Comparison__Group_1__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Comparison__Group_1__0__Impl
-	rule__Comparison__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Comparison__Group_1__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0()); }
-(
-
-)
-{ after(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Comparison__Group_1__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Comparison__Group_1__1__Impl
-	rule__Comparison__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Comparison__Group_1__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getComparisonAccess().getOperationAssignment_1_1()); }
-(rule__Comparison__OperationAssignment_1_1)
-{ after(grammarAccess.getComparisonAccess().getOperationAssignment_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Comparison__Group_1__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Comparison__Group_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Comparison__Group_1__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getComparisonAccess().getRightAssignment_1_2()); }
-(rule__Comparison__RightAssignment_1_2)
-{ after(grammarAccess.getComparisonAccess().getRightAssignment_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__Term__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Term__Group__0__Impl
-	rule__Term__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Term__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermAccess().getProductParserRuleCall_0()); }
-	ruleProduct
-{ after(grammarAccess.getTermAccess().getProductParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Term__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Term__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Term__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermAccess().getGroup_1()); }
-(rule__Term__Group_1__0)*
-{ after(grammarAccess.getTermAccess().getGroup_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__Term__Group_1__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Term__Group_1__0__Impl
-	rule__Term__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Term__Group_1__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermAccess().getTermLeftAction_1_0()); }
-(
-
-)
-{ after(grammarAccess.getTermAccess().getTermLeftAction_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Term__Group_1__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Term__Group_1__1__Impl
-	rule__Term__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Term__Group_1__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermAccess().getOperationAssignment_1_1()); }
-(rule__Term__OperationAssignment_1_1)
-{ after(grammarAccess.getTermAccess().getOperationAssignment_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Term__Group_1__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Term__Group_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Term__Group_1__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermAccess().getRightAssignment_1_2()); }
-(rule__Term__RightAssignment_1_2)
-{ after(grammarAccess.getTermAccess().getRightAssignment_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__Product__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Product__Group__0__Impl
-	rule__Product__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Product__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); }
-	rulePower
-{ after(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Product__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Product__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Product__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductAccess().getGroup_1()); }
-(rule__Product__Group_1__0)*
-{ after(grammarAccess.getProductAccess().getGroup_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__Product__Group_1__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Product__Group_1__0__Impl
-	rule__Product__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Product__Group_1__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductAccess().getProductLeftAction_1_0()); }
-(
-
-)
-{ after(grammarAccess.getProductAccess().getProductLeftAction_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Product__Group_1__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Product__Group_1__1__Impl
-	rule__Product__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Product__Group_1__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductAccess().getOperationAssignment_1_1()); }
-(rule__Product__OperationAssignment_1_1)
-{ after(grammarAccess.getProductAccess().getOperationAssignment_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Product__Group_1__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Product__Group_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Product__Group_1__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductAccess().getRightAssignment_1_2()); }
-(rule__Product__RightAssignment_1_2)
-{ after(grammarAccess.getProductAccess().getRightAssignment_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__Power__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Power__Group__0__Impl
-	rule__Power__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Power__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); }
-	ruleAtom
-{ after(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Power__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Power__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Power__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerAccess().getGroup_1()); }
-(rule__Power__Group_1__0)*
-{ after(grammarAccess.getPowerAccess().getGroup_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__Power__Group_1__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Power__Group_1__0__Impl
-	rule__Power__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Power__Group_1__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerAccess().getPowerBaseAction_1_0()); }
-(
-
-)
-{ after(grammarAccess.getPowerAccess().getPowerBaseAction_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Power__Group_1__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Power__Group_1__1__Impl
-	rule__Power__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Power__Group_1__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); }
-
-	'^' 
-
-{ after(grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Power__Group_1__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Power__Group_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Power__Group_1__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerAccess().getExponentAssignment_1_2()); }
-(rule__Power__ExponentAssignment_1_2)
-{ after(grammarAccess.getPowerAccess().getExponentAssignment_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__Atom__Group_1__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Atom__Group_1__0__Impl
-	rule__Atom__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Atom__Group_1__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); }
-
-	'(' 
-
-{ after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Atom__Group_1__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Atom__Group_1__1__Impl
-	rule__Atom__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Atom__Group_1__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); }
-	ruleRootExpression
-{ after(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Atom__Group_1__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Atom__Group_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Atom__Group_1__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); }
-
-	')' 
-
-{ after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__Function__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__0__Impl
-	rule__Function__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getNameAssignment_0()); }
-(rule__Function__NameAssignment_0)
-{ after(grammarAccess.getFunctionAccess().getNameAssignment_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__1__Impl
-	rule__Function__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); }
-
-	'(' 
-
-{ after(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__2__Impl
-	rule__Function__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getGroup_2()); }
-(rule__Function__Group_2__0)?
-{ after(grammarAccess.getFunctionAccess().getGroup_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__3__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); }
-
-	')' 
-
-{ after(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-rule__Function__Group_2__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_2__0__Impl
-	rule__Function__Group_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_2__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getParametersAssignment_2_0()); }
-(rule__Function__ParametersAssignment_2_0)
-{ after(grammarAccess.getFunctionAccess().getParametersAssignment_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group_2__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_2__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_2__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getGroup_2_1()); }
-(rule__Function__Group_2_1__0)*
-{ after(grammarAccess.getFunctionAccess().getGroup_2_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__Function__Group_2_1__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_2_1__0__Impl
-	rule__Function__Group_2_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_2_1__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); }
-
-	',' 
-
-{ after(grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group_2_1__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_2_1__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_2_1__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1()); }
-(rule__Function__ParametersAssignment_2_1_1)
-{ after(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-rule__Model__TermsAssignment
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); }
-	ruleIfElseExpression{ after(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__TrueExpAssignment_1_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); }
-	ruleIfElseExpression{ after(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__FalseExpAssignment_1_4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); }
-	ruleIfElseExpression{ after(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BinaryBooleanExpression__OperationAssignment_1_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); }
-	ruleBooleanOperation{ after(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BinaryBooleanExpression__RightAssignment_1_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); }
-	ruleUnaryBooleanExpression{ after(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Comparison__OperationAssignment_1_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); }
-	ruleCompareOperation{ after(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Comparison__RightAssignment_1_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); }
-	ruleTerm{ after(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Term__OperationAssignment_1_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); }
-	ruleTermOperation{ after(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Term__RightAssignment_1_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); }
-	ruleProduct{ after(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Product__OperationAssignment_1_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); }
-	ruleProductOperation{ after(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Product__RightAssignment_1_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); }
-	rulePower{ after(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Power__ExponentAssignment_1_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); }
-	ruleAtom{ after(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__NameAssignment_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); }
-	RULE_ID{ after(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__ParametersAssignment_2_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); }
-	ruleRootExpression{ after(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__ParametersAssignment_2_1_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); }
-	ruleRootExpression{ after(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__FormalParameter__ValueAssignment
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); }
-	ruleEString{ after(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanLiteral__ValueAssignment
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); }
-	ruleEBoolean{ after(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IntLiteral__ValueAssignment
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); }
-	ruleInteger{ after(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DoubleLiteral__ValueAssignment
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); }
-	ruleDouble{ after(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
-
-RULE_INT : ('0'..'9')+;
-
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
-
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-RULE_ANY_OTHER : .;
-
-
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.tokens b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.tokens
deleted file mode 100644
index 3397e917a6e9f619f0d98e12dfb3538a02b88e09..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.tokens
+++ /dev/null
@@ -1,55 +0,0 @@
-RULE_ID=5
-T__29=29
-T__28=28
-T__27=27
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=10
-T__21=21
-T__20=20
-RULE_SL_COMMENT=8
-RULE_ML_COMMENT=7
-T__30=30
-T__19=19
-T__31=31
-RULE_STRING=4
-T__32=32
-T__33=33
-T__16=16
-T__34=34
-T__15=15
-T__18=18
-T__17=17
-T__12=12
-T__11=11
-T__14=14
-T__13=13
-RULE_INT=6
-RULE_WS=9
-'NOT'=30
-'true'=11
-'>='=23
-'/'=14
-'OR'=25
-'>'=18
-'XOR'=26
-'?'=28
-'<='=22
-'!='=21
-'false'=12
-'='=20
-'<'=19
-'('=32
-':'=29
-'*'=13
-'-'=17
-'+'=16
-','=34
-')'=33
-'.'=27
-'^'=31
-'AND'=24
-'%'=15
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslLexer.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslLexer.java
deleted file mode 100644
index 71b73e1dfa411fa74b0c97ac74d57adc335e79cf..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslLexer.java
+++ /dev/null
@@ -1,1525 +0,0 @@
-package org.xtext.example.mydsl.ui.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalMyDslLexer extends Lexer {
-    public static final int RULE_ID=5;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int EOF=-1;
-    public static final int RULE_SL_COMMENT=8;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__30=30;
-    public static final int T__19=19;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int RULE_STRING=4;
-    public static final int T__16=16;
-    public static final int T__33=33;
-    public static final int T__15=15;
-    public static final int T__34=34;
-    public static final int T__18=18;
-    public static final int T__17=17;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int RULE_INT=6;
-    public static final int RULE_WS=9;
-
-    // delegates
-    // delegators
-
-    public InternalMyDslLexer() {;} 
-    public InternalMyDslLexer(CharStream input) {
-        this(input, new RecognizerSharedState());
-    }
-    public InternalMyDslLexer(CharStream input, RecognizerSharedState state) {
-        super(input,state);
-
-    }
-    public String getGrammarFileName() { return "../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g"; }
-
-    // $ANTLR start "T__11"
-    public final void mT__11() throws RecognitionException {
-        try {
-            int _type = T__11;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:11:7: ( 'true' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:11:9: 'true'
-            {
-            match("true"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__11"
-
-    // $ANTLR start "T__12"
-    public final void mT__12() throws RecognitionException {
-        try {
-            int _type = T__12;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:12:7: ( 'false' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:12:9: 'false'
-            {
-            match("false"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__12"
-
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
-        try {
-            int _type = T__13;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:13:7: ( '*' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:13:9: '*'
-            {
-            match('*'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__13"
-
-    // $ANTLR start "T__14"
-    public final void mT__14() throws RecognitionException {
-        try {
-            int _type = T__14;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:14:7: ( '/' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:14:9: '/'
-            {
-            match('/'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__14"
-
-    // $ANTLR start "T__15"
-    public final void mT__15() throws RecognitionException {
-        try {
-            int _type = T__15;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:15:7: ( '%' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:15:9: '%'
-            {
-            match('%'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__15"
-
-    // $ANTLR start "T__16"
-    public final void mT__16() throws RecognitionException {
-        try {
-            int _type = T__16;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:16:7: ( '+' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:16:9: '+'
-            {
-            match('+'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__16"
-
-    // $ANTLR start "T__17"
-    public final void mT__17() throws RecognitionException {
-        try {
-            int _type = T__17;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:17:7: ( '-' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:17:9: '-'
-            {
-            match('-'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__17"
-
-    // $ANTLR start "T__18"
-    public final void mT__18() throws RecognitionException {
-        try {
-            int _type = T__18;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:18:7: ( '>' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:18:9: '>'
-            {
-            match('>'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__18"
-
-    // $ANTLR start "T__19"
-    public final void mT__19() throws RecognitionException {
-        try {
-            int _type = T__19;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:19:7: ( '<' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:19:9: '<'
-            {
-            match('<'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__19"
-
-    // $ANTLR start "T__20"
-    public final void mT__20() throws RecognitionException {
-        try {
-            int _type = T__20;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:20:7: ( '=' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:20:9: '='
-            {
-            match('='); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__20"
-
-    // $ANTLR start "T__21"
-    public final void mT__21() throws RecognitionException {
-        try {
-            int _type = T__21;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:21:7: ( '!=' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:21:9: '!='
-            {
-            match("!="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__21"
-
-    // $ANTLR start "T__22"
-    public final void mT__22() throws RecognitionException {
-        try {
-            int _type = T__22;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:22:7: ( '<=' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:22:9: '<='
-            {
-            match("<="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__22"
-
-    // $ANTLR start "T__23"
-    public final void mT__23() throws RecognitionException {
-        try {
-            int _type = T__23;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:23:7: ( '>=' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:23:9: '>='
-            {
-            match(">="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__23"
-
-    // $ANTLR start "T__24"
-    public final void mT__24() throws RecognitionException {
-        try {
-            int _type = T__24;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:24:7: ( 'AND' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:24:9: 'AND'
-            {
-            match("AND"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__24"
-
-    // $ANTLR start "T__25"
-    public final void mT__25() throws RecognitionException {
-        try {
-            int _type = T__25;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:25:7: ( 'OR' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:25:9: 'OR'
-            {
-            match("OR"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__25"
-
-    // $ANTLR start "T__26"
-    public final void mT__26() throws RecognitionException {
-        try {
-            int _type = T__26;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:26:7: ( 'XOR' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:26:9: 'XOR'
-            {
-            match("XOR"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__26"
-
-    // $ANTLR start "T__27"
-    public final void mT__27() throws RecognitionException {
-        try {
-            int _type = T__27;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:27:7: ( '.' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:27:9: '.'
-            {
-            match('.'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__27"
-
-    // $ANTLR start "T__28"
-    public final void mT__28() throws RecognitionException {
-        try {
-            int _type = T__28;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:28:7: ( '?' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:28:9: '?'
-            {
-            match('?'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__28"
-
-    // $ANTLR start "T__29"
-    public final void mT__29() throws RecognitionException {
-        try {
-            int _type = T__29;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:29:7: ( ':' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:29:9: ':'
-            {
-            match(':'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__29"
-
-    // $ANTLR start "T__30"
-    public final void mT__30() throws RecognitionException {
-        try {
-            int _type = T__30;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:30:7: ( 'NOT' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:30:9: 'NOT'
-            {
-            match("NOT"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__30"
-
-    // $ANTLR start "T__31"
-    public final void mT__31() throws RecognitionException {
-        try {
-            int _type = T__31;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:31:7: ( '^' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:31:9: '^'
-            {
-            match('^'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__31"
-
-    // $ANTLR start "T__32"
-    public final void mT__32() throws RecognitionException {
-        try {
-            int _type = T__32;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:32:7: ( '(' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:32:9: '('
-            {
-            match('('); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__32"
-
-    // $ANTLR start "T__33"
-    public final void mT__33() throws RecognitionException {
-        try {
-            int _type = T__33;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:33:7: ( ')' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:33:9: ')'
-            {
-            match(')'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__33"
-
-    // $ANTLR start "T__34"
-    public final void mT__34() throws RecognitionException {
-        try {
-            int _type = T__34;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:34:7: ( ',' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:34:9: ','
-            {
-            match(','); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__34"
-
-    // $ANTLR start "RULE_ID"
-    public final void mRULE_ID() throws RecognitionException {
-        try {
-            int _type = RULE_ID;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:11: ( '^' )?
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0=='^') ) {
-                alt1=1;
-            }
-            switch (alt1) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930: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.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop2:
-            do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-
-                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
-                    alt2=1;
-                }
-
-
-                switch (alt2) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop2;
-                }
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ID"
-
-    // $ANTLR start "RULE_INT"
-    public final void mRULE_INT() throws RecognitionException {
-        try {
-            int _type = RULE_INT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:10: ( ( '0' .. '9' )+ )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:12: ( '0' .. '9' )+
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:12: ( '0' .. '9' )+
-            int cnt3=0;
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-
-                if ( ((LA3_0>='0' && LA3_0<='9')) ) {
-                    alt3=1;
-                }
-
-
-                switch (alt3) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:13: '0' .. '9'
-            	    {
-            	    matchRange('0','9'); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt3 >= 1 ) break loop3;
-                        EarlyExitException eee =
-                            new EarlyExitException(3, input);
-                        throw eee;
-                }
-                cnt3++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_INT"
-
-    // $ANTLR start "RULE_STRING"
-    public final void mRULE_STRING() throws RecognitionException {
-        try {
-            int _type = RULE_STRING;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0=='\"') ) {
-                alt6=1;
-            }
-            else if ( (LA6_0=='\'') ) {
-                alt6=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
-                    {
-                    match('\"'); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop4:
-                    do {
-                        int alt4=3;
-                        int LA4_0 = input.LA(1);
-
-                        if ( (LA4_0=='\\') ) {
-                            alt4=1;
-                        }
-                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
-                            alt4=2;
-                        }
-
-
-                        switch (alt4) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:66: ~ ( ( '\\\\' | '\"' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop4;
-                        }
-                    } while (true);
-
-                    match('\"'); 
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
-                    {
-                    match('\''); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop5:
-                    do {
-                        int alt5=3;
-                        int LA5_0 = input.LA(1);
-
-                        if ( (LA5_0=='\\') ) {
-                            alt5=1;
-                        }
-                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
-                            alt5=2;
-                        }
-
-
-                        switch (alt5) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:137: ~ ( ( '\\\\' | '\\'' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop5;
-                        }
-                    } while (true);
-
-                    match('\''); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_STRING"
-
-    // $ANTLR start "RULE_ML_COMMENT"
-    public final void mRULE_ML_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_ML_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2936:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2936:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2936:24: ( options {greedy=false; } : . )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0=='*') ) {
-                    int LA7_1 = input.LA(2);
-
-                    if ( (LA7_1=='/') ) {
-                        alt7=2;
-                    }
-                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
-                        alt7=1;
-                    }
-
-
-                }
-                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
-                    alt7=1;
-                }
-
-
-                switch (alt7) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2936:52: .
-            	    {
-            	    matchAny(); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop7;
-                }
-            } while (true);
-
-            match("*/"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ML_COMMENT"
-
-    // $ANTLR start "RULE_SL_COMMENT"
-    public final void mRULE_SL_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_SL_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop8:
-            do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-
-                if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
-                    alt8=1;
-                }
-
-
-                switch (alt8) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:24: ~ ( ( '\\n' | '\\r' ) )
-            	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop8;
-                }
-            } while (true);
-
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:40: ( ( '\\r' )? '\\n' )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0=='\n'||LA10_0=='\r') ) {
-                alt10=1;
-            }
-            switch (alt10) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:41: ( '\\r' )? '\\n'
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:41: ( '\\r' )?
-                    int alt9=2;
-                    int LA9_0 = input.LA(1);
-
-                    if ( (LA9_0=='\r') ) {
-                        alt9=1;
-                    }
-                    switch (alt9) {
-                        case 1 :
-                            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:41: '\\r'
-                            {
-                            match('\r'); 
-
-                            }
-                            break;
-
-                    }
-
-                    match('\n'); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_SL_COMMENT"
-
-    // $ANTLR start "RULE_WS"
-    public final void mRULE_WS() throws RecognitionException {
-        try {
-            int _type = RULE_WS;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2940:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2940:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2940:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt11=0;
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:
-            	    {
-            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt11 >= 1 ) break loop11;
-                        EarlyExitException eee =
-                            new EarlyExitException(11, input);
-                        throw eee;
-                }
-                cnt11++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_WS"
-
-    // $ANTLR start "RULE_ANY_OTHER"
-    public final void mRULE_ANY_OTHER() throws RecognitionException {
-        try {
-            int _type = RULE_ANY_OTHER;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2942:16: ( . )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2942:18: .
-            {
-            matchAny(); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ANY_OTHER"
-
-    public void mTokens() throws RecognitionException {
-        // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=31;
-        alt12 = dfa12.predict(input);
-        switch (alt12) {
-            case 1 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:10: T__11
-                {
-                mT__11(); 
-
-                }
-                break;
-            case 2 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:16: T__12
-                {
-                mT__12(); 
-
-                }
-                break;
-            case 3 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:22: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 4 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:28: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 5 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:34: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 6 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:40: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 7 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:46: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 8 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:52: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 9 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:58: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 10 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:64: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 11 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:70: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 12 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:76: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 13 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:82: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 14 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:88: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 15 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:94: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 16 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:100: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 17 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:106: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 18 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:112: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 19 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:118: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 20 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:124: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 21 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:130: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 22 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:136: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 23 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:142: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 24 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:148: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 25 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:154: RULE_ID
-                {
-                mRULE_ID(); 
-
-                }
-                break;
-            case 26 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:162: RULE_INT
-                {
-                mRULE_INT(); 
-
-                }
-                break;
-            case 27 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:171: RULE_STRING
-                {
-                mRULE_STRING(); 
-
-                }
-                break;
-            case 28 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:183: RULE_ML_COMMENT
-                {
-                mRULE_ML_COMMENT(); 
-
-                }
-                break;
-            case 29 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:199: RULE_SL_COMMENT
-                {
-                mRULE_SL_COMMENT(); 
-
-                }
-                break;
-            case 30 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:215: RULE_WS
-                {
-                mRULE_WS(); 
-
-                }
-                break;
-            case 31 :
-                // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:223: RULE_ANY_OTHER
-                {
-                mRULE_ANY_OTHER(); 
-
-                }
-                break;
-
-        }
-
-    }
-
-
-    protected DFA12 dfa12 = new DFA12(this);
-    static final String DFA12_eotS =
-        "\1\uffff\2\36\1\uffff\1\43\3\uffff\1\50\1\52\1\uffff\1\34\3\36\3"+
-        "\uffff\1\36\1\64\5\uffff\2\34\2\uffff\1\36\1\uffff\1\36\15\uffff"+
-        "\1\36\1\76\1\36\3\uffff\1\36\7\uffff\2\36\1\103\1\uffff\1\104\1"+
-        "\105\1\106\1\36\4\uffff\1\110\1\uffff";
-    static final String DFA12_eofS =
-        "\111\uffff";
-    static final String DFA12_minS =
-        "\1\0\1\162\1\141\1\uffff\1\52\3\uffff\2\75\1\uffff\1\75\1\116\1"+
-        "\122\1\117\3\uffff\1\117\1\101\5\uffff\2\0\2\uffff\1\165\1\uffff"+
-        "\1\154\15\uffff\1\104\1\60\1\122\3\uffff\1\124\7\uffff\1\145\1\163"+
-        "\1\60\1\uffff\3\60\1\145\4\uffff\1\60\1\uffff";
-    static final String DFA12_maxS =
-        "\1\uffff\1\162\1\141\1\uffff\1\57\3\uffff\2\75\1\uffff\1\75\1\116"+
-        "\1\122\1\117\3\uffff\1\117\1\172\5\uffff\2\uffff\2\uffff\1\165\1"+
-        "\uffff\1\154\15\uffff\1\104\1\172\1\122\3\uffff\1\124\7\uffff\1"+
-        "\145\1\163\1\172\1\uffff\3\172\1\145\4\uffff\1\172\1\uffff";
-    static final String DFA12_acceptS =
-        "\3\uffff\1\3\1\uffff\1\5\1\6\1\7\2\uffff\1\12\4\uffff\1\21\1\22"+
-        "\1\23\2\uffff\1\26\1\27\1\30\1\31\1\32\2\uffff\1\36\1\37\1\uffff"+
-        "\1\31\1\uffff\1\3\1\34\1\35\1\4\1\5\1\6\1\7\1\15\1\10\1\14\1\11"+
-        "\1\12\1\13\3\uffff\1\21\1\22\1\23\1\uffff\1\25\1\26\1\27\1\30\1"+
-        "\32\1\33\1\36\3\uffff\1\17\4\uffff\1\16\1\20\1\24\1\1\1\uffff\1"+
-        "\2";
-    static final String DFA12_specialS =
-        "\1\1\30\uffff\1\0\1\2\56\uffff}>";
-    static final String[] DFA12_transitionS = {
-            "\11\34\2\33\2\34\1\33\22\34\1\33\1\13\1\31\2\34\1\5\1\34\1\32"+
-            "\1\24\1\25\1\3\1\6\1\26\1\7\1\17\1\4\12\30\1\21\1\34\1\11\1"+
-            "\12\1\10\1\20\1\34\1\14\14\27\1\22\1\15\10\27\1\16\2\27\3\34"+
-            "\1\23\1\27\1\34\5\27\1\2\15\27\1\1\6\27\uff85\34",
-            "\1\35",
-            "\1\37",
-            "",
-            "\1\41\4\uffff\1\42",
-            "",
-            "",
-            "",
-            "\1\47",
-            "\1\51",
-            "",
-            "\1\54",
-            "\1\55",
-            "\1\56",
-            "\1\57",
-            "",
-            "",
-            "",
-            "\1\63",
-            "\32\36\4\uffff\1\36\1\uffff\32\36",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\0\71",
-            "\0\71",
-            "",
-            "",
-            "\1\73",
-            "",
-            "\1\74",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\75",
-            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
-            "\1\77",
-            "",
-            "",
-            "",
-            "\1\100",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\101",
-            "\1\102",
-            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
-            "",
-            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
-            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
-            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
-            "\1\107",
-            "",
-            "",
-            "",
-            "",
-            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
-            ""
-    };
-
-    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
-    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
-    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
-    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
-    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
-    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
-    static final short[][] DFA12_transition;
-
-    static {
-        int numStates = DFA12_transitionS.length;
-        DFA12_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
-        }
-    }
-
-    class DFA12 extends DFA {
-
-        public DFA12(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 12;
-            this.eot = DFA12_eot;
-            this.eof = DFA12_eof;
-            this.min = DFA12_min;
-            this.max = DFA12_max;
-            this.accept = DFA12_accept;
-            this.special = DFA12_special;
-            this.transition = DFA12_transition;
-        }
-        public String getDescription() {
-            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            IntStream input = _input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA12_25 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 57;}
-
-                        else s = 28;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA12_0 = input.LA(1);
-
-                        s = -1;
-                        if ( (LA12_0=='t') ) {s = 1;}
-
-                        else if ( (LA12_0=='f') ) {s = 2;}
-
-                        else if ( (LA12_0=='*') ) {s = 3;}
-
-                        else if ( (LA12_0=='/') ) {s = 4;}
-
-                        else if ( (LA12_0=='%') ) {s = 5;}
-
-                        else if ( (LA12_0=='+') ) {s = 6;}
-
-                        else if ( (LA12_0=='-') ) {s = 7;}
-
-                        else if ( (LA12_0=='>') ) {s = 8;}
-
-                        else if ( (LA12_0=='<') ) {s = 9;}
-
-                        else if ( (LA12_0=='=') ) {s = 10;}
-
-                        else if ( (LA12_0=='!') ) {s = 11;}
-
-                        else if ( (LA12_0=='A') ) {s = 12;}
-
-                        else if ( (LA12_0=='O') ) {s = 13;}
-
-                        else if ( (LA12_0=='X') ) {s = 14;}
-
-                        else if ( (LA12_0=='.') ) {s = 15;}
-
-                        else if ( (LA12_0=='?') ) {s = 16;}
-
-                        else if ( (LA12_0==':') ) {s = 17;}
-
-                        else if ( (LA12_0=='N') ) {s = 18;}
-
-                        else if ( (LA12_0=='^') ) {s = 19;}
-
-                        else if ( (LA12_0=='(') ) {s = 20;}
-
-                        else if ( (LA12_0==')') ) {s = 21;}
-
-                        else if ( (LA12_0==',') ) {s = 22;}
-
-                        else if ( ((LA12_0>='B' && LA12_0<='M')||(LA12_0>='P' && LA12_0<='W')||(LA12_0>='Y' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='e')||(LA12_0>='g' && LA12_0<='s')||(LA12_0>='u' && LA12_0<='z')) ) {s = 23;}
-
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;}
-
-                        else if ( (LA12_0=='\"') ) {s = 25;}
-
-                        else if ( (LA12_0=='\'') ) {s = 26;}
-
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 27;}
-
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||LA12_0==';'||LA12_0=='@'||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 28;}
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA12_26 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 57;}
-
-                        else s = 28;
-
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 12, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
- 
-
-}
\ No newline at end of file
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslParser.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslParser.java
deleted file mode 100644
index 62e09bbadb42b4e746e549848ea7d5777aef1ccc..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslParser.java
+++ /dev/null
@@ -1,8223 +0,0 @@
-package org.xtext.example.mydsl.ui.contentassist.antlr.internal; 
-
-import java.io.InputStream;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
-import org.xtext.example.mydsl.services.MyDslGrammarAccess;
-
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalMyDslParser extends AbstractInternalContentAssistParser {
-    public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'true'", "'false'", "'*'", "'/'", "'%'", "'+'", "'-'", "'>'", "'<'", "'='", "'!='", "'<='", "'>='", "'AND'", "'OR'", "'XOR'", "'.'", "'?'", "':'", "'NOT'", "'^'", "'('", "')'", "','"
-    };
-    public static final int RULE_ID=5;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int RULE_SL_COMMENT=8;
-    public static final int EOF=-1;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__30=30;
-    public static final int T__19=19;
-    public static final int T__31=31;
-    public static final int RULE_STRING=4;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__16=16;
-    public static final int T__34=34;
-    public static final int T__15=15;
-    public static final int T__18=18;
-    public static final int T__17=17;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int RULE_INT=6;
-    public static final int RULE_WS=9;
-
-    // delegates
-    // delegators
-
-
-        public InternalMyDslParser(TokenStream input) {
-            this(input, new RecognizerSharedState());
-        }
-        public InternalMyDslParser(TokenStream input, RecognizerSharedState state) {
-            super(input, state);
-             
-        }
-        
-
-    public String[] getTokenNames() { return InternalMyDslParser.tokenNames; }
-    public String getGrammarFileName() { return "../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g"; }
-
-
-     
-     	private MyDslGrammarAccess grammarAccess;
-     	
-        public void setGrammarAccess(MyDslGrammarAccess grammarAccess) {
-        	this.grammarAccess = grammarAccess;
-        }
-        
-        @Override
-        protected Grammar getGrammar() {
-        	return grammarAccess.getGrammar();
-        }
-        
-        @Override
-        protected String getValueForTokenName(String tokenName) {
-        	return tokenName;
-        }
-
-
-
-
-    // $ANTLR start "entryRuleModel"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:60:1: entryRuleModel : ruleModel EOF ;
-    public final void entryRuleModel() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:61:1: ( ruleModel EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:62:1: ruleModel EOF
-            {
-             before(grammarAccess.getModelRule()); 
-            pushFollow(FOLLOW_ruleModel_in_entryRuleModel61);
-            ruleModel();
-
-            state._fsp--;
-
-             after(grammarAccess.getModelRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleModel"
-
-
-    // $ANTLR start "ruleModel"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:69:1: ruleModel : ( ( rule__Model__TermsAssignment ) ) ;
-    public final void ruleModel() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:73:2: ( ( ( rule__Model__TermsAssignment ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__TermsAssignment ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__TermsAssignment ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( rule__Model__TermsAssignment )
-            {
-             before(grammarAccess.getModelAccess().getTermsAssignment()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:1: ( rule__Model__TermsAssignment )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:2: rule__Model__TermsAssignment
-            {
-            pushFollow(FOLLOW_rule__Model__TermsAssignment_in_ruleModel94);
-            rule__Model__TermsAssignment();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getModelAccess().getTermsAssignment()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleModel"
-
-
-    // $ANTLR start "entryRuleDouble"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:88:1: entryRuleDouble : ruleDouble EOF ;
-    public final void entryRuleDouble() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:89:1: ( ruleDouble EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:90:1: ruleDouble EOF
-            {
-             before(grammarAccess.getDoubleRule()); 
-            pushFollow(FOLLOW_ruleDouble_in_entryRuleDouble121);
-            ruleDouble();
-
-            state._fsp--;
-
-             after(grammarAccess.getDoubleRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDouble128); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDouble"
-
-
-    // $ANTLR start "ruleDouble"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:97:1: ruleDouble : ( ( rule__Double__Group__0 ) ) ;
-    public final void ruleDouble() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:101:2: ( ( ( rule__Double__Group__0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Double__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Double__Group__0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:103:1: ( rule__Double__Group__0 )
-            {
-             before(grammarAccess.getDoubleAccess().getGroup()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:1: ( rule__Double__Group__0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:2: rule__Double__Group__0
-            {
-            pushFollow(FOLLOW_rule__Double__Group__0_in_ruleDouble154);
-            rule__Double__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDoubleAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDouble"
-
-
-    // $ANTLR start "entryRuleInteger"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:116:1: entryRuleInteger : ruleInteger EOF ;
-    public final void entryRuleInteger() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:117:1: ( ruleInteger EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:118:1: ruleInteger EOF
-            {
-             before(grammarAccess.getIntegerRule()); 
-            pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger181);
-            ruleInteger();
-
-            state._fsp--;
-
-             after(grammarAccess.getIntegerRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger188); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleInteger"
-
-
-    // $ANTLR start "ruleInteger"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:125:1: ruleInteger : ( ( rule__Integer__Group__0 ) ) ;
-    public final void ruleInteger() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:129:2: ( ( ( rule__Integer__Group__0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Integer__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Integer__Group__0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:131:1: ( rule__Integer__Group__0 )
-            {
-             before(grammarAccess.getIntegerAccess().getGroup()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:1: ( rule__Integer__Group__0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:2: rule__Integer__Group__0
-            {
-            pushFollow(FOLLOW_rule__Integer__Group__0_in_ruleInteger214);
-            rule__Integer__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIntegerAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleInteger"
-
-
-    // $ANTLR start "entryRuleEString"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:144:1: entryRuleEString : ruleEString EOF ;
-    public final void entryRuleEString() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:145:1: ( ruleEString EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:146:1: ruleEString EOF
-            {
-             before(grammarAccess.getEStringRule()); 
-            pushFollow(FOLLOW_ruleEString_in_entryRuleEString241);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getEStringRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEString248); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleEString"
-
-
-    // $ANTLR start "ruleEString"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:153:1: ruleEString : ( ( rule__EString__Alternatives ) ) ;
-    public final void ruleEString() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:157:2: ( ( ( rule__EString__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__EString__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__EString__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:159:1: ( rule__EString__Alternatives )
-            {
-             before(grammarAccess.getEStringAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:1: ( rule__EString__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:2: rule__EString__Alternatives
-            {
-            pushFollow(FOLLOW_rule__EString__Alternatives_in_ruleEString274);
-            rule__EString__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getEStringAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleEString"
-
-
-    // $ANTLR start "entryRuleEBoolean"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:172:1: entryRuleEBoolean : ruleEBoolean EOF ;
-    public final void entryRuleEBoolean() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:173:1: ( ruleEBoolean EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:174:1: ruleEBoolean EOF
-            {
-             before(grammarAccess.getEBooleanRule()); 
-            pushFollow(FOLLOW_ruleEBoolean_in_entryRuleEBoolean301);
-            ruleEBoolean();
-
-            state._fsp--;
-
-             after(grammarAccess.getEBooleanRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEBoolean308); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleEBoolean"
-
-
-    // $ANTLR start "ruleEBoolean"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:181:1: ruleEBoolean : ( ( rule__EBoolean__Alternatives ) ) ;
-    public final void ruleEBoolean() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:185:2: ( ( ( rule__EBoolean__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__EBoolean__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__EBoolean__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:187:1: ( rule__EBoolean__Alternatives )
-            {
-             before(grammarAccess.getEBooleanAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:1: ( rule__EBoolean__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:2: rule__EBoolean__Alternatives
-            {
-            pushFollow(FOLLOW_rule__EBoolean__Alternatives_in_ruleEBoolean334);
-            rule__EBoolean__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getEBooleanAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleEBoolean"
-
-
-    // $ANTLR start "entryRuleRootExpression"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:200:1: entryRuleRootExpression : ruleRootExpression EOF ;
-    public final void entryRuleRootExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:201:1: ( ruleRootExpression EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:202:1: ruleRootExpression EOF
-            {
-             before(grammarAccess.getRootExpressionRule()); 
-            pushFollow(FOLLOW_ruleRootExpression_in_entryRuleRootExpression361);
-            ruleRootExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getRootExpressionRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRootExpression368); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleRootExpression"
-
-
-    // $ANTLR start "ruleRootExpression"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:209:1: ruleRootExpression : ( ruleIfElseExpression ) ;
-    public final void ruleRootExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:213:2: ( ( ruleIfElseExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:1: ( ruleIfElseExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:1: ( ruleIfElseExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:215:1: ruleIfElseExpression
-            {
-             before(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); 
-            pushFollow(FOLLOW_ruleIfElseExpression_in_ruleRootExpression394);
-            ruleIfElseExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleRootExpression"
-
-
-    // $ANTLR start "entryRuleIfElseExpression"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:228:1: entryRuleIfElseExpression : ruleIfElseExpression EOF ;
-    public final void entryRuleIfElseExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:229:1: ( ruleIfElseExpression EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:230:1: ruleIfElseExpression EOF
-            {
-             before(grammarAccess.getIfElseExpressionRule()); 
-            pushFollow(FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression420);
-            ruleIfElseExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getIfElseExpressionRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleIfElseExpression427); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleIfElseExpression"
-
-
-    // $ANTLR start "ruleIfElseExpression"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:237:1: ruleIfElseExpression : ( ( rule__IfElseExpression__Group__0 ) ) ;
-    public final void ruleIfElseExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:241:2: ( ( ( rule__IfElseExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:1: ( ( rule__IfElseExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:1: ( ( rule__IfElseExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:243:1: ( rule__IfElseExpression__Group__0 )
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:1: ( rule__IfElseExpression__Group__0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:2: rule__IfElseExpression__Group__0
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__Group__0_in_ruleIfElseExpression453);
-            rule__IfElseExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIfElseExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleIfElseExpression"
-
-
-    // $ANTLR start "entryRuleBinaryBooleanExpression"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:256:1: entryRuleBinaryBooleanExpression : ruleBinaryBooleanExpression EOF ;
-    public final void entryRuleBinaryBooleanExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:257:1: ( ruleBinaryBooleanExpression EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:258:1: ruleBinaryBooleanExpression EOF
-            {
-             before(grammarAccess.getBinaryBooleanExpressionRule()); 
-            pushFollow(FOLLOW_ruleBinaryBooleanExpression_in_entryRuleBinaryBooleanExpression480);
-            ruleBinaryBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getBinaryBooleanExpressionRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleBinaryBooleanExpression487); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleBinaryBooleanExpression"
-
-
-    // $ANTLR start "ruleBinaryBooleanExpression"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:265:1: ruleBinaryBooleanExpression : ( ( rule__BinaryBooleanExpression__Group__0 ) ) ;
-    public final void ruleBinaryBooleanExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:269:2: ( ( ( rule__BinaryBooleanExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:270:1: ( ( rule__BinaryBooleanExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:270:1: ( ( rule__BinaryBooleanExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: ( rule__BinaryBooleanExpression__Group__0 )
-            {
-             before(grammarAccess.getBinaryBooleanExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:1: ( rule__BinaryBooleanExpression__Group__0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:2: rule__BinaryBooleanExpression__Group__0
-            {
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group__0_in_ruleBinaryBooleanExpression513);
-            rule__BinaryBooleanExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBinaryBooleanExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleBinaryBooleanExpression"
-
-
-    // $ANTLR start "entryRuleUnaryBooleanExpression"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:284:1: entryRuleUnaryBooleanExpression : ruleUnaryBooleanExpression EOF ;
-    public final void entryRuleUnaryBooleanExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:285:1: ( ruleUnaryBooleanExpression EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:286:1: ruleUnaryBooleanExpression EOF
-            {
-             before(grammarAccess.getUnaryBooleanExpressionRule()); 
-            pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_entryRuleUnaryBooleanExpression540);
-            ruleUnaryBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getUnaryBooleanExpressionRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleUnaryBooleanExpression547); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleUnaryBooleanExpression"
-
-
-    // $ANTLR start "ruleUnaryBooleanExpression"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:293:1: ruleUnaryBooleanExpression : ( ( rule__UnaryBooleanExpression__Alternatives ) ) ;
-    public final void ruleUnaryBooleanExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:297:2: ( ( ( rule__UnaryBooleanExpression__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:298:1: ( ( rule__UnaryBooleanExpression__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:298:1: ( ( rule__UnaryBooleanExpression__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:299:1: ( rule__UnaryBooleanExpression__Alternatives )
-            {
-             before(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:300:1: ( rule__UnaryBooleanExpression__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:300:2: rule__UnaryBooleanExpression__Alternatives
-            {
-            pushFollow(FOLLOW_rule__UnaryBooleanExpression__Alternatives_in_ruleUnaryBooleanExpression573);
-            rule__UnaryBooleanExpression__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleUnaryBooleanExpression"
-
-
-    // $ANTLR start "entryRuleComparison"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:312:1: entryRuleComparison : ruleComparison EOF ;
-    public final void entryRuleComparison() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:313:1: ( ruleComparison EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:314:1: ruleComparison EOF
-            {
-             before(grammarAccess.getComparisonRule()); 
-            pushFollow(FOLLOW_ruleComparison_in_entryRuleComparison600);
-            ruleComparison();
-
-            state._fsp--;
-
-             after(grammarAccess.getComparisonRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleComparison607); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleComparison"
-
-
-    // $ANTLR start "ruleComparison"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:321:1: ruleComparison : ( ( rule__Comparison__Group__0 ) ) ;
-    public final void ruleComparison() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:325:2: ( ( ( rule__Comparison__Group__0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:326:1: ( ( rule__Comparison__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:326:1: ( ( rule__Comparison__Group__0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:327:1: ( rule__Comparison__Group__0 )
-            {
-             before(grammarAccess.getComparisonAccess().getGroup()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:328:1: ( rule__Comparison__Group__0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:328:2: rule__Comparison__Group__0
-            {
-            pushFollow(FOLLOW_rule__Comparison__Group__0_in_ruleComparison633);
-            rule__Comparison__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getComparisonAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleComparison"
-
-
-    // $ANTLR start "entryRuleTerm"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:340:1: entryRuleTerm : ruleTerm EOF ;
-    public final void entryRuleTerm() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:341:1: ( ruleTerm EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:342:1: ruleTerm EOF
-            {
-             before(grammarAccess.getTermRule()); 
-            pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm660);
-            ruleTerm();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleTerm667); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleTerm"
-
-
-    // $ANTLR start "ruleTerm"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:349:1: ruleTerm : ( ( rule__Term__Group__0 ) ) ;
-    public final void ruleTerm() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:353:2: ( ( ( rule__Term__Group__0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:354:1: ( ( rule__Term__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:354:1: ( ( rule__Term__Group__0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:355:1: ( rule__Term__Group__0 )
-            {
-             before(grammarAccess.getTermAccess().getGroup()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:356:1: ( rule__Term__Group__0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:356:2: rule__Term__Group__0
-            {
-            pushFollow(FOLLOW_rule__Term__Group__0_in_ruleTerm693);
-            rule__Term__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleTerm"
-
-
-    // $ANTLR start "entryRuleProduct"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:368:1: entryRuleProduct : ruleProduct EOF ;
-    public final void entryRuleProduct() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:369:1: ( ruleProduct EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:370:1: ruleProduct EOF
-            {
-             before(grammarAccess.getProductRule()); 
-            pushFollow(FOLLOW_ruleProduct_in_entryRuleProduct720);
-            ruleProduct();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleProduct727); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleProduct"
-
-
-    // $ANTLR start "ruleProduct"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:377:1: ruleProduct : ( ( rule__Product__Group__0 ) ) ;
-    public final void ruleProduct() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:381:2: ( ( ( rule__Product__Group__0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:382:1: ( ( rule__Product__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:382:1: ( ( rule__Product__Group__0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:383:1: ( rule__Product__Group__0 )
-            {
-             before(grammarAccess.getProductAccess().getGroup()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:384:1: ( rule__Product__Group__0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:384:2: rule__Product__Group__0
-            {
-            pushFollow(FOLLOW_rule__Product__Group__0_in_ruleProduct753);
-            rule__Product__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleProduct"
-
-
-    // $ANTLR start "entryRulePower"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:396:1: entryRulePower : rulePower EOF ;
-    public final void entryRulePower() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:397:1: ( rulePower EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:398:1: rulePower EOF
-            {
-             before(grammarAccess.getPowerRule()); 
-            pushFollow(FOLLOW_rulePower_in_entryRulePower780);
-            rulePower();
-
-            state._fsp--;
-
-             after(grammarAccess.getPowerRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePower787); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRulePower"
-
-
-    // $ANTLR start "rulePower"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:405:1: rulePower : ( ( rule__Power__Group__0 ) ) ;
-    public final void rulePower() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:409:2: ( ( ( rule__Power__Group__0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:410:1: ( ( rule__Power__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:410:1: ( ( rule__Power__Group__0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:411:1: ( rule__Power__Group__0 )
-            {
-             before(grammarAccess.getPowerAccess().getGroup()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:412:1: ( rule__Power__Group__0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:412:2: rule__Power__Group__0
-            {
-            pushFollow(FOLLOW_rule__Power__Group__0_in_rulePower813);
-            rule__Power__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPowerAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rulePower"
-
-
-    // $ANTLR start "entryRuleAtom"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:424:1: entryRuleAtom : ruleAtom EOF ;
-    public final void entryRuleAtom() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:425:1: ( ruleAtom EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:426:1: ruleAtom EOF
-            {
-             before(grammarAccess.getAtomRule()); 
-            pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom840);
-            ruleAtom();
-
-            state._fsp--;
-
-             after(grammarAccess.getAtomRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAtom847); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleAtom"
-
-
-    // $ANTLR start "ruleAtom"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:433:1: ruleAtom : ( ( rule__Atom__Alternatives ) ) ;
-    public final void ruleAtom() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:437:2: ( ( ( rule__Atom__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:438:1: ( ( rule__Atom__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:438:1: ( ( rule__Atom__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:439:1: ( rule__Atom__Alternatives )
-            {
-             before(grammarAccess.getAtomAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:440:1: ( rule__Atom__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:440:2: rule__Atom__Alternatives
-            {
-            pushFollow(FOLLOW_rule__Atom__Alternatives_in_ruleAtom873);
-            rule__Atom__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getAtomAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleAtom"
-
-
-    // $ANTLR start "entryRuleFunction"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:452:1: entryRuleFunction : ruleFunction EOF ;
-    public final void entryRuleFunction() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:453:1: ( ruleFunction EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:454:1: ruleFunction EOF
-            {
-             before(grammarAccess.getFunctionRule()); 
-            pushFollow(FOLLOW_ruleFunction_in_entryRuleFunction900);
-            ruleFunction();
-
-            state._fsp--;
-
-             after(grammarAccess.getFunctionRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFunction907); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleFunction"
-
-
-    // $ANTLR start "ruleFunction"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:461:1: ruleFunction : ( ( rule__Function__Group__0 ) ) ;
-    public final void ruleFunction() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:465:2: ( ( ( rule__Function__Group__0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:466:1: ( ( rule__Function__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:466:1: ( ( rule__Function__Group__0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:467:1: ( rule__Function__Group__0 )
-            {
-             before(grammarAccess.getFunctionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:468:1: ( rule__Function__Group__0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:468:2: rule__Function__Group__0
-            {
-            pushFollow(FOLLOW_rule__Function__Group__0_in_ruleFunction933);
-            rule__Function__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleFunction"
-
-
-    // $ANTLR start "entryRuleLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:480:1: entryRuleLiteral : ruleLiteral EOF ;
-    public final void entryRuleLiteral() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:481:1: ( ruleLiteral EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:482:1: ruleLiteral EOF
-            {
-             before(grammarAccess.getLiteralRule()); 
-            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral960);
-            ruleLiteral();
-
-            state._fsp--;
-
-             after(grammarAccess.getLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral967); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleLiteral"
-
-
-    // $ANTLR start "ruleLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:489:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
-    public final void ruleLiteral() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:493:2: ( ( ( rule__Literal__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:494:1: ( ( rule__Literal__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:494:1: ( ( rule__Literal__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:495:1: ( rule__Literal__Alternatives )
-            {
-             before(grammarAccess.getLiteralAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:496:1: ( rule__Literal__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:496:2: rule__Literal__Alternatives
-            {
-            pushFollow(FOLLOW_rule__Literal__Alternatives_in_ruleLiteral993);
-            rule__Literal__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getLiteralAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleLiteral"
-
-
-    // $ANTLR start "entryRuleFormalParameter"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:508:1: entryRuleFormalParameter : ruleFormalParameter EOF ;
-    public final void entryRuleFormalParameter() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:509:1: ( ruleFormalParameter EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:510:1: ruleFormalParameter EOF
-            {
-             before(grammarAccess.getFormalParameterRule()); 
-            pushFollow(FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter1020);
-            ruleFormalParameter();
-
-            state._fsp--;
-
-             after(grammarAccess.getFormalParameterRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFormalParameter1027); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleFormalParameter"
-
-
-    // $ANTLR start "ruleFormalParameter"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:517:1: ruleFormalParameter : ( ( rule__FormalParameter__ValueAssignment ) ) ;
-    public final void ruleFormalParameter() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:521:2: ( ( ( rule__FormalParameter__ValueAssignment ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:522:1: ( ( rule__FormalParameter__ValueAssignment ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:522:1: ( ( rule__FormalParameter__ValueAssignment ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:523:1: ( rule__FormalParameter__ValueAssignment )
-            {
-             before(grammarAccess.getFormalParameterAccess().getValueAssignment()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:524:1: ( rule__FormalParameter__ValueAssignment )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:524:2: rule__FormalParameter__ValueAssignment
-            {
-            pushFollow(FOLLOW_rule__FormalParameter__ValueAssignment_in_ruleFormalParameter1053);
-            rule__FormalParameter__ValueAssignment();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFormalParameterAccess().getValueAssignment()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleFormalParameter"
-
-
-    // $ANTLR start "entryRuleBooleanLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:536:1: entryRuleBooleanLiteral : ruleBooleanLiteral EOF ;
-    public final void entryRuleBooleanLiteral() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:537:1: ( ruleBooleanLiteral EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:538:1: ruleBooleanLiteral EOF
-            {
-             before(grammarAccess.getBooleanLiteralRule()); 
-            pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1080);
-            ruleBooleanLiteral();
-
-            state._fsp--;
-
-             after(grammarAccess.getBooleanLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral1087); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleBooleanLiteral"
-
-
-    // $ANTLR start "ruleBooleanLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:545:1: ruleBooleanLiteral : ( ( rule__BooleanLiteral__ValueAssignment ) ) ;
-    public final void ruleBooleanLiteral() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:549:2: ( ( ( rule__BooleanLiteral__ValueAssignment ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: ( ( rule__BooleanLiteral__ValueAssignment ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: ( ( rule__BooleanLiteral__ValueAssignment ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:551:1: ( rule__BooleanLiteral__ValueAssignment )
-            {
-             before(grammarAccess.getBooleanLiteralAccess().getValueAssignment()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:552:1: ( rule__BooleanLiteral__ValueAssignment )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:552:2: rule__BooleanLiteral__ValueAssignment
-            {
-            pushFollow(FOLLOW_rule__BooleanLiteral__ValueAssignment_in_ruleBooleanLiteral1113);
-            rule__BooleanLiteral__ValueAssignment();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBooleanLiteralAccess().getValueAssignment()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleBooleanLiteral"
-
-
-    // $ANTLR start "entryRuleNumberLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:564:1: entryRuleNumberLiteral : ruleNumberLiteral EOF ;
-    public final void entryRuleNumberLiteral() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:565:1: ( ruleNumberLiteral EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:566:1: ruleNumberLiteral EOF
-            {
-             before(grammarAccess.getNumberLiteralRule()); 
-            pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1140);
-            ruleNumberLiteral();
-
-            state._fsp--;
-
-             after(grammarAccess.getNumberLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral1147); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleNumberLiteral"
-
-
-    // $ANTLR start "ruleNumberLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:573:1: ruleNumberLiteral : ( ( rule__NumberLiteral__Alternatives ) ) ;
-    public final void ruleNumberLiteral() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:577:2: ( ( ( rule__NumberLiteral__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:578:1: ( ( rule__NumberLiteral__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:578:1: ( ( rule__NumberLiteral__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:579:1: ( rule__NumberLiteral__Alternatives )
-            {
-             before(grammarAccess.getNumberLiteralAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:580:1: ( rule__NumberLiteral__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:580:2: rule__NumberLiteral__Alternatives
-            {
-            pushFollow(FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1173);
-            rule__NumberLiteral__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getNumberLiteralAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleNumberLiteral"
-
-
-    // $ANTLR start "entryRuleIntLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:592:1: entryRuleIntLiteral : ruleIntLiteral EOF ;
-    public final void entryRuleIntLiteral() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:593:1: ( ruleIntLiteral EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:594:1: ruleIntLiteral EOF
-            {
-             before(grammarAccess.getIntLiteralRule()); 
-            pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1200);
-            ruleIntLiteral();
-
-            state._fsp--;
-
-             after(grammarAccess.getIntLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral1207); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleIntLiteral"
-
-
-    // $ANTLR start "ruleIntLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:601:1: ruleIntLiteral : ( ( rule__IntLiteral__ValueAssignment ) ) ;
-    public final void ruleIntLiteral() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:605:2: ( ( ( rule__IntLiteral__ValueAssignment ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:606:1: ( ( rule__IntLiteral__ValueAssignment ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:606:1: ( ( rule__IntLiteral__ValueAssignment ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:607:1: ( rule__IntLiteral__ValueAssignment )
-            {
-             before(grammarAccess.getIntLiteralAccess().getValueAssignment()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:608:1: ( rule__IntLiteral__ValueAssignment )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:608:2: rule__IntLiteral__ValueAssignment
-            {
-            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_in_ruleIntLiteral1233);
-            rule__IntLiteral__ValueAssignment();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIntLiteralAccess().getValueAssignment()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleIntLiteral"
-
-
-    // $ANTLR start "entryRuleDoubleLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:620:1: entryRuleDoubleLiteral : ruleDoubleLiteral EOF ;
-    public final void entryRuleDoubleLiteral() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:621:1: ( ruleDoubleLiteral EOF )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:622:1: ruleDoubleLiteral EOF
-            {
-             before(grammarAccess.getDoubleLiteralRule()); 
-            pushFollow(FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral1260);
-            ruleDoubleLiteral();
-
-            state._fsp--;
-
-             after(grammarAccess.getDoubleLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDoubleLiteral1267); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDoubleLiteral"
-
-
-    // $ANTLR start "ruleDoubleLiteral"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:629:1: ruleDoubleLiteral : ( ( rule__DoubleLiteral__ValueAssignment ) ) ;
-    public final void ruleDoubleLiteral() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:633:2: ( ( ( rule__DoubleLiteral__ValueAssignment ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:634:1: ( ( rule__DoubleLiteral__ValueAssignment ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:634:1: ( ( rule__DoubleLiteral__ValueAssignment ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:635:1: ( rule__DoubleLiteral__ValueAssignment )
-            {
-             before(grammarAccess.getDoubleLiteralAccess().getValueAssignment()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:636:1: ( rule__DoubleLiteral__ValueAssignment )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:636:2: rule__DoubleLiteral__ValueAssignment
-            {
-            pushFollow(FOLLOW_rule__DoubleLiteral__ValueAssignment_in_ruleDoubleLiteral1293);
-            rule__DoubleLiteral__ValueAssignment();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDoubleLiteralAccess().getValueAssignment()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDoubleLiteral"
-
-
-    // $ANTLR start "ruleProductOperation"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:649:1: ruleProductOperation : ( ( rule__ProductOperation__Alternatives ) ) ;
-    public final void ruleProductOperation() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:653:1: ( ( ( rule__ProductOperation__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:654:1: ( ( rule__ProductOperation__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:654:1: ( ( rule__ProductOperation__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:655:1: ( rule__ProductOperation__Alternatives )
-            {
-             before(grammarAccess.getProductOperationAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:656:1: ( rule__ProductOperation__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:656:2: rule__ProductOperation__Alternatives
-            {
-            pushFollow(FOLLOW_rule__ProductOperation__Alternatives_in_ruleProductOperation1330);
-            rule__ProductOperation__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductOperationAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleProductOperation"
-
-
-    // $ANTLR start "ruleTermOperation"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:668:1: ruleTermOperation : ( ( rule__TermOperation__Alternatives ) ) ;
-    public final void ruleTermOperation() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:672:1: ( ( ( rule__TermOperation__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:673:1: ( ( rule__TermOperation__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:673:1: ( ( rule__TermOperation__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:674:1: ( rule__TermOperation__Alternatives )
-            {
-             before(grammarAccess.getTermOperationAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:675:1: ( rule__TermOperation__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:675:2: rule__TermOperation__Alternatives
-            {
-            pushFollow(FOLLOW_rule__TermOperation__Alternatives_in_ruleTermOperation1366);
-            rule__TermOperation__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermOperationAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleTermOperation"
-
-
-    // $ANTLR start "ruleCompareOperation"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:687:1: ruleCompareOperation : ( ( rule__CompareOperation__Alternatives ) ) ;
-    public final void ruleCompareOperation() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:691:1: ( ( ( rule__CompareOperation__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:692:1: ( ( rule__CompareOperation__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:692:1: ( ( rule__CompareOperation__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:693:1: ( rule__CompareOperation__Alternatives )
-            {
-             before(grammarAccess.getCompareOperationAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:694:1: ( rule__CompareOperation__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:694:2: rule__CompareOperation__Alternatives
-            {
-            pushFollow(FOLLOW_rule__CompareOperation__Alternatives_in_ruleCompareOperation1402);
-            rule__CompareOperation__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getCompareOperationAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleCompareOperation"
-
-
-    // $ANTLR start "ruleBooleanOperation"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:706:1: ruleBooleanOperation : ( ( rule__BooleanOperation__Alternatives ) ) ;
-    public final void ruleBooleanOperation() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:710:1: ( ( ( rule__BooleanOperation__Alternatives ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:711:1: ( ( rule__BooleanOperation__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:711:1: ( ( rule__BooleanOperation__Alternatives ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:712:1: ( rule__BooleanOperation__Alternatives )
-            {
-             before(grammarAccess.getBooleanOperationAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:713:1: ( rule__BooleanOperation__Alternatives )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:713:2: rule__BooleanOperation__Alternatives
-            {
-            pushFollow(FOLLOW_rule__BooleanOperation__Alternatives_in_ruleBooleanOperation1438);
-            rule__BooleanOperation__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBooleanOperationAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleBooleanOperation"
-
-
-    // $ANTLR start "rule__EString__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:724:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) );
-    public final void rule__EString__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:728:1: ( ( RULE_STRING ) | ( RULE_ID ) )
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0==RULE_STRING) ) {
-                alt1=1;
-            }
-            else if ( (LA1_0==RULE_ID) ) {
-                alt1=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 1, 0, input);
-
-                throw nvae;
-            }
-            switch (alt1) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:729:1: ( RULE_STRING )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:729:1: ( RULE_STRING )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:730:1: RULE_STRING
-                    {
-                     before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EString__Alternatives1473); 
-                     after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:735:6: ( RULE_ID )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:735:6: ( RULE_ID )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:736:1: RULE_ID
-                    {
-                     before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-                    match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EString__Alternatives1490); 
-                     after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EString__Alternatives"
-
-
-    // $ANTLR start "rule__EBoolean__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:746:1: rule__EBoolean__Alternatives : ( ( 'true' ) | ( 'false' ) );
-    public final void rule__EBoolean__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:750:1: ( ( 'true' ) | ( 'false' ) )
-            int alt2=2;
-            int LA2_0 = input.LA(1);
-
-            if ( (LA2_0==11) ) {
-                alt2=1;
-            }
-            else if ( (LA2_0==12) ) {
-                alt2=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 2, 0, input);
-
-                throw nvae;
-            }
-            switch (alt2) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:751:1: ( 'true' )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:751:1: ( 'true' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:752:1: 'true'
-                    {
-                     before(grammarAccess.getEBooleanAccess().getTrueKeyword_0()); 
-                    match(input,11,FOLLOW_11_in_rule__EBoolean__Alternatives1523); 
-                     after(grammarAccess.getEBooleanAccess().getTrueKeyword_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:759:6: ( 'false' )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:759:6: ( 'false' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:760:1: 'false'
-                    {
-                     before(grammarAccess.getEBooleanAccess().getFalseKeyword_1()); 
-                    match(input,12,FOLLOW_12_in_rule__EBoolean__Alternatives1543); 
-                     after(grammarAccess.getEBooleanAccess().getFalseKeyword_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBoolean__Alternatives"
-
-
-    // $ANTLR start "rule__UnaryBooleanExpression__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:772:1: rule__UnaryBooleanExpression__Alternatives : ( ( ( rule__UnaryBooleanExpression__Group_0__0 ) ) | ( ruleComparison ) );
-    public final void rule__UnaryBooleanExpression__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:776:1: ( ( ( rule__UnaryBooleanExpression__Group_0__0 ) ) | ( ruleComparison ) )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0==30) ) {
-                alt3=1;
-            }
-            else if ( ((LA3_0>=RULE_STRING && LA3_0<=RULE_INT)||(LA3_0>=11 && LA3_0<=12)||LA3_0==17||LA3_0==32) ) {
-                alt3=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:777:1: ( ( rule__UnaryBooleanExpression__Group_0__0 ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:777:1: ( ( rule__UnaryBooleanExpression__Group_0__0 ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:778:1: ( rule__UnaryBooleanExpression__Group_0__0 )
-                    {
-                     before(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:779:1: ( rule__UnaryBooleanExpression__Group_0__0 )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:779:2: rule__UnaryBooleanExpression__Group_0__0
-                    {
-                    pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__0_in_rule__UnaryBooleanExpression__Alternatives1577);
-                    rule__UnaryBooleanExpression__Group_0__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:783:6: ( ruleComparison )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:783:6: ( ruleComparison )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:784:1: ruleComparison
-                    {
-                     before(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleComparison_in_rule__UnaryBooleanExpression__Alternatives1595);
-                    ruleComparison();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__UnaryBooleanExpression__Alternatives"
-
-
-    // $ANTLR start "rule__Atom__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:794:1: rule__Atom__Alternatives : ( ( ruleLiteral ) | ( ( rule__Atom__Group_1__0 ) ) | ( ruleFunction ) );
-    public final void rule__Atom__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:798:1: ( ( ruleLiteral ) | ( ( rule__Atom__Group_1__0 ) ) | ( ruleFunction ) )
-            int alt4=3;
-            switch ( input.LA(1) ) {
-            case RULE_STRING:
-            case RULE_INT:
-            case 11:
-            case 12:
-            case 17:
-                {
-                alt4=1;
-                }
-                break;
-            case RULE_ID:
-                {
-                int LA4_2 = input.LA(2);
-
-                if ( (LA4_2==32) ) {
-                    alt4=3;
-                }
-                else if ( (LA4_2==EOF||(LA4_2>=13 && LA4_2<=26)||(LA4_2>=28 && LA4_2<=29)||LA4_2==31||(LA4_2>=33 && LA4_2<=34)) ) {
-                    alt4=1;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 4, 2, input);
-
-                    throw nvae;
-                }
-                }
-                break;
-            case 32:
-                {
-                alt4=2;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 4, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt4) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:799:1: ( ruleLiteral )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:799:1: ( ruleLiteral )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:800:1: ruleLiteral
-                    {
-                     before(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleLiteral_in_rule__Atom__Alternatives1627);
-                    ruleLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:805:6: ( ( rule__Atom__Group_1__0 ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:805:6: ( ( rule__Atom__Group_1__0 ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:806:1: ( rule__Atom__Group_1__0 )
-                    {
-                     before(grammarAccess.getAtomAccess().getGroup_1()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:807:1: ( rule__Atom__Group_1__0 )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:807:2: rule__Atom__Group_1__0
-                    {
-                    pushFollow(FOLLOW_rule__Atom__Group_1__0_in_rule__Atom__Alternatives1644);
-                    rule__Atom__Group_1__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getAtomAccess().getGroup_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:811:6: ( ruleFunction )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:811:6: ( ruleFunction )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:812:1: ruleFunction
-                    {
-                     before(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleFunction_in_rule__Atom__Alternatives1662);
-                    ruleFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Atom__Alternatives"
-
-
-    // $ANTLR start "rule__Literal__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:822:1: rule__Literal__Alternatives : ( ( ruleNumberLiteral ) | ( ruleBooleanLiteral ) | ( ruleFormalParameter ) );
-    public final void rule__Literal__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:826:1: ( ( ruleNumberLiteral ) | ( ruleBooleanLiteral ) | ( ruleFormalParameter ) )
-            int alt5=3;
-            switch ( input.LA(1) ) {
-            case RULE_INT:
-            case 17:
-                {
-                alt5=1;
-                }
-                break;
-            case 11:
-            case 12:
-                {
-                alt5=2;
-                }
-                break;
-            case RULE_STRING:
-            case RULE_ID:
-                {
-                alt5=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 5, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt5) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:827:1: ( ruleNumberLiteral )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:827:1: ( ruleNumberLiteral )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:828:1: ruleNumberLiteral
-                    {
-                     before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1694);
-                    ruleNumberLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:833:6: ( ruleBooleanLiteral )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:833:6: ( ruleBooleanLiteral )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:834:1: ruleBooleanLiteral
-                    {
-                     before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1711);
-                    ruleBooleanLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:839:6: ( ruleFormalParameter )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:839:6: ( ruleFormalParameter )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:840:1: ruleFormalParameter
-                    {
-                     before(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleFormalParameter_in_rule__Literal__Alternatives1728);
-                    ruleFormalParameter();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Literal__Alternatives"
-
-
-    // $ANTLR start "rule__NumberLiteral__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:850:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleDoubleLiteral ) );
-    public final void rule__NumberLiteral__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:854:1: ( ( ruleIntLiteral ) | ( ruleDoubleLiteral ) )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0==17) ) {
-                int LA6_1 = input.LA(2);
-
-                if ( (LA6_1==RULE_INT) ) {
-                    int LA6_2 = input.LA(3);
-
-                    if ( (LA6_2==27) ) {
-                        alt6=2;
-                    }
-                    else if ( (LA6_2==EOF||(LA6_2>=13 && LA6_2<=26)||(LA6_2>=28 && LA6_2<=29)||LA6_2==31||(LA6_2>=33 && LA6_2<=34)) ) {
-                        alt6=1;
-                    }
-                    else {
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 6, 2, input);
-
-                        throw nvae;
-                    }
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 6, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else if ( (LA6_0==RULE_INT) ) {
-                int LA6_2 = input.LA(2);
-
-                if ( (LA6_2==27) ) {
-                    alt6=2;
-                }
-                else if ( (LA6_2==EOF||(LA6_2>=13 && LA6_2<=26)||(LA6_2>=28 && LA6_2<=29)||LA6_2==31||(LA6_2>=33 && LA6_2<=34)) ) {
-                    alt6=1;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 6, 2, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:855:1: ( ruleIntLiteral )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:855:1: ( ruleIntLiteral )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:856:1: ruleIntLiteral
-                    {
-                     before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1760);
-                    ruleIntLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:861:6: ( ruleDoubleLiteral )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:861:6: ( ruleDoubleLiteral )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:862:1: ruleDoubleLiteral
-                    {
-                     before(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleDoubleLiteral_in_rule__NumberLiteral__Alternatives1777);
-                    ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NumberLiteral__Alternatives"
-
-
-    // $ANTLR start "rule__ProductOperation__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:872:1: rule__ProductOperation__Alternatives : ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) );
-    public final void rule__ProductOperation__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:876:1: ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) )
-            int alt7=3;
-            switch ( input.LA(1) ) {
-            case 13:
-                {
-                alt7=1;
-                }
-                break;
-            case 14:
-                {
-                alt7=2;
-                }
-                break;
-            case 15:
-                {
-                alt7=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 7, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt7) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:877:1: ( ( '*' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:877:1: ( ( '*' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:878:1: ( '*' )
-                    {
-                     before(grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:879:1: ( '*' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:879:3: '*'
-                    {
-                    match(input,13,FOLLOW_13_in_rule__ProductOperation__Alternatives1810); 
-
-                    }
-
-                     after(grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:884:6: ( ( '/' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:884:6: ( ( '/' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:885:1: ( '/' )
-                    {
-                     before(grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:886:1: ( '/' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:886:3: '/'
-                    {
-                    match(input,14,FOLLOW_14_in_rule__ProductOperation__Alternatives1831); 
-
-                    }
-
-                     after(grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:891:6: ( ( '%' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:891:6: ( ( '%' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:892:1: ( '%' )
-                    {
-                     before(grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:893:1: ( '%' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:893:3: '%'
-                    {
-                    match(input,15,FOLLOW_15_in_rule__ProductOperation__Alternatives1852); 
-
-                    }
-
-                     after(grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductOperation__Alternatives"
-
-
-    // $ANTLR start "rule__TermOperation__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:903:1: rule__TermOperation__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) );
-    public final void rule__TermOperation__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:907:1: ( ( ( '+' ) ) | ( ( '-' ) ) )
-            int alt8=2;
-            int LA8_0 = input.LA(1);
-
-            if ( (LA8_0==16) ) {
-                alt8=1;
-            }
-            else if ( (LA8_0==17) ) {
-                alt8=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 8, 0, input);
-
-                throw nvae;
-            }
-            switch (alt8) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:908:1: ( ( '+' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:908:1: ( ( '+' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:909:1: ( '+' )
-                    {
-                     before(grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:910:1: ( '+' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:910:3: '+'
-                    {
-                    match(input,16,FOLLOW_16_in_rule__TermOperation__Alternatives1888); 
-
-                    }
-
-                     after(grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:915:6: ( ( '-' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:915:6: ( ( '-' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:916:1: ( '-' )
-                    {
-                     before(grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:917:1: ( '-' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:917:3: '-'
-                    {
-                    match(input,17,FOLLOW_17_in_rule__TermOperation__Alternatives1909); 
-
-                    }
-
-                     after(grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermOperation__Alternatives"
-
-
-    // $ANTLR start "rule__CompareOperation__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:927:1: rule__CompareOperation__Alternatives : ( ( ( '>' ) ) | ( ( '<' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<=' ) ) | ( ( '>=' ) ) );
-    public final void rule__CompareOperation__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:931:1: ( ( ( '>' ) ) | ( ( '<' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<=' ) ) | ( ( '>=' ) ) )
-            int alt9=6;
-            switch ( input.LA(1) ) {
-            case 18:
-                {
-                alt9=1;
-                }
-                break;
-            case 19:
-                {
-                alt9=2;
-                }
-                break;
-            case 20:
-                {
-                alt9=3;
-                }
-                break;
-            case 21:
-                {
-                alt9=4;
-                }
-                break;
-            case 22:
-                {
-                alt9=5;
-                }
-                break;
-            case 23:
-                {
-                alt9=6;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 9, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt9) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:932:1: ( ( '>' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:932:1: ( ( '>' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:933:1: ( '>' )
-                    {
-                     before(grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:934:1: ( '>' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:934:3: '>'
-                    {
-                    match(input,18,FOLLOW_18_in_rule__CompareOperation__Alternatives1945); 
-
-                    }
-
-                     after(grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:939:6: ( ( '<' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:939:6: ( ( '<' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:940:1: ( '<' )
-                    {
-                     before(grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:941:1: ( '<' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:941:3: '<'
-                    {
-                    match(input,19,FOLLOW_19_in_rule__CompareOperation__Alternatives1966); 
-
-                    }
-
-                     after(grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:946:6: ( ( '=' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:946:6: ( ( '=' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:947:1: ( '=' )
-                    {
-                     before(grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:948:1: ( '=' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:948:3: '='
-                    {
-                    match(input,20,FOLLOW_20_in_rule__CompareOperation__Alternatives1987); 
-
-                    }
-
-                     after(grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:953:6: ( ( '!=' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:953:6: ( ( '!=' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:954:1: ( '!=' )
-                    {
-                     before(grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:955:1: ( '!=' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:955:3: '!='
-                    {
-                    match(input,21,FOLLOW_21_in_rule__CompareOperation__Alternatives2008); 
-
-                    }
-
-                     after(grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:960:6: ( ( '<=' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:960:6: ( ( '<=' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:961:1: ( '<=' )
-                    {
-                     before(grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:962:1: ( '<=' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:962:3: '<='
-                    {
-                    match(input,22,FOLLOW_22_in_rule__CompareOperation__Alternatives2029); 
-
-                    }
-
-                     after(grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:967:6: ( ( '>=' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:967:6: ( ( '>=' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:968:1: ( '>=' )
-                    {
-                     before(grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:969:1: ( '>=' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:969:3: '>='
-                    {
-                    match(input,23,FOLLOW_23_in_rule__CompareOperation__Alternatives2050); 
-
-                    }
-
-                     after(grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareOperation__Alternatives"
-
-
-    // $ANTLR start "rule__BooleanOperation__Alternatives"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:979:1: rule__BooleanOperation__Alternatives : ( ( ( 'AND' ) ) | ( ( 'OR' ) ) | ( ( 'XOR' ) ) );
-    public final void rule__BooleanOperation__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:983:1: ( ( ( 'AND' ) ) | ( ( 'OR' ) ) | ( ( 'XOR' ) ) )
-            int alt10=3;
-            switch ( input.LA(1) ) {
-            case 24:
-                {
-                alt10=1;
-                }
-                break;
-            case 25:
-                {
-                alt10=2;
-                }
-                break;
-            case 26:
-                {
-                alt10=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt10) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:984:1: ( ( 'AND' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:984:1: ( ( 'AND' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:985:1: ( 'AND' )
-                    {
-                     before(grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:986:1: ( 'AND' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:986:3: 'AND'
-                    {
-                    match(input,24,FOLLOW_24_in_rule__BooleanOperation__Alternatives2086); 
-
-                    }
-
-                     after(grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:991:6: ( ( 'OR' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:991:6: ( ( 'OR' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:992:1: ( 'OR' )
-                    {
-                     before(grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:993:1: ( 'OR' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:993:3: 'OR'
-                    {
-                    match(input,25,FOLLOW_25_in_rule__BooleanOperation__Alternatives2107); 
-
-                    }
-
-                     after(grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:998:6: ( ( 'XOR' ) )
-                    {
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:998:6: ( ( 'XOR' ) )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:999:1: ( 'XOR' )
-                    {
-                     before(grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); 
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1000:1: ( 'XOR' )
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1000:3: 'XOR'
-                    {
-                    match(input,26,FOLLOW_26_in_rule__BooleanOperation__Alternatives2128); 
-
-                    }
-
-                     after(grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperation__Alternatives"
-
-
-    // $ANTLR start "rule__Double__Group__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1012:1: rule__Double__Group__0 : rule__Double__Group__0__Impl rule__Double__Group__1 ;
-    public final void rule__Double__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1016:1: ( rule__Double__Group__0__Impl rule__Double__Group__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1017:2: rule__Double__Group__0__Impl rule__Double__Group__1
-            {
-            pushFollow(FOLLOW_rule__Double__Group__0__Impl_in_rule__Double__Group__02161);
-            rule__Double__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Double__Group__1_in_rule__Double__Group__02164);
-            rule__Double__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Double__Group__0"
-
-
-    // $ANTLR start "rule__Double__Group__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1024:1: rule__Double__Group__0__Impl : ( ( '-' )? ) ;
-    public final void rule__Double__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1028:1: ( ( ( '-' )? ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1029:1: ( ( '-' )? )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1029:1: ( ( '-' )? )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1030:1: ( '-' )?
-            {
-             before(grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1031:1: ( '-' )?
-            int alt11=2;
-            int LA11_0 = input.LA(1);
-
-            if ( (LA11_0==17) ) {
-                alt11=1;
-            }
-            switch (alt11) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1032:2: '-'
-                    {
-                    match(input,17,FOLLOW_17_in_rule__Double__Group__0__Impl2193); 
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Double__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Double__Group__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1043:1: rule__Double__Group__1 : rule__Double__Group__1__Impl rule__Double__Group__2 ;
-    public final void rule__Double__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1047:1: ( rule__Double__Group__1__Impl rule__Double__Group__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1048:2: rule__Double__Group__1__Impl rule__Double__Group__2
-            {
-            pushFollow(FOLLOW_rule__Double__Group__1__Impl_in_rule__Double__Group__12226);
-            rule__Double__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Double__Group__2_in_rule__Double__Group__12229);
-            rule__Double__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Double__Group__1"
-
-
-    // $ANTLR start "rule__Double__Group__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1055:1: rule__Double__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__Double__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1059:1: ( ( RULE_INT ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1060:1: ( RULE_INT )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1060:1: ( RULE_INT )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1061:1: RULE_INT
-            {
-             before(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Double__Group__1__Impl2256); 
-             after(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Double__Group__1__Impl"
-
-
-    // $ANTLR start "rule__Double__Group__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1072:1: rule__Double__Group__2 : rule__Double__Group__2__Impl rule__Double__Group__3 ;
-    public final void rule__Double__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1076:1: ( rule__Double__Group__2__Impl rule__Double__Group__3 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1077:2: rule__Double__Group__2__Impl rule__Double__Group__3
-            {
-            pushFollow(FOLLOW_rule__Double__Group__2__Impl_in_rule__Double__Group__22285);
-            rule__Double__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Double__Group__3_in_rule__Double__Group__22288);
-            rule__Double__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Double__Group__2"
-
-
-    // $ANTLR start "rule__Double__Group__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1084:1: rule__Double__Group__2__Impl : ( '.' ) ;
-    public final void rule__Double__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1088:1: ( ( '.' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1089:1: ( '.' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1089:1: ( '.' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1090:1: '.'
-            {
-             before(grammarAccess.getDoubleAccess().getFullStopKeyword_2()); 
-            match(input,27,FOLLOW_27_in_rule__Double__Group__2__Impl2316); 
-             after(grammarAccess.getDoubleAccess().getFullStopKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Double__Group__2__Impl"
-
-
-    // $ANTLR start "rule__Double__Group__3"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1103:1: rule__Double__Group__3 : rule__Double__Group__3__Impl ;
-    public final void rule__Double__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1107:1: ( rule__Double__Group__3__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1108:2: rule__Double__Group__3__Impl
-            {
-            pushFollow(FOLLOW_rule__Double__Group__3__Impl_in_rule__Double__Group__32347);
-            rule__Double__Group__3__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Double__Group__3"
-
-
-    // $ANTLR start "rule__Double__Group__3__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1114:1: rule__Double__Group__3__Impl : ( RULE_INT ) ;
-    public final void rule__Double__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1118:1: ( ( RULE_INT ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1119:1: ( RULE_INT )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1119:1: ( RULE_INT )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1120:1: RULE_INT
-            {
-             before(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Double__Group__3__Impl2374); 
-             after(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Double__Group__3__Impl"
-
-
-    // $ANTLR start "rule__Integer__Group__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1139:1: rule__Integer__Group__0 : rule__Integer__Group__0__Impl rule__Integer__Group__1 ;
-    public final void rule__Integer__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1143:1: ( rule__Integer__Group__0__Impl rule__Integer__Group__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1144:2: rule__Integer__Group__0__Impl rule__Integer__Group__1
-            {
-            pushFollow(FOLLOW_rule__Integer__Group__0__Impl_in_rule__Integer__Group__02411);
-            rule__Integer__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Integer__Group__1_in_rule__Integer__Group__02414);
-            rule__Integer__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Integer__Group__0"
-
-
-    // $ANTLR start "rule__Integer__Group__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1151:1: rule__Integer__Group__0__Impl : ( ( '-' )? ) ;
-    public final void rule__Integer__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1155:1: ( ( ( '-' )? ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1156:1: ( ( '-' )? )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1156:1: ( ( '-' )? )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1157:1: ( '-' )?
-            {
-             before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1158:1: ( '-' )?
-            int alt12=2;
-            int LA12_0 = input.LA(1);
-
-            if ( (LA12_0==17) ) {
-                alt12=1;
-            }
-            switch (alt12) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1159:2: '-'
-                    {
-                    match(input,17,FOLLOW_17_in_rule__Integer__Group__0__Impl2443); 
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Integer__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Integer__Group__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1170:1: rule__Integer__Group__1 : rule__Integer__Group__1__Impl ;
-    public final void rule__Integer__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1174:1: ( rule__Integer__Group__1__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1175:2: rule__Integer__Group__1__Impl
-            {
-            pushFollow(FOLLOW_rule__Integer__Group__1__Impl_in_rule__Integer__Group__12476);
-            rule__Integer__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Integer__Group__1"
-
-
-    // $ANTLR start "rule__Integer__Group__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1181:1: rule__Integer__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__Integer__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1185:1: ( ( RULE_INT ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1186:1: ( RULE_INT )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1186:1: ( RULE_INT )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1187:1: RULE_INT
-            {
-             before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Integer__Group__1__Impl2503); 
-             after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Integer__Group__1__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1202:1: rule__IfElseExpression__Group__0 : rule__IfElseExpression__Group__0__Impl rule__IfElseExpression__Group__1 ;
-    public final void rule__IfElseExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1206:1: ( rule__IfElseExpression__Group__0__Impl rule__IfElseExpression__Group__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1207:2: rule__IfElseExpression__Group__0__Impl rule__IfElseExpression__Group__1
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__Group__0__Impl_in_rule__IfElseExpression__Group__02536);
-            rule__IfElseExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__IfElseExpression__Group__1_in_rule__IfElseExpression__Group__02539);
-            rule__IfElseExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__0"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1214:1: rule__IfElseExpression__Group__0__Impl : ( ruleBinaryBooleanExpression ) ;
-    public final void rule__IfElseExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1218:1: ( ( ruleBinaryBooleanExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1219:1: ( ruleBinaryBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1219:1: ( ruleBinaryBooleanExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1220:1: ruleBinaryBooleanExpression
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleBinaryBooleanExpression_in_rule__IfElseExpression__Group__0__Impl2566);
-            ruleBinaryBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1231:1: rule__IfElseExpression__Group__1 : rule__IfElseExpression__Group__1__Impl ;
-    public final void rule__IfElseExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1235:1: ( rule__IfElseExpression__Group__1__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1236:2: rule__IfElseExpression__Group__1__Impl
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__Group__1__Impl_in_rule__IfElseExpression__Group__12595);
-            rule__IfElseExpression__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__1"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1242:1: rule__IfElseExpression__Group__1__Impl : ( ( rule__IfElseExpression__Group_1__0 )? ) ;
-    public final void rule__IfElseExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1246:1: ( ( ( rule__IfElseExpression__Group_1__0 )? ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1247:1: ( ( rule__IfElseExpression__Group_1__0 )? )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1247:1: ( ( rule__IfElseExpression__Group_1__0 )? )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1248:1: ( rule__IfElseExpression__Group_1__0 )?
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getGroup_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1249:1: ( rule__IfElseExpression__Group_1__0 )?
-            int alt13=2;
-            int LA13_0 = input.LA(1);
-
-            if ( (LA13_0==28) ) {
-                alt13=1;
-            }
-            switch (alt13) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1249:2: rule__IfElseExpression__Group_1__0
-                    {
-                    pushFollow(FOLLOW_rule__IfElseExpression__Group_1__0_in_rule__IfElseExpression__Group__1__Impl2622);
-                    rule__IfElseExpression__Group_1__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getIfElseExpressionAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1263:1: rule__IfElseExpression__Group_1__0 : rule__IfElseExpression__Group_1__0__Impl rule__IfElseExpression__Group_1__1 ;
-    public final void rule__IfElseExpression__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1267:1: ( rule__IfElseExpression__Group_1__0__Impl rule__IfElseExpression__Group_1__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1268:2: rule__IfElseExpression__Group_1__0__Impl rule__IfElseExpression__Group_1__1
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__Group_1__0__Impl_in_rule__IfElseExpression__Group_1__02657);
-            rule__IfElseExpression__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__IfElseExpression__Group_1__1_in_rule__IfElseExpression__Group_1__02660);
-            rule__IfElseExpression__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__0"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1275:1: rule__IfElseExpression__Group_1__0__Impl : ( () ) ;
-    public final void rule__IfElseExpression__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1279:1: ( ( () ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1280:1: ( () )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1280:1: ( () )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1281:1: ()
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1282:1: ()
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1284:1: 
-            {
-            }
-
-             after(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1294:1: rule__IfElseExpression__Group_1__1 : rule__IfElseExpression__Group_1__1__Impl rule__IfElseExpression__Group_1__2 ;
-    public final void rule__IfElseExpression__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1298:1: ( rule__IfElseExpression__Group_1__1__Impl rule__IfElseExpression__Group_1__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1299:2: rule__IfElseExpression__Group_1__1__Impl rule__IfElseExpression__Group_1__2
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__Group_1__1__Impl_in_rule__IfElseExpression__Group_1__12718);
-            rule__IfElseExpression__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__IfElseExpression__Group_1__2_in_rule__IfElseExpression__Group_1__12721);
-            rule__IfElseExpression__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__1"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1306:1: rule__IfElseExpression__Group_1__1__Impl : ( '?' ) ;
-    public final void rule__IfElseExpression__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1310:1: ( ( '?' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1311:1: ( '?' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1311:1: ( '?' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1312:1: '?'
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); 
-            match(input,28,FOLLOW_28_in_rule__IfElseExpression__Group_1__1__Impl2749); 
-             after(grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1325:1: rule__IfElseExpression__Group_1__2 : rule__IfElseExpression__Group_1__2__Impl rule__IfElseExpression__Group_1__3 ;
-    public final void rule__IfElseExpression__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1329:1: ( rule__IfElseExpression__Group_1__2__Impl rule__IfElseExpression__Group_1__3 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1330:2: rule__IfElseExpression__Group_1__2__Impl rule__IfElseExpression__Group_1__3
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__Group_1__2__Impl_in_rule__IfElseExpression__Group_1__22780);
-            rule__IfElseExpression__Group_1__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__IfElseExpression__Group_1__3_in_rule__IfElseExpression__Group_1__22783);
-            rule__IfElseExpression__Group_1__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__2"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1337:1: rule__IfElseExpression__Group_1__2__Impl : ( ( rule__IfElseExpression__TrueExpAssignment_1_2 ) ) ;
-    public final void rule__IfElseExpression__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1341:1: ( ( ( rule__IfElseExpression__TrueExpAssignment_1_2 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1342:1: ( ( rule__IfElseExpression__TrueExpAssignment_1_2 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1342:1: ( ( rule__IfElseExpression__TrueExpAssignment_1_2 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1343:1: ( rule__IfElseExpression__TrueExpAssignment_1_2 )
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1344:1: ( rule__IfElseExpression__TrueExpAssignment_1_2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1344:2: rule__IfElseExpression__TrueExpAssignment_1_2
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__TrueExpAssignment_1_2_in_rule__IfElseExpression__Group_1__2__Impl2810);
-            rule__IfElseExpression__TrueExpAssignment_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__3"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1354:1: rule__IfElseExpression__Group_1__3 : rule__IfElseExpression__Group_1__3__Impl rule__IfElseExpression__Group_1__4 ;
-    public final void rule__IfElseExpression__Group_1__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1358:1: ( rule__IfElseExpression__Group_1__3__Impl rule__IfElseExpression__Group_1__4 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1359:2: rule__IfElseExpression__Group_1__3__Impl rule__IfElseExpression__Group_1__4
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__Group_1__3__Impl_in_rule__IfElseExpression__Group_1__32840);
-            rule__IfElseExpression__Group_1__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__IfElseExpression__Group_1__4_in_rule__IfElseExpression__Group_1__32843);
-            rule__IfElseExpression__Group_1__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__3"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__3__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1366:1: rule__IfElseExpression__Group_1__3__Impl : ( ':' ) ;
-    public final void rule__IfElseExpression__Group_1__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1370:1: ( ( ':' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1371:1: ( ':' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1371:1: ( ':' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1372:1: ':'
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); 
-            match(input,29,FOLLOW_29_in_rule__IfElseExpression__Group_1__3__Impl2871); 
-             after(grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__3__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__4"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1385:1: rule__IfElseExpression__Group_1__4 : rule__IfElseExpression__Group_1__4__Impl ;
-    public final void rule__IfElseExpression__Group_1__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1389:1: ( rule__IfElseExpression__Group_1__4__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1390:2: rule__IfElseExpression__Group_1__4__Impl
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__Group_1__4__Impl_in_rule__IfElseExpression__Group_1__42902);
-            rule__IfElseExpression__Group_1__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__4"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group_1__4__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1396:1: rule__IfElseExpression__Group_1__4__Impl : ( ( rule__IfElseExpression__FalseExpAssignment_1_4 ) ) ;
-    public final void rule__IfElseExpression__Group_1__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1400:1: ( ( ( rule__IfElseExpression__FalseExpAssignment_1_4 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1401:1: ( ( rule__IfElseExpression__FalseExpAssignment_1_4 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1401:1: ( ( rule__IfElseExpression__FalseExpAssignment_1_4 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1402:1: ( rule__IfElseExpression__FalseExpAssignment_1_4 )
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1403:1: ( rule__IfElseExpression__FalseExpAssignment_1_4 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1403:2: rule__IfElseExpression__FalseExpAssignment_1_4
-            {
-            pushFollow(FOLLOW_rule__IfElseExpression__FalseExpAssignment_1_4_in_rule__IfElseExpression__Group_1__4__Impl2929);
-            rule__IfElseExpression__FalseExpAssignment_1_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group_1__4__Impl"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1423:1: rule__BinaryBooleanExpression__Group__0 : rule__BinaryBooleanExpression__Group__0__Impl rule__BinaryBooleanExpression__Group__1 ;
-    public final void rule__BinaryBooleanExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1427:1: ( rule__BinaryBooleanExpression__Group__0__Impl rule__BinaryBooleanExpression__Group__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1428:2: rule__BinaryBooleanExpression__Group__0__Impl rule__BinaryBooleanExpression__Group__1
-            {
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group__0__Impl_in_rule__BinaryBooleanExpression__Group__02969);
-            rule__BinaryBooleanExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group__1_in_rule__BinaryBooleanExpression__Group__02972);
-            rule__BinaryBooleanExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group__0"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1435:1: rule__BinaryBooleanExpression__Group__0__Impl : ( ruleUnaryBooleanExpression ) ;
-    public final void rule__BinaryBooleanExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1439:1: ( ( ruleUnaryBooleanExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1440:1: ( ruleUnaryBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1440:1: ( ruleUnaryBooleanExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1441:1: ruleUnaryBooleanExpression
-            {
-             before(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_rule__BinaryBooleanExpression__Group__0__Impl2999);
-            ruleUnaryBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1452:1: rule__BinaryBooleanExpression__Group__1 : rule__BinaryBooleanExpression__Group__1__Impl ;
-    public final void rule__BinaryBooleanExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1456:1: ( rule__BinaryBooleanExpression__Group__1__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1457:2: rule__BinaryBooleanExpression__Group__1__Impl
-            {
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group__1__Impl_in_rule__BinaryBooleanExpression__Group__13028);
-            rule__BinaryBooleanExpression__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group__1"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1463:1: rule__BinaryBooleanExpression__Group__1__Impl : ( ( rule__BinaryBooleanExpression__Group_1__0 )* ) ;
-    public final void rule__BinaryBooleanExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1467:1: ( ( ( rule__BinaryBooleanExpression__Group_1__0 )* ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1468:1: ( ( rule__BinaryBooleanExpression__Group_1__0 )* )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1468:1: ( ( rule__BinaryBooleanExpression__Group_1__0 )* )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1469:1: ( rule__BinaryBooleanExpression__Group_1__0 )*
-            {
-             before(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1470:1: ( rule__BinaryBooleanExpression__Group_1__0 )*
-            loop14:
-            do {
-                int alt14=2;
-                int LA14_0 = input.LA(1);
-
-                if ( ((LA14_0>=24 && LA14_0<=26)) ) {
-                    alt14=1;
-                }
-
-
-                switch (alt14) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1470:2: rule__BinaryBooleanExpression__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__0_in_rule__BinaryBooleanExpression__Group__1__Impl3055);
-            	    rule__BinaryBooleanExpression__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop14;
-                }
-            } while (true);
-
-             after(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group_1__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1484:1: rule__BinaryBooleanExpression__Group_1__0 : rule__BinaryBooleanExpression__Group_1__0__Impl rule__BinaryBooleanExpression__Group_1__1 ;
-    public final void rule__BinaryBooleanExpression__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1488:1: ( rule__BinaryBooleanExpression__Group_1__0__Impl rule__BinaryBooleanExpression__Group_1__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1489:2: rule__BinaryBooleanExpression__Group_1__0__Impl rule__BinaryBooleanExpression__Group_1__1
-            {
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__0__Impl_in_rule__BinaryBooleanExpression__Group_1__03090);
-            rule__BinaryBooleanExpression__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__1_in_rule__BinaryBooleanExpression__Group_1__03093);
-            rule__BinaryBooleanExpression__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group_1__0"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group_1__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1496:1: rule__BinaryBooleanExpression__Group_1__0__Impl : ( () ) ;
-    public final void rule__BinaryBooleanExpression__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1500:1: ( ( () ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1501:1: ( () )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1501:1: ( () )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1502:1: ()
-            {
-             before(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1503:1: ()
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1505:1: 
-            {
-            }
-
-             after(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group_1__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1515:1: rule__BinaryBooleanExpression__Group_1__1 : rule__BinaryBooleanExpression__Group_1__1__Impl rule__BinaryBooleanExpression__Group_1__2 ;
-    public final void rule__BinaryBooleanExpression__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1519:1: ( rule__BinaryBooleanExpression__Group_1__1__Impl rule__BinaryBooleanExpression__Group_1__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1520:2: rule__BinaryBooleanExpression__Group_1__1__Impl rule__BinaryBooleanExpression__Group_1__2
-            {
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__1__Impl_in_rule__BinaryBooleanExpression__Group_1__13151);
-            rule__BinaryBooleanExpression__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__2_in_rule__BinaryBooleanExpression__Group_1__13154);
-            rule__BinaryBooleanExpression__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group_1__1"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group_1__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1527:1: rule__BinaryBooleanExpression__Group_1__1__Impl : ( ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) ) ;
-    public final void rule__BinaryBooleanExpression__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1531:1: ( ( ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1532:1: ( ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1532:1: ( ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1533:1: ( rule__BinaryBooleanExpression__OperationAssignment_1_1 )
-            {
-             before(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1534:1: ( rule__BinaryBooleanExpression__OperationAssignment_1_1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1534:2: rule__BinaryBooleanExpression__OperationAssignment_1_1
-            {
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__OperationAssignment_1_1_in_rule__BinaryBooleanExpression__Group_1__1__Impl3181);
-            rule__BinaryBooleanExpression__OperationAssignment_1_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group_1__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1544:1: rule__BinaryBooleanExpression__Group_1__2 : rule__BinaryBooleanExpression__Group_1__2__Impl ;
-    public final void rule__BinaryBooleanExpression__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1548:1: ( rule__BinaryBooleanExpression__Group_1__2__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1549:2: rule__BinaryBooleanExpression__Group_1__2__Impl
-            {
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__2__Impl_in_rule__BinaryBooleanExpression__Group_1__23211);
-            rule__BinaryBooleanExpression__Group_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group_1__2"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__Group_1__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1555:1: rule__BinaryBooleanExpression__Group_1__2__Impl : ( ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) ) ;
-    public final void rule__BinaryBooleanExpression__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1559:1: ( ( ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1560:1: ( ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1560:1: ( ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1561:1: ( rule__BinaryBooleanExpression__RightAssignment_1_2 )
-            {
-             before(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1562:1: ( rule__BinaryBooleanExpression__RightAssignment_1_2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1562:2: rule__BinaryBooleanExpression__RightAssignment_1_2
-            {
-            pushFollow(FOLLOW_rule__BinaryBooleanExpression__RightAssignment_1_2_in_rule__BinaryBooleanExpression__Group_1__2__Impl3238);
-            rule__BinaryBooleanExpression__RightAssignment_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__UnaryBooleanExpression__Group_0__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1578:1: rule__UnaryBooleanExpression__Group_0__0 : rule__UnaryBooleanExpression__Group_0__0__Impl rule__UnaryBooleanExpression__Group_0__1 ;
-    public final void rule__UnaryBooleanExpression__Group_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1582:1: ( rule__UnaryBooleanExpression__Group_0__0__Impl rule__UnaryBooleanExpression__Group_0__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1583:2: rule__UnaryBooleanExpression__Group_0__0__Impl rule__UnaryBooleanExpression__Group_0__1
-            {
-            pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__0__Impl_in_rule__UnaryBooleanExpression__Group_0__03274);
-            rule__UnaryBooleanExpression__Group_0__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__1_in_rule__UnaryBooleanExpression__Group_0__03277);
-            rule__UnaryBooleanExpression__Group_0__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__UnaryBooleanExpression__Group_0__0"
-
-
-    // $ANTLR start "rule__UnaryBooleanExpression__Group_0__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1590:1: rule__UnaryBooleanExpression__Group_0__0__Impl : ( 'NOT' ) ;
-    public final void rule__UnaryBooleanExpression__Group_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1594:1: ( ( 'NOT' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1595:1: ( 'NOT' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1595:1: ( 'NOT' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1596:1: 'NOT'
-            {
-             before(grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); 
-            match(input,30,FOLLOW_30_in_rule__UnaryBooleanExpression__Group_0__0__Impl3305); 
-             after(grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__UnaryBooleanExpression__Group_0__0__Impl"
-
-
-    // $ANTLR start "rule__UnaryBooleanExpression__Group_0__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1609:1: rule__UnaryBooleanExpression__Group_0__1 : rule__UnaryBooleanExpression__Group_0__1__Impl rule__UnaryBooleanExpression__Group_0__2 ;
-    public final void rule__UnaryBooleanExpression__Group_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1613:1: ( rule__UnaryBooleanExpression__Group_0__1__Impl rule__UnaryBooleanExpression__Group_0__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1614:2: rule__UnaryBooleanExpression__Group_0__1__Impl rule__UnaryBooleanExpression__Group_0__2
-            {
-            pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__1__Impl_in_rule__UnaryBooleanExpression__Group_0__13336);
-            rule__UnaryBooleanExpression__Group_0__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__2_in_rule__UnaryBooleanExpression__Group_0__13339);
-            rule__UnaryBooleanExpression__Group_0__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__UnaryBooleanExpression__Group_0__1"
-
-
-    // $ANTLR start "rule__UnaryBooleanExpression__Group_0__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1621:1: rule__UnaryBooleanExpression__Group_0__1__Impl : ( ruleComparison ) ;
-    public final void rule__UnaryBooleanExpression__Group_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1625:1: ( ( ruleComparison ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1626:1: ( ruleComparison )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1626:1: ( ruleComparison )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1627:1: ruleComparison
-            {
-             before(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); 
-            pushFollow(FOLLOW_ruleComparison_in_rule__UnaryBooleanExpression__Group_0__1__Impl3366);
-            ruleComparison();
-
-            state._fsp--;
-
-             after(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__UnaryBooleanExpression__Group_0__1__Impl"
-
-
-    // $ANTLR start "rule__UnaryBooleanExpression__Group_0__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1638:1: rule__UnaryBooleanExpression__Group_0__2 : rule__UnaryBooleanExpression__Group_0__2__Impl ;
-    public final void rule__UnaryBooleanExpression__Group_0__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1642:1: ( rule__UnaryBooleanExpression__Group_0__2__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1643:2: rule__UnaryBooleanExpression__Group_0__2__Impl
-            {
-            pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__2__Impl_in_rule__UnaryBooleanExpression__Group_0__23395);
-            rule__UnaryBooleanExpression__Group_0__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__UnaryBooleanExpression__Group_0__2"
-
-
-    // $ANTLR start "rule__UnaryBooleanExpression__Group_0__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1649:1: rule__UnaryBooleanExpression__Group_0__2__Impl : ( () ) ;
-    public final void rule__UnaryBooleanExpression__Group_0__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1653:1: ( ( () ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1654:1: ( () )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1654:1: ( () )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1655:1: ()
-            {
-             before(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1656:1: ()
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1658:1: 
-            {
-            }
-
-             after(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__UnaryBooleanExpression__Group_0__2__Impl"
-
-
-    // $ANTLR start "rule__Comparison__Group__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1674:1: rule__Comparison__Group__0 : rule__Comparison__Group__0__Impl rule__Comparison__Group__1 ;
-    public final void rule__Comparison__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1678:1: ( rule__Comparison__Group__0__Impl rule__Comparison__Group__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1679:2: rule__Comparison__Group__0__Impl rule__Comparison__Group__1
-            {
-            pushFollow(FOLLOW_rule__Comparison__Group__0__Impl_in_rule__Comparison__Group__03459);
-            rule__Comparison__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Comparison__Group__1_in_rule__Comparison__Group__03462);
-            rule__Comparison__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group__0"
-
-
-    // $ANTLR start "rule__Comparison__Group__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1686:1: rule__Comparison__Group__0__Impl : ( ruleTerm ) ;
-    public final void rule__Comparison__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1690:1: ( ( ruleTerm ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1691:1: ( ruleTerm )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1691:1: ( ruleTerm )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1692:1: ruleTerm
-            {
-             before(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleTerm_in_rule__Comparison__Group__0__Impl3489);
-            ruleTerm();
-
-            state._fsp--;
-
-             after(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Comparison__Group__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1703:1: rule__Comparison__Group__1 : rule__Comparison__Group__1__Impl ;
-    public final void rule__Comparison__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1707:1: ( rule__Comparison__Group__1__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1708:2: rule__Comparison__Group__1__Impl
-            {
-            pushFollow(FOLLOW_rule__Comparison__Group__1__Impl_in_rule__Comparison__Group__13518);
-            rule__Comparison__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group__1"
-
-
-    // $ANTLR start "rule__Comparison__Group__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1714:1: rule__Comparison__Group__1__Impl : ( ( rule__Comparison__Group_1__0 )* ) ;
-    public final void rule__Comparison__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1718:1: ( ( ( rule__Comparison__Group_1__0 )* ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1719:1: ( ( rule__Comparison__Group_1__0 )* )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1719:1: ( ( rule__Comparison__Group_1__0 )* )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1720:1: ( rule__Comparison__Group_1__0 )*
-            {
-             before(grammarAccess.getComparisonAccess().getGroup_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1721:1: ( rule__Comparison__Group_1__0 )*
-            loop15:
-            do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
-
-                if ( ((LA15_0>=18 && LA15_0<=23)) ) {
-                    alt15=1;
-                }
-
-
-                switch (alt15) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1721:2: rule__Comparison__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_rule__Comparison__Group_1__0_in_rule__Comparison__Group__1__Impl3545);
-            	    rule__Comparison__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop15;
-                }
-            } while (true);
-
-             after(grammarAccess.getComparisonAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group__1__Impl"
-
-
-    // $ANTLR start "rule__Comparison__Group_1__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1735:1: rule__Comparison__Group_1__0 : rule__Comparison__Group_1__0__Impl rule__Comparison__Group_1__1 ;
-    public final void rule__Comparison__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1739:1: ( rule__Comparison__Group_1__0__Impl rule__Comparison__Group_1__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1740:2: rule__Comparison__Group_1__0__Impl rule__Comparison__Group_1__1
-            {
-            pushFollow(FOLLOW_rule__Comparison__Group_1__0__Impl_in_rule__Comparison__Group_1__03580);
-            rule__Comparison__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Comparison__Group_1__1_in_rule__Comparison__Group_1__03583);
-            rule__Comparison__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group_1__0"
-
-
-    // $ANTLR start "rule__Comparison__Group_1__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1747:1: rule__Comparison__Group_1__0__Impl : ( () ) ;
-    public final void rule__Comparison__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1751:1: ( ( () ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1752:1: ( () )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1752:1: ( () )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1753:1: ()
-            {
-             before(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1754:1: ()
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1756:1: 
-            {
-            }
-
-             after(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__Comparison__Group_1__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1766:1: rule__Comparison__Group_1__1 : rule__Comparison__Group_1__1__Impl rule__Comparison__Group_1__2 ;
-    public final void rule__Comparison__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1770:1: ( rule__Comparison__Group_1__1__Impl rule__Comparison__Group_1__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1771:2: rule__Comparison__Group_1__1__Impl rule__Comparison__Group_1__2
-            {
-            pushFollow(FOLLOW_rule__Comparison__Group_1__1__Impl_in_rule__Comparison__Group_1__13641);
-            rule__Comparison__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Comparison__Group_1__2_in_rule__Comparison__Group_1__13644);
-            rule__Comparison__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group_1__1"
-
-
-    // $ANTLR start "rule__Comparison__Group_1__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1778:1: rule__Comparison__Group_1__1__Impl : ( ( rule__Comparison__OperationAssignment_1_1 ) ) ;
-    public final void rule__Comparison__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1782:1: ( ( ( rule__Comparison__OperationAssignment_1_1 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1783:1: ( ( rule__Comparison__OperationAssignment_1_1 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1783:1: ( ( rule__Comparison__OperationAssignment_1_1 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1784:1: ( rule__Comparison__OperationAssignment_1_1 )
-            {
-             before(grammarAccess.getComparisonAccess().getOperationAssignment_1_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1785:1: ( rule__Comparison__OperationAssignment_1_1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1785:2: rule__Comparison__OperationAssignment_1_1
-            {
-            pushFollow(FOLLOW_rule__Comparison__OperationAssignment_1_1_in_rule__Comparison__Group_1__1__Impl3671);
-            rule__Comparison__OperationAssignment_1_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getComparisonAccess().getOperationAssignment_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__Comparison__Group_1__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1795:1: rule__Comparison__Group_1__2 : rule__Comparison__Group_1__2__Impl ;
-    public final void rule__Comparison__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1799:1: ( rule__Comparison__Group_1__2__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1800:2: rule__Comparison__Group_1__2__Impl
-            {
-            pushFollow(FOLLOW_rule__Comparison__Group_1__2__Impl_in_rule__Comparison__Group_1__23701);
-            rule__Comparison__Group_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group_1__2"
-
-
-    // $ANTLR start "rule__Comparison__Group_1__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1806:1: rule__Comparison__Group_1__2__Impl : ( ( rule__Comparison__RightAssignment_1_2 ) ) ;
-    public final void rule__Comparison__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1810:1: ( ( ( rule__Comparison__RightAssignment_1_2 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1811:1: ( ( rule__Comparison__RightAssignment_1_2 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1811:1: ( ( rule__Comparison__RightAssignment_1_2 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1812:1: ( rule__Comparison__RightAssignment_1_2 )
-            {
-             before(grammarAccess.getComparisonAccess().getRightAssignment_1_2()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1813:1: ( rule__Comparison__RightAssignment_1_2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1813:2: rule__Comparison__RightAssignment_1_2
-            {
-            pushFollow(FOLLOW_rule__Comparison__RightAssignment_1_2_in_rule__Comparison__Group_1__2__Impl3728);
-            rule__Comparison__RightAssignment_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getComparisonAccess().getRightAssignment_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__Term__Group__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1829:1: rule__Term__Group__0 : rule__Term__Group__0__Impl rule__Term__Group__1 ;
-    public final void rule__Term__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1833:1: ( rule__Term__Group__0__Impl rule__Term__Group__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1834:2: rule__Term__Group__0__Impl rule__Term__Group__1
-            {
-            pushFollow(FOLLOW_rule__Term__Group__0__Impl_in_rule__Term__Group__03764);
-            rule__Term__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Term__Group__1_in_rule__Term__Group__03767);
-            rule__Term__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group__0"
-
-
-    // $ANTLR start "rule__Term__Group__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1841:1: rule__Term__Group__0__Impl : ( ruleProduct ) ;
-    public final void rule__Term__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1845:1: ( ( ruleProduct ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1846:1: ( ruleProduct )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1846:1: ( ruleProduct )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1847:1: ruleProduct
-            {
-             before(grammarAccess.getTermAccess().getProductParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleProduct_in_rule__Term__Group__0__Impl3794);
-            ruleProduct();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermAccess().getProductParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Term__Group__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1858:1: rule__Term__Group__1 : rule__Term__Group__1__Impl ;
-    public final void rule__Term__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1862:1: ( rule__Term__Group__1__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1863:2: rule__Term__Group__1__Impl
-            {
-            pushFollow(FOLLOW_rule__Term__Group__1__Impl_in_rule__Term__Group__13823);
-            rule__Term__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group__1"
-
-
-    // $ANTLR start "rule__Term__Group__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1869:1: rule__Term__Group__1__Impl : ( ( rule__Term__Group_1__0 )* ) ;
-    public final void rule__Term__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1873:1: ( ( ( rule__Term__Group_1__0 )* ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1874:1: ( ( rule__Term__Group_1__0 )* )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1874:1: ( ( rule__Term__Group_1__0 )* )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1875:1: ( rule__Term__Group_1__0 )*
-            {
-             before(grammarAccess.getTermAccess().getGroup_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1876:1: ( rule__Term__Group_1__0 )*
-            loop16:
-            do {
-                int alt16=2;
-                int LA16_0 = input.LA(1);
-
-                if ( ((LA16_0>=16 && LA16_0<=17)) ) {
-                    alt16=1;
-                }
-
-
-                switch (alt16) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1876:2: rule__Term__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_rule__Term__Group_1__0_in_rule__Term__Group__1__Impl3850);
-            	    rule__Term__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop16;
-                }
-            } while (true);
-
-             after(grammarAccess.getTermAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group__1__Impl"
-
-
-    // $ANTLR start "rule__Term__Group_1__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1890:1: rule__Term__Group_1__0 : rule__Term__Group_1__0__Impl rule__Term__Group_1__1 ;
-    public final void rule__Term__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1894:1: ( rule__Term__Group_1__0__Impl rule__Term__Group_1__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1895:2: rule__Term__Group_1__0__Impl rule__Term__Group_1__1
-            {
-            pushFollow(FOLLOW_rule__Term__Group_1__0__Impl_in_rule__Term__Group_1__03885);
-            rule__Term__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Term__Group_1__1_in_rule__Term__Group_1__03888);
-            rule__Term__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group_1__0"
-
-
-    // $ANTLR start "rule__Term__Group_1__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1902:1: rule__Term__Group_1__0__Impl : ( () ) ;
-    public final void rule__Term__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1906:1: ( ( () ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1907:1: ( () )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1907:1: ( () )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1908:1: ()
-            {
-             before(grammarAccess.getTermAccess().getTermLeftAction_1_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1909:1: ()
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1911:1: 
-            {
-            }
-
-             after(grammarAccess.getTermAccess().getTermLeftAction_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__Term__Group_1__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1921:1: rule__Term__Group_1__1 : rule__Term__Group_1__1__Impl rule__Term__Group_1__2 ;
-    public final void rule__Term__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1925:1: ( rule__Term__Group_1__1__Impl rule__Term__Group_1__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1926:2: rule__Term__Group_1__1__Impl rule__Term__Group_1__2
-            {
-            pushFollow(FOLLOW_rule__Term__Group_1__1__Impl_in_rule__Term__Group_1__13946);
-            rule__Term__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Term__Group_1__2_in_rule__Term__Group_1__13949);
-            rule__Term__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group_1__1"
-
-
-    // $ANTLR start "rule__Term__Group_1__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1933:1: rule__Term__Group_1__1__Impl : ( ( rule__Term__OperationAssignment_1_1 ) ) ;
-    public final void rule__Term__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1937:1: ( ( ( rule__Term__OperationAssignment_1_1 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1938:1: ( ( rule__Term__OperationAssignment_1_1 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1938:1: ( ( rule__Term__OperationAssignment_1_1 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1939:1: ( rule__Term__OperationAssignment_1_1 )
-            {
-             before(grammarAccess.getTermAccess().getOperationAssignment_1_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1940:1: ( rule__Term__OperationAssignment_1_1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1940:2: rule__Term__OperationAssignment_1_1
-            {
-            pushFollow(FOLLOW_rule__Term__OperationAssignment_1_1_in_rule__Term__Group_1__1__Impl3976);
-            rule__Term__OperationAssignment_1_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermAccess().getOperationAssignment_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__Term__Group_1__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1950:1: rule__Term__Group_1__2 : rule__Term__Group_1__2__Impl ;
-    public final void rule__Term__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1954:1: ( rule__Term__Group_1__2__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1955:2: rule__Term__Group_1__2__Impl
-            {
-            pushFollow(FOLLOW_rule__Term__Group_1__2__Impl_in_rule__Term__Group_1__24006);
-            rule__Term__Group_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group_1__2"
-
-
-    // $ANTLR start "rule__Term__Group_1__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1961:1: rule__Term__Group_1__2__Impl : ( ( rule__Term__RightAssignment_1_2 ) ) ;
-    public final void rule__Term__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1965:1: ( ( ( rule__Term__RightAssignment_1_2 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1966:1: ( ( rule__Term__RightAssignment_1_2 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1966:1: ( ( rule__Term__RightAssignment_1_2 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1967:1: ( rule__Term__RightAssignment_1_2 )
-            {
-             before(grammarAccess.getTermAccess().getRightAssignment_1_2()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1968:1: ( rule__Term__RightAssignment_1_2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1968:2: rule__Term__RightAssignment_1_2
-            {
-            pushFollow(FOLLOW_rule__Term__RightAssignment_1_2_in_rule__Term__Group_1__2__Impl4033);
-            rule__Term__RightAssignment_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermAccess().getRightAssignment_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__Product__Group__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1984:1: rule__Product__Group__0 : rule__Product__Group__0__Impl rule__Product__Group__1 ;
-    public final void rule__Product__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1988:1: ( rule__Product__Group__0__Impl rule__Product__Group__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1989:2: rule__Product__Group__0__Impl rule__Product__Group__1
-            {
-            pushFollow(FOLLOW_rule__Product__Group__0__Impl_in_rule__Product__Group__04069);
-            rule__Product__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Product__Group__1_in_rule__Product__Group__04072);
-            rule__Product__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group__0"
-
-
-    // $ANTLR start "rule__Product__Group__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1996:1: rule__Product__Group__0__Impl : ( rulePower ) ;
-    public final void rule__Product__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2000:1: ( ( rulePower ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2001:1: ( rulePower )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2001:1: ( rulePower )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2002:1: rulePower
-            {
-             before(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); 
-            pushFollow(FOLLOW_rulePower_in_rule__Product__Group__0__Impl4099);
-            rulePower();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Product__Group__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2013:1: rule__Product__Group__1 : rule__Product__Group__1__Impl ;
-    public final void rule__Product__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2017:1: ( rule__Product__Group__1__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2018:2: rule__Product__Group__1__Impl
-            {
-            pushFollow(FOLLOW_rule__Product__Group__1__Impl_in_rule__Product__Group__14128);
-            rule__Product__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group__1"
-
-
-    // $ANTLR start "rule__Product__Group__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2024:1: rule__Product__Group__1__Impl : ( ( rule__Product__Group_1__0 )* ) ;
-    public final void rule__Product__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2028:1: ( ( ( rule__Product__Group_1__0 )* ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2029:1: ( ( rule__Product__Group_1__0 )* )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2029:1: ( ( rule__Product__Group_1__0 )* )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2030:1: ( rule__Product__Group_1__0 )*
-            {
-             before(grammarAccess.getProductAccess().getGroup_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2031:1: ( rule__Product__Group_1__0 )*
-            loop17:
-            do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
-
-                if ( ((LA17_0>=13 && LA17_0<=15)) ) {
-                    alt17=1;
-                }
-
-
-                switch (alt17) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2031:2: rule__Product__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_rule__Product__Group_1__0_in_rule__Product__Group__1__Impl4155);
-            	    rule__Product__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop17;
-                }
-            } while (true);
-
-             after(grammarAccess.getProductAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group__1__Impl"
-
-
-    // $ANTLR start "rule__Product__Group_1__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2045:1: rule__Product__Group_1__0 : rule__Product__Group_1__0__Impl rule__Product__Group_1__1 ;
-    public final void rule__Product__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2049:1: ( rule__Product__Group_1__0__Impl rule__Product__Group_1__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2050:2: rule__Product__Group_1__0__Impl rule__Product__Group_1__1
-            {
-            pushFollow(FOLLOW_rule__Product__Group_1__0__Impl_in_rule__Product__Group_1__04190);
-            rule__Product__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Product__Group_1__1_in_rule__Product__Group_1__04193);
-            rule__Product__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group_1__0"
-
-
-    // $ANTLR start "rule__Product__Group_1__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2057:1: rule__Product__Group_1__0__Impl : ( () ) ;
-    public final void rule__Product__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2061:1: ( ( () ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2062:1: ( () )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2062:1: ( () )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2063:1: ()
-            {
-             before(grammarAccess.getProductAccess().getProductLeftAction_1_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2064:1: ()
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2066:1: 
-            {
-            }
-
-             after(grammarAccess.getProductAccess().getProductLeftAction_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__Product__Group_1__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2076:1: rule__Product__Group_1__1 : rule__Product__Group_1__1__Impl rule__Product__Group_1__2 ;
-    public final void rule__Product__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2080:1: ( rule__Product__Group_1__1__Impl rule__Product__Group_1__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2081:2: rule__Product__Group_1__1__Impl rule__Product__Group_1__2
-            {
-            pushFollow(FOLLOW_rule__Product__Group_1__1__Impl_in_rule__Product__Group_1__14251);
-            rule__Product__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Product__Group_1__2_in_rule__Product__Group_1__14254);
-            rule__Product__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group_1__1"
-
-
-    // $ANTLR start "rule__Product__Group_1__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2088:1: rule__Product__Group_1__1__Impl : ( ( rule__Product__OperationAssignment_1_1 ) ) ;
-    public final void rule__Product__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2092:1: ( ( ( rule__Product__OperationAssignment_1_1 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2093:1: ( ( rule__Product__OperationAssignment_1_1 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2093:1: ( ( rule__Product__OperationAssignment_1_1 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2094:1: ( rule__Product__OperationAssignment_1_1 )
-            {
-             before(grammarAccess.getProductAccess().getOperationAssignment_1_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2095:1: ( rule__Product__OperationAssignment_1_1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2095:2: rule__Product__OperationAssignment_1_1
-            {
-            pushFollow(FOLLOW_rule__Product__OperationAssignment_1_1_in_rule__Product__Group_1__1__Impl4281);
-            rule__Product__OperationAssignment_1_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductAccess().getOperationAssignment_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__Product__Group_1__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2105:1: rule__Product__Group_1__2 : rule__Product__Group_1__2__Impl ;
-    public final void rule__Product__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2109:1: ( rule__Product__Group_1__2__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2110:2: rule__Product__Group_1__2__Impl
-            {
-            pushFollow(FOLLOW_rule__Product__Group_1__2__Impl_in_rule__Product__Group_1__24311);
-            rule__Product__Group_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group_1__2"
-
-
-    // $ANTLR start "rule__Product__Group_1__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2116:1: rule__Product__Group_1__2__Impl : ( ( rule__Product__RightAssignment_1_2 ) ) ;
-    public final void rule__Product__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2120:1: ( ( ( rule__Product__RightAssignment_1_2 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2121:1: ( ( rule__Product__RightAssignment_1_2 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2121:1: ( ( rule__Product__RightAssignment_1_2 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2122:1: ( rule__Product__RightAssignment_1_2 )
-            {
-             before(grammarAccess.getProductAccess().getRightAssignment_1_2()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2123:1: ( rule__Product__RightAssignment_1_2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2123:2: rule__Product__RightAssignment_1_2
-            {
-            pushFollow(FOLLOW_rule__Product__RightAssignment_1_2_in_rule__Product__Group_1__2__Impl4338);
-            rule__Product__RightAssignment_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductAccess().getRightAssignment_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__Power__Group__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2139:1: rule__Power__Group__0 : rule__Power__Group__0__Impl rule__Power__Group__1 ;
-    public final void rule__Power__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2143:1: ( rule__Power__Group__0__Impl rule__Power__Group__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2144:2: rule__Power__Group__0__Impl rule__Power__Group__1
-            {
-            pushFollow(FOLLOW_rule__Power__Group__0__Impl_in_rule__Power__Group__04374);
-            rule__Power__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Power__Group__1_in_rule__Power__Group__04377);
-            rule__Power__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group__0"
-
-
-    // $ANTLR start "rule__Power__Group__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2151:1: rule__Power__Group__0__Impl : ( ruleAtom ) ;
-    public final void rule__Power__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2155:1: ( ( ruleAtom ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2156:1: ( ruleAtom )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2156:1: ( ruleAtom )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2157:1: ruleAtom
-            {
-             before(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleAtom_in_rule__Power__Group__0__Impl4404);
-            ruleAtom();
-
-            state._fsp--;
-
-             after(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Power__Group__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2168:1: rule__Power__Group__1 : rule__Power__Group__1__Impl ;
-    public final void rule__Power__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2172:1: ( rule__Power__Group__1__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2173:2: rule__Power__Group__1__Impl
-            {
-            pushFollow(FOLLOW_rule__Power__Group__1__Impl_in_rule__Power__Group__14433);
-            rule__Power__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group__1"
-
-
-    // $ANTLR start "rule__Power__Group__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2179:1: rule__Power__Group__1__Impl : ( ( rule__Power__Group_1__0 )* ) ;
-    public final void rule__Power__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2183:1: ( ( ( rule__Power__Group_1__0 )* ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2184:1: ( ( rule__Power__Group_1__0 )* )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2184:1: ( ( rule__Power__Group_1__0 )* )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2185:1: ( rule__Power__Group_1__0 )*
-            {
-             before(grammarAccess.getPowerAccess().getGroup_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2186:1: ( rule__Power__Group_1__0 )*
-            loop18:
-            do {
-                int alt18=2;
-                int LA18_0 = input.LA(1);
-
-                if ( (LA18_0==31) ) {
-                    alt18=1;
-                }
-
-
-                switch (alt18) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2186:2: rule__Power__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_rule__Power__Group_1__0_in_rule__Power__Group__1__Impl4460);
-            	    rule__Power__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop18;
-                }
-            } while (true);
-
-             after(grammarAccess.getPowerAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group__1__Impl"
-
-
-    // $ANTLR start "rule__Power__Group_1__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2200:1: rule__Power__Group_1__0 : rule__Power__Group_1__0__Impl rule__Power__Group_1__1 ;
-    public final void rule__Power__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2204:1: ( rule__Power__Group_1__0__Impl rule__Power__Group_1__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2205:2: rule__Power__Group_1__0__Impl rule__Power__Group_1__1
-            {
-            pushFollow(FOLLOW_rule__Power__Group_1__0__Impl_in_rule__Power__Group_1__04495);
-            rule__Power__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Power__Group_1__1_in_rule__Power__Group_1__04498);
-            rule__Power__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group_1__0"
-
-
-    // $ANTLR start "rule__Power__Group_1__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2212:1: rule__Power__Group_1__0__Impl : ( () ) ;
-    public final void rule__Power__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2216:1: ( ( () ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2217:1: ( () )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2217:1: ( () )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2218:1: ()
-            {
-             before(grammarAccess.getPowerAccess().getPowerBaseAction_1_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2219:1: ()
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2221:1: 
-            {
-            }
-
-             after(grammarAccess.getPowerAccess().getPowerBaseAction_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__Power__Group_1__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2231:1: rule__Power__Group_1__1 : rule__Power__Group_1__1__Impl rule__Power__Group_1__2 ;
-    public final void rule__Power__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2235:1: ( rule__Power__Group_1__1__Impl rule__Power__Group_1__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2236:2: rule__Power__Group_1__1__Impl rule__Power__Group_1__2
-            {
-            pushFollow(FOLLOW_rule__Power__Group_1__1__Impl_in_rule__Power__Group_1__14556);
-            rule__Power__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Power__Group_1__2_in_rule__Power__Group_1__14559);
-            rule__Power__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group_1__1"
-
-
-    // $ANTLR start "rule__Power__Group_1__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2243:1: rule__Power__Group_1__1__Impl : ( '^' ) ;
-    public final void rule__Power__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2247:1: ( ( '^' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2248:1: ( '^' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2248:1: ( '^' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2249:1: '^'
-            {
-             before(grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); 
-            match(input,31,FOLLOW_31_in_rule__Power__Group_1__1__Impl4587); 
-             after(grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__Power__Group_1__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2262:1: rule__Power__Group_1__2 : rule__Power__Group_1__2__Impl ;
-    public final void rule__Power__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2266:1: ( rule__Power__Group_1__2__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2267:2: rule__Power__Group_1__2__Impl
-            {
-            pushFollow(FOLLOW_rule__Power__Group_1__2__Impl_in_rule__Power__Group_1__24618);
-            rule__Power__Group_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group_1__2"
-
-
-    // $ANTLR start "rule__Power__Group_1__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2273:1: rule__Power__Group_1__2__Impl : ( ( rule__Power__ExponentAssignment_1_2 ) ) ;
-    public final void rule__Power__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2277:1: ( ( ( rule__Power__ExponentAssignment_1_2 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2278:1: ( ( rule__Power__ExponentAssignment_1_2 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2278:1: ( ( rule__Power__ExponentAssignment_1_2 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2279:1: ( rule__Power__ExponentAssignment_1_2 )
-            {
-             before(grammarAccess.getPowerAccess().getExponentAssignment_1_2()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2280:1: ( rule__Power__ExponentAssignment_1_2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2280:2: rule__Power__ExponentAssignment_1_2
-            {
-            pushFollow(FOLLOW_rule__Power__ExponentAssignment_1_2_in_rule__Power__Group_1__2__Impl4645);
-            rule__Power__ExponentAssignment_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPowerAccess().getExponentAssignment_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__Atom__Group_1__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2296:1: rule__Atom__Group_1__0 : rule__Atom__Group_1__0__Impl rule__Atom__Group_1__1 ;
-    public final void rule__Atom__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2300:1: ( rule__Atom__Group_1__0__Impl rule__Atom__Group_1__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2301:2: rule__Atom__Group_1__0__Impl rule__Atom__Group_1__1
-            {
-            pushFollow(FOLLOW_rule__Atom__Group_1__0__Impl_in_rule__Atom__Group_1__04681);
-            rule__Atom__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Atom__Group_1__1_in_rule__Atom__Group_1__04684);
-            rule__Atom__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Atom__Group_1__0"
-
-
-    // $ANTLR start "rule__Atom__Group_1__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2308:1: rule__Atom__Group_1__0__Impl : ( '(' ) ;
-    public final void rule__Atom__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2312:1: ( ( '(' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2313:1: ( '(' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2313:1: ( '(' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2314:1: '('
-            {
-             before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); 
-            match(input,32,FOLLOW_32_in_rule__Atom__Group_1__0__Impl4712); 
-             after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Atom__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__Atom__Group_1__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2327:1: rule__Atom__Group_1__1 : rule__Atom__Group_1__1__Impl rule__Atom__Group_1__2 ;
-    public final void rule__Atom__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2331:1: ( rule__Atom__Group_1__1__Impl rule__Atom__Group_1__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2332:2: rule__Atom__Group_1__1__Impl rule__Atom__Group_1__2
-            {
-            pushFollow(FOLLOW_rule__Atom__Group_1__1__Impl_in_rule__Atom__Group_1__14743);
-            rule__Atom__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Atom__Group_1__2_in_rule__Atom__Group_1__14746);
-            rule__Atom__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Atom__Group_1__1"
-
-
-    // $ANTLR start "rule__Atom__Group_1__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2339:1: rule__Atom__Group_1__1__Impl : ( ruleRootExpression ) ;
-    public final void rule__Atom__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2343:1: ( ( ruleRootExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2344:1: ( ruleRootExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2344:1: ( ruleRootExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2345:1: ruleRootExpression
-            {
-             before(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); 
-            pushFollow(FOLLOW_ruleRootExpression_in_rule__Atom__Group_1__1__Impl4773);
-            ruleRootExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Atom__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__Atom__Group_1__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2356:1: rule__Atom__Group_1__2 : rule__Atom__Group_1__2__Impl ;
-    public final void rule__Atom__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2360:1: ( rule__Atom__Group_1__2__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2361:2: rule__Atom__Group_1__2__Impl
-            {
-            pushFollow(FOLLOW_rule__Atom__Group_1__2__Impl_in_rule__Atom__Group_1__24802);
-            rule__Atom__Group_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Atom__Group_1__2"
-
-
-    // $ANTLR start "rule__Atom__Group_1__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2367:1: rule__Atom__Group_1__2__Impl : ( ')' ) ;
-    public final void rule__Atom__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2371:1: ( ( ')' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2372:1: ( ')' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2372:1: ( ')' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2373:1: ')'
-            {
-             before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); 
-            match(input,33,FOLLOW_33_in_rule__Atom__Group_1__2__Impl4830); 
-             after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Atom__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2392:1: rule__Function__Group__0 : rule__Function__Group__0__Impl rule__Function__Group__1 ;
-    public final void rule__Function__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2396:1: ( rule__Function__Group__0__Impl rule__Function__Group__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2397:2: rule__Function__Group__0__Impl rule__Function__Group__1
-            {
-            pushFollow(FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__04867);
-            rule__Function__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Function__Group__1_in_rule__Function__Group__04870);
-            rule__Function__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__0"
-
-
-    // $ANTLR start "rule__Function__Group__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2404:1: rule__Function__Group__0__Impl : ( ( rule__Function__NameAssignment_0 ) ) ;
-    public final void rule__Function__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2408:1: ( ( ( rule__Function__NameAssignment_0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2409:1: ( ( rule__Function__NameAssignment_0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2409:1: ( ( rule__Function__NameAssignment_0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2410:1: ( rule__Function__NameAssignment_0 )
-            {
-             before(grammarAccess.getFunctionAccess().getNameAssignment_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2411:1: ( rule__Function__NameAssignment_0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2411:2: rule__Function__NameAssignment_0
-            {
-            pushFollow(FOLLOW_rule__Function__NameAssignment_0_in_rule__Function__Group__0__Impl4897);
-            rule__Function__NameAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getNameAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2421:1: rule__Function__Group__1 : rule__Function__Group__1__Impl rule__Function__Group__2 ;
-    public final void rule__Function__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2425:1: ( rule__Function__Group__1__Impl rule__Function__Group__2 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2426:2: rule__Function__Group__1__Impl rule__Function__Group__2
-            {
-            pushFollow(FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__14927);
-            rule__Function__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Function__Group__2_in_rule__Function__Group__14930);
-            rule__Function__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__1"
-
-
-    // $ANTLR start "rule__Function__Group__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2433:1: rule__Function__Group__1__Impl : ( '(' ) ;
-    public final void rule__Function__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2437:1: ( ( '(' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2438:1: ( '(' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2438:1: ( '(' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2439:1: '('
-            {
-             before(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); 
-            match(input,32,FOLLOW_32_in_rule__Function__Group__1__Impl4958); 
-             after(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__1__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2452:1: rule__Function__Group__2 : rule__Function__Group__2__Impl rule__Function__Group__3 ;
-    public final void rule__Function__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2456:1: ( rule__Function__Group__2__Impl rule__Function__Group__3 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2457:2: rule__Function__Group__2__Impl rule__Function__Group__3
-            {
-            pushFollow(FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__24989);
-            rule__Function__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Function__Group__3_in_rule__Function__Group__24992);
-            rule__Function__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__2"
-
-
-    // $ANTLR start "rule__Function__Group__2__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2464:1: rule__Function__Group__2__Impl : ( ( rule__Function__Group_2__0 )? ) ;
-    public final void rule__Function__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2468:1: ( ( ( rule__Function__Group_2__0 )? ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2469:1: ( ( rule__Function__Group_2__0 )? )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2469:1: ( ( rule__Function__Group_2__0 )? )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2470:1: ( rule__Function__Group_2__0 )?
-            {
-             before(grammarAccess.getFunctionAccess().getGroup_2()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2471:1: ( rule__Function__Group_2__0 )?
-            int alt19=2;
-            int LA19_0 = input.LA(1);
-
-            if ( ((LA19_0>=RULE_STRING && LA19_0<=RULE_INT)||(LA19_0>=11 && LA19_0<=12)||LA19_0==17||LA19_0==30||LA19_0==32) ) {
-                alt19=1;
-            }
-            switch (alt19) {
-                case 1 :
-                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2471:2: rule__Function__Group_2__0
-                    {
-                    pushFollow(FOLLOW_rule__Function__Group_2__0_in_rule__Function__Group__2__Impl5019);
-                    rule__Function__Group_2__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getGroup_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__2__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__3"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2481:1: rule__Function__Group__3 : rule__Function__Group__3__Impl ;
-    public final void rule__Function__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2485:1: ( rule__Function__Group__3__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2486:2: rule__Function__Group__3__Impl
-            {
-            pushFollow(FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__35050);
-            rule__Function__Group__3__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__3"
-
-
-    // $ANTLR start "rule__Function__Group__3__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2492:1: rule__Function__Group__3__Impl : ( ')' ) ;
-    public final void rule__Function__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2496:1: ( ( ')' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2497:1: ( ')' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2497:1: ( ')' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2498:1: ')'
-            {
-             before(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); 
-            match(input,33,FOLLOW_33_in_rule__Function__Group__3__Impl5078); 
-             after(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__3__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_2__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2519:1: rule__Function__Group_2__0 : rule__Function__Group_2__0__Impl rule__Function__Group_2__1 ;
-    public final void rule__Function__Group_2__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2523:1: ( rule__Function__Group_2__0__Impl rule__Function__Group_2__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2524:2: rule__Function__Group_2__0__Impl rule__Function__Group_2__1
-            {
-            pushFollow(FOLLOW_rule__Function__Group_2__0__Impl_in_rule__Function__Group_2__05117);
-            rule__Function__Group_2__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Function__Group_2__1_in_rule__Function__Group_2__05120);
-            rule__Function__Group_2__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_2__0"
-
-
-    // $ANTLR start "rule__Function__Group_2__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2531:1: rule__Function__Group_2__0__Impl : ( ( rule__Function__ParametersAssignment_2_0 ) ) ;
-    public final void rule__Function__Group_2__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2535:1: ( ( ( rule__Function__ParametersAssignment_2_0 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2536:1: ( ( rule__Function__ParametersAssignment_2_0 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2536:1: ( ( rule__Function__ParametersAssignment_2_0 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2537:1: ( rule__Function__ParametersAssignment_2_0 )
-            {
-             before(grammarAccess.getFunctionAccess().getParametersAssignment_2_0()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2538:1: ( rule__Function__ParametersAssignment_2_0 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2538:2: rule__Function__ParametersAssignment_2_0
-            {
-            pushFollow(FOLLOW_rule__Function__ParametersAssignment_2_0_in_rule__Function__Group_2__0__Impl5147);
-            rule__Function__ParametersAssignment_2_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getParametersAssignment_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_2__0__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_2__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2548:1: rule__Function__Group_2__1 : rule__Function__Group_2__1__Impl ;
-    public final void rule__Function__Group_2__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2552:1: ( rule__Function__Group_2__1__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2553:2: rule__Function__Group_2__1__Impl
-            {
-            pushFollow(FOLLOW_rule__Function__Group_2__1__Impl_in_rule__Function__Group_2__15177);
-            rule__Function__Group_2__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_2__1"
-
-
-    // $ANTLR start "rule__Function__Group_2__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2559:1: rule__Function__Group_2__1__Impl : ( ( rule__Function__Group_2_1__0 )* ) ;
-    public final void rule__Function__Group_2__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2563:1: ( ( ( rule__Function__Group_2_1__0 )* ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2564:1: ( ( rule__Function__Group_2_1__0 )* )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2564:1: ( ( rule__Function__Group_2_1__0 )* )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2565:1: ( rule__Function__Group_2_1__0 )*
-            {
-             before(grammarAccess.getFunctionAccess().getGroup_2_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2566:1: ( rule__Function__Group_2_1__0 )*
-            loop20:
-            do {
-                int alt20=2;
-                int LA20_0 = input.LA(1);
-
-                if ( (LA20_0==34) ) {
-                    alt20=1;
-                }
-
-
-                switch (alt20) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2566:2: rule__Function__Group_2_1__0
-            	    {
-            	    pushFollow(FOLLOW_rule__Function__Group_2_1__0_in_rule__Function__Group_2__1__Impl5204);
-            	    rule__Function__Group_2_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop20;
-                }
-            } while (true);
-
-             after(grammarAccess.getFunctionAccess().getGroup_2_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_2__1__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_2_1__0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2580:1: rule__Function__Group_2_1__0 : rule__Function__Group_2_1__0__Impl rule__Function__Group_2_1__1 ;
-    public final void rule__Function__Group_2_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2584:1: ( rule__Function__Group_2_1__0__Impl rule__Function__Group_2_1__1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2585:2: rule__Function__Group_2_1__0__Impl rule__Function__Group_2_1__1
-            {
-            pushFollow(FOLLOW_rule__Function__Group_2_1__0__Impl_in_rule__Function__Group_2_1__05239);
-            rule__Function__Group_2_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__Function__Group_2_1__1_in_rule__Function__Group_2_1__05242);
-            rule__Function__Group_2_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_2_1__0"
-
-
-    // $ANTLR start "rule__Function__Group_2_1__0__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2592:1: rule__Function__Group_2_1__0__Impl : ( ',' ) ;
-    public final void rule__Function__Group_2_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2596:1: ( ( ',' ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2597:1: ( ',' )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2597:1: ( ',' )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2598:1: ','
-            {
-             before(grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); 
-            match(input,34,FOLLOW_34_in_rule__Function__Group_2_1__0__Impl5270); 
-             after(grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_2_1__0__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_2_1__1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2611:1: rule__Function__Group_2_1__1 : rule__Function__Group_2_1__1__Impl ;
-    public final void rule__Function__Group_2_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2615:1: ( rule__Function__Group_2_1__1__Impl )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2616:2: rule__Function__Group_2_1__1__Impl
-            {
-            pushFollow(FOLLOW_rule__Function__Group_2_1__1__Impl_in_rule__Function__Group_2_1__15301);
-            rule__Function__Group_2_1__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_2_1__1"
-
-
-    // $ANTLR start "rule__Function__Group_2_1__1__Impl"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2622:1: rule__Function__Group_2_1__1__Impl : ( ( rule__Function__ParametersAssignment_2_1_1 ) ) ;
-    public final void rule__Function__Group_2_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2626:1: ( ( ( rule__Function__ParametersAssignment_2_1_1 ) ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2627:1: ( ( rule__Function__ParametersAssignment_2_1_1 ) )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2627:1: ( ( rule__Function__ParametersAssignment_2_1_1 ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2628:1: ( rule__Function__ParametersAssignment_2_1_1 )
-            {
-             before(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1()); 
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2629:1: ( rule__Function__ParametersAssignment_2_1_1 )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2629:2: rule__Function__ParametersAssignment_2_1_1
-            {
-            pushFollow(FOLLOW_rule__Function__ParametersAssignment_2_1_1_in_rule__Function__Group_2_1__1__Impl5328);
-            rule__Function__ParametersAssignment_2_1_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_2_1__1__Impl"
-
-
-    // $ANTLR start "rule__Model__TermsAssignment"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2644:1: rule__Model__TermsAssignment : ( ruleIfElseExpression ) ;
-    public final void rule__Model__TermsAssignment() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2648:1: ( ( ruleIfElseExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2649:1: ( ruleIfElseExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2649:1: ( ruleIfElseExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2650:1: ruleIfElseExpression
-            {
-             before(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleIfElseExpression_in_rule__Model__TermsAssignment5367);
-            ruleIfElseExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Model__TermsAssignment"
-
-
-    // $ANTLR start "rule__IfElseExpression__TrueExpAssignment_1_2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2659:1: rule__IfElseExpression__TrueExpAssignment_1_2 : ( ruleIfElseExpression ) ;
-    public final void rule__IfElseExpression__TrueExpAssignment_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2663:1: ( ( ruleIfElseExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2664:1: ( ruleIfElseExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2664:1: ( ruleIfElseExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2665:1: ruleIfElseExpression
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); 
-            pushFollow(FOLLOW_ruleIfElseExpression_in_rule__IfElseExpression__TrueExpAssignment_1_25398);
-            ruleIfElseExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__TrueExpAssignment_1_2"
-
-
-    // $ANTLR start "rule__IfElseExpression__FalseExpAssignment_1_4"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2674:1: rule__IfElseExpression__FalseExpAssignment_1_4 : ( ruleIfElseExpression ) ;
-    public final void rule__IfElseExpression__FalseExpAssignment_1_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2678:1: ( ( ruleIfElseExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2679:1: ( ruleIfElseExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2679:1: ( ruleIfElseExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2680:1: ruleIfElseExpression
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); 
-            pushFollow(FOLLOW_ruleIfElseExpression_in_rule__IfElseExpression__FalseExpAssignment_1_45429);
-            ruleIfElseExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__FalseExpAssignment_1_4"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__OperationAssignment_1_1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2689:1: rule__BinaryBooleanExpression__OperationAssignment_1_1 : ( ruleBooleanOperation ) ;
-    public final void rule__BinaryBooleanExpression__OperationAssignment_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2693:1: ( ( ruleBooleanOperation ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2694:1: ( ruleBooleanOperation )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2694:1: ( ruleBooleanOperation )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2695:1: ruleBooleanOperation
-            {
-             before(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); 
-            pushFollow(FOLLOW_ruleBooleanOperation_in_rule__BinaryBooleanExpression__OperationAssignment_1_15460);
-            ruleBooleanOperation();
-
-            state._fsp--;
-
-             after(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__OperationAssignment_1_1"
-
-
-    // $ANTLR start "rule__BinaryBooleanExpression__RightAssignment_1_2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2704:1: rule__BinaryBooleanExpression__RightAssignment_1_2 : ( ruleUnaryBooleanExpression ) ;
-    public final void rule__BinaryBooleanExpression__RightAssignment_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2708:1: ( ( ruleUnaryBooleanExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2709:1: ( ruleUnaryBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2709:1: ( ruleUnaryBooleanExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2710:1: ruleUnaryBooleanExpression
-            {
-             before(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); 
-            pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_rule__BinaryBooleanExpression__RightAssignment_1_25491);
-            ruleUnaryBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BinaryBooleanExpression__RightAssignment_1_2"
-
-
-    // $ANTLR start "rule__Comparison__OperationAssignment_1_1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2719:1: rule__Comparison__OperationAssignment_1_1 : ( ruleCompareOperation ) ;
-    public final void rule__Comparison__OperationAssignment_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2723:1: ( ( ruleCompareOperation ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2724:1: ( ruleCompareOperation )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2724:1: ( ruleCompareOperation )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2725:1: ruleCompareOperation
-            {
-             before(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); 
-            pushFollow(FOLLOW_ruleCompareOperation_in_rule__Comparison__OperationAssignment_1_15522);
-            ruleCompareOperation();
-
-            state._fsp--;
-
-             after(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__OperationAssignment_1_1"
-
-
-    // $ANTLR start "rule__Comparison__RightAssignment_1_2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2734:1: rule__Comparison__RightAssignment_1_2 : ( ruleTerm ) ;
-    public final void rule__Comparison__RightAssignment_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2738:1: ( ( ruleTerm ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2739:1: ( ruleTerm )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2739:1: ( ruleTerm )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2740:1: ruleTerm
-            {
-             before(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); 
-            pushFollow(FOLLOW_ruleTerm_in_rule__Comparison__RightAssignment_1_25553);
-            ruleTerm();
-
-            state._fsp--;
-
-             after(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Comparison__RightAssignment_1_2"
-
-
-    // $ANTLR start "rule__Term__OperationAssignment_1_1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2749:1: rule__Term__OperationAssignment_1_1 : ( ruleTermOperation ) ;
-    public final void rule__Term__OperationAssignment_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2753:1: ( ( ruleTermOperation ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2754:1: ( ruleTermOperation )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2754:1: ( ruleTermOperation )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2755:1: ruleTermOperation
-            {
-             before(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); 
-            pushFollow(FOLLOW_ruleTermOperation_in_rule__Term__OperationAssignment_1_15584);
-            ruleTermOperation();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__OperationAssignment_1_1"
-
-
-    // $ANTLR start "rule__Term__RightAssignment_1_2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2764:1: rule__Term__RightAssignment_1_2 : ( ruleProduct ) ;
-    public final void rule__Term__RightAssignment_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2768:1: ( ( ruleProduct ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2769:1: ( ruleProduct )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2769:1: ( ruleProduct )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2770:1: ruleProduct
-            {
-             before(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); 
-            pushFollow(FOLLOW_ruleProduct_in_rule__Term__RightAssignment_1_25615);
-            ruleProduct();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__RightAssignment_1_2"
-
-
-    // $ANTLR start "rule__Product__OperationAssignment_1_1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2779:1: rule__Product__OperationAssignment_1_1 : ( ruleProductOperation ) ;
-    public final void rule__Product__OperationAssignment_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2783:1: ( ( ruleProductOperation ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2784:1: ( ruleProductOperation )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2784:1: ( ruleProductOperation )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2785:1: ruleProductOperation
-            {
-             before(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); 
-            pushFollow(FOLLOW_ruleProductOperation_in_rule__Product__OperationAssignment_1_15646);
-            ruleProductOperation();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__OperationAssignment_1_1"
-
-
-    // $ANTLR start "rule__Product__RightAssignment_1_2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2794:1: rule__Product__RightAssignment_1_2 : ( rulePower ) ;
-    public final void rule__Product__RightAssignment_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2798:1: ( ( rulePower ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2799:1: ( rulePower )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2799:1: ( rulePower )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2800:1: rulePower
-            {
-             before(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); 
-            pushFollow(FOLLOW_rulePower_in_rule__Product__RightAssignment_1_25677);
-            rulePower();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__RightAssignment_1_2"
-
-
-    // $ANTLR start "rule__Power__ExponentAssignment_1_2"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2809:1: rule__Power__ExponentAssignment_1_2 : ( ruleAtom ) ;
-    public final void rule__Power__ExponentAssignment_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2813:1: ( ( ruleAtom ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2814:1: ( ruleAtom )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2814:1: ( ruleAtom )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2815:1: ruleAtom
-            {
-             before(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); 
-            pushFollow(FOLLOW_ruleAtom_in_rule__Power__ExponentAssignment_1_25708);
-            ruleAtom();
-
-            state._fsp--;
-
-             after(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__ExponentAssignment_1_2"
-
-
-    // $ANTLR start "rule__Function__NameAssignment_0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2824:1: rule__Function__NameAssignment_0 : ( RULE_ID ) ;
-    public final void rule__Function__NameAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2828:1: ( ( RULE_ID ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2829:1: ( RULE_ID )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2829:1: ( RULE_ID )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2830:1: RULE_ID
-            {
-             before(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Function__NameAssignment_05739); 
-             after(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__NameAssignment_0"
-
-
-    // $ANTLR start "rule__Function__ParametersAssignment_2_0"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2839:1: rule__Function__ParametersAssignment_2_0 : ( ruleRootExpression ) ;
-    public final void rule__Function__ParametersAssignment_2_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2843:1: ( ( ruleRootExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2844:1: ( ruleRootExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2844:1: ( ruleRootExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2845:1: ruleRootExpression
-            {
-             before(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); 
-            pushFollow(FOLLOW_ruleRootExpression_in_rule__Function__ParametersAssignment_2_05770);
-            ruleRootExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__ParametersAssignment_2_0"
-
-
-    // $ANTLR start "rule__Function__ParametersAssignment_2_1_1"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2854:1: rule__Function__ParametersAssignment_2_1_1 : ( ruleRootExpression ) ;
-    public final void rule__Function__ParametersAssignment_2_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2858:1: ( ( ruleRootExpression ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2859:1: ( ruleRootExpression )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2859:1: ( ruleRootExpression )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2860:1: ruleRootExpression
-            {
-             before(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); 
-            pushFollow(FOLLOW_ruleRootExpression_in_rule__Function__ParametersAssignment_2_1_15801);
-            ruleRootExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__ParametersAssignment_2_1_1"
-
-
-    // $ANTLR start "rule__FormalParameter__ValueAssignment"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2869:1: rule__FormalParameter__ValueAssignment : ( ruleEString ) ;
-    public final void rule__FormalParameter__ValueAssignment() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2873:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2874:1: ( ruleEString )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2874:1: ( ruleEString )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2875:1: ruleEString
-            {
-             before(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleEString_in_rule__FormalParameter__ValueAssignment5832);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__FormalParameter__ValueAssignment"
-
-
-    // $ANTLR start "rule__BooleanLiteral__ValueAssignment"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2884:1: rule__BooleanLiteral__ValueAssignment : ( ruleEBoolean ) ;
-    public final void rule__BooleanLiteral__ValueAssignment() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2888:1: ( ( ruleEBoolean ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2889:1: ( ruleEBoolean )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2889:1: ( ruleEBoolean )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2890:1: ruleEBoolean
-            {
-             before(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleEBoolean_in_rule__BooleanLiteral__ValueAssignment5863);
-            ruleEBoolean();
-
-            state._fsp--;
-
-             after(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanLiteral__ValueAssignment"
-
-
-    // $ANTLR start "rule__IntLiteral__ValueAssignment"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2899:1: rule__IntLiteral__ValueAssignment : ( ruleInteger ) ;
-    public final void rule__IntLiteral__ValueAssignment() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2903:1: ( ( ruleInteger ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2904:1: ( ruleInteger )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2904:1: ( ruleInteger )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2905:1: ruleInteger
-            {
-             before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment5894);
-            ruleInteger();
-
-            state._fsp--;
-
-             after(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__ValueAssignment"
-
-
-    // $ANTLR start "rule__DoubleLiteral__ValueAssignment"
-    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2914:1: rule__DoubleLiteral__ValueAssignment : ( ruleDouble ) ;
-    public final void rule__DoubleLiteral__ValueAssignment() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2918:1: ( ( ruleDouble ) )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2919:1: ( ruleDouble )
-            {
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2919:1: ( ruleDouble )
-            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2920:1: ruleDouble
-            {
-             before(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleDouble_in_rule__DoubleLiteral__ValueAssignment5925);
-            ruleDouble();
-
-            state._fsp--;
-
-             after(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__ValueAssignment"
-
-    // Delegated rules
-
-
- 
-
-    public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Model__TermsAssignment_in_ruleModel94 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDouble_in_entryRuleDouble121 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDouble128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Double__Group__0_in_ruleDouble154 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger181 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleInteger188 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Integer__Group__0_in_ruleInteger214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEString_in_entryRuleEString241 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleEString248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EString__Alternatives_in_ruleEString274 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEBoolean_in_entryRuleEBoolean301 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleEBoolean308 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EBoolean__Alternatives_in_ruleEBoolean334 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRootExpression_in_entryRuleRootExpression361 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleRootExpression368 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleRootExpression394 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression420 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleIfElseExpression427 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group__0_in_ruleIfElseExpression453 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBinaryBooleanExpression_in_entryRuleBinaryBooleanExpression480 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleBinaryBooleanExpression487 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group__0_in_ruleBinaryBooleanExpression513 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_entryRuleUnaryBooleanExpression540 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleUnaryBooleanExpression547 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Alternatives_in_ruleUnaryBooleanExpression573 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleComparison_in_entryRuleComparison600 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleComparison607 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Comparison__Group__0_in_ruleComparison633 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm660 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleTerm667 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Term__Group__0_in_ruleTerm693 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleProduct_in_entryRuleProduct720 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleProduct727 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Product__Group__0_in_ruleProduct753 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePower_in_entryRulePower780 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRulePower787 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Power__Group__0_in_rulePower813 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom840 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAtom847 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Atom__Alternatives_in_ruleAtom873 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction900 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFunction907 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group__0_in_ruleFunction933 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral960 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral967 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Literal__Alternatives_in_ruleLiteral993 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter1020 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFormalParameter1027 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FormalParameter__ValueAssignment_in_ruleFormalParameter1053 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1080 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral1087 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__ValueAssignment_in_ruleBooleanLiteral1113 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1140 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral1147 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1173 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1200 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral1207 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_in_ruleIntLiteral1233 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral1260 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDoubleLiteral1267 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DoubleLiteral__ValueAssignment_in_ruleDoubleLiteral1293 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProductOperation__Alternatives_in_ruleProductOperation1330 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TermOperation__Alternatives_in_ruleTermOperation1366 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompareOperation__Alternatives_in_ruleCompareOperation1402 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanOperation__Alternatives_in_ruleBooleanOperation1438 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives1473 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives1490 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_11_in_rule__EBoolean__Alternatives1523 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_12_in_rule__EBoolean__Alternatives1543 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__0_in_rule__UnaryBooleanExpression__Alternatives1577 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleComparison_in_rule__UnaryBooleanExpression__Alternatives1595 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_rule__Atom__Alternatives1627 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Atom__Group_1__0_in_rule__Atom__Alternatives1644 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFunction_in_rule__Atom__Alternatives1662 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1694 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1711 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFormalParameter_in_rule__Literal__Alternatives1728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1760 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDoubleLiteral_in_rule__NumberLiteral__Alternatives1777 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__ProductOperation__Alternatives1810 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__ProductOperation__Alternatives1831 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__ProductOperation__Alternatives1852 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__TermOperation__Alternatives1888 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__TermOperation__Alternatives1909 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_rule__CompareOperation__Alternatives1945 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__CompareOperation__Alternatives1966 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__CompareOperation__Alternatives1987 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_rule__CompareOperation__Alternatives2008 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_rule__CompareOperation__Alternatives2029 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__CompareOperation__Alternatives2050 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__BooleanOperation__Alternatives2086 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_rule__BooleanOperation__Alternatives2107 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__BooleanOperation__Alternatives2128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Double__Group__0__Impl_in_rule__Double__Group__02161 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__Double__Group__1_in_rule__Double__Group__02164 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__Double__Group__0__Impl2193 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Double__Group__1__Impl_in_rule__Double__Group__12226 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__Double__Group__2_in_rule__Double__Group__12229 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Double__Group__1__Impl2256 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Double__Group__2__Impl_in_rule__Double__Group__22285 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__Double__Group__3_in_rule__Double__Group__22288 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__Double__Group__2__Impl2316 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Double__Group__3__Impl_in_rule__Double__Group__32347 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Double__Group__3__Impl2374 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Integer__Group__0__Impl_in_rule__Integer__Group__02411 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__Integer__Group__1_in_rule__Integer__Group__02414 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__Integer__Group__0__Impl2443 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Integer__Group__1__Impl_in_rule__Integer__Group__12476 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Integer__Group__1__Impl2503 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group__0__Impl_in_rule__IfElseExpression__Group__02536 = new BitSet(new long[]{0x0000000010000000L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group__1_in_rule__IfElseExpression__Group__02539 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBinaryBooleanExpression_in_rule__IfElseExpression__Group__0__Impl2566 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group__1__Impl_in_rule__IfElseExpression__Group__12595 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__0_in_rule__IfElseExpression__Group__1__Impl2622 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__0__Impl_in_rule__IfElseExpression__Group_1__02657 = new BitSet(new long[]{0x0000000010000000L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__1_in_rule__IfElseExpression__Group_1__02660 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__1__Impl_in_rule__IfElseExpression__Group_1__12718 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__2_in_rule__IfElseExpression__Group_1__12721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__IfElseExpression__Group_1__1__Impl2749 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__2__Impl_in_rule__IfElseExpression__Group_1__22780 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__3_in_rule__IfElseExpression__Group_1__22783 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__TrueExpAssignment_1_2_in_rule__IfElseExpression__Group_1__2__Impl2810 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__3__Impl_in_rule__IfElseExpression__Group_1__32840 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__4_in_rule__IfElseExpression__Group_1__32843 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__IfElseExpression__Group_1__3__Impl2871 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__4__Impl_in_rule__IfElseExpression__Group_1__42902 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IfElseExpression__FalseExpAssignment_1_4_in_rule__IfElseExpression__Group_1__4__Impl2929 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group__0__Impl_in_rule__BinaryBooleanExpression__Group__02969 = new BitSet(new long[]{0x0000000007000000L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group__1_in_rule__BinaryBooleanExpression__Group__02972 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_rule__BinaryBooleanExpression__Group__0__Impl2999 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group__1__Impl_in_rule__BinaryBooleanExpression__Group__13028 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__0_in_rule__BinaryBooleanExpression__Group__1__Impl3055 = new BitSet(new long[]{0x0000000007000002L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__0__Impl_in_rule__BinaryBooleanExpression__Group_1__03090 = new BitSet(new long[]{0x0000000007000000L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__1_in_rule__BinaryBooleanExpression__Group_1__03093 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__1__Impl_in_rule__BinaryBooleanExpression__Group_1__13151 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__2_in_rule__BinaryBooleanExpression__Group_1__13154 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__OperationAssignment_1_1_in_rule__BinaryBooleanExpression__Group_1__1__Impl3181 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__2__Impl_in_rule__BinaryBooleanExpression__Group_1__23211 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BinaryBooleanExpression__RightAssignment_1_2_in_rule__BinaryBooleanExpression__Group_1__2__Impl3238 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__0__Impl_in_rule__UnaryBooleanExpression__Group_0__03274 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__1_in_rule__UnaryBooleanExpression__Group_0__03277 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__UnaryBooleanExpression__Group_0__0__Impl3305 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__1__Impl_in_rule__UnaryBooleanExpression__Group_0__13336 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__2_in_rule__UnaryBooleanExpression__Group_0__13339 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleComparison_in_rule__UnaryBooleanExpression__Group_0__1__Impl3366 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__2__Impl_in_rule__UnaryBooleanExpression__Group_0__23395 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Comparison__Group__0__Impl_in_rule__Comparison__Group__03459 = new BitSet(new long[]{0x0000000000FC0000L});
-    public static final BitSet FOLLOW_rule__Comparison__Group__1_in_rule__Comparison__Group__03462 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTerm_in_rule__Comparison__Group__0__Impl3489 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Comparison__Group__1__Impl_in_rule__Comparison__Group__13518 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Comparison__Group_1__0_in_rule__Comparison__Group__1__Impl3545 = new BitSet(new long[]{0x0000000000FC0002L});
-    public static final BitSet FOLLOW_rule__Comparison__Group_1__0__Impl_in_rule__Comparison__Group_1__03580 = new BitSet(new long[]{0x0000000000FC0000L});
-    public static final BitSet FOLLOW_rule__Comparison__Group_1__1_in_rule__Comparison__Group_1__03583 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Comparison__Group_1__1__Impl_in_rule__Comparison__Group_1__13641 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__Comparison__Group_1__2_in_rule__Comparison__Group_1__13644 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Comparison__OperationAssignment_1_1_in_rule__Comparison__Group_1__1__Impl3671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Comparison__Group_1__2__Impl_in_rule__Comparison__Group_1__23701 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Comparison__RightAssignment_1_2_in_rule__Comparison__Group_1__2__Impl3728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Term__Group__0__Impl_in_rule__Term__Group__03764 = new BitSet(new long[]{0x0000000000030000L});
-    public static final BitSet FOLLOW_rule__Term__Group__1_in_rule__Term__Group__03767 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleProduct_in_rule__Term__Group__0__Impl3794 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Term__Group__1__Impl_in_rule__Term__Group__13823 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Term__Group_1__0_in_rule__Term__Group__1__Impl3850 = new BitSet(new long[]{0x0000000000030002L});
-    public static final BitSet FOLLOW_rule__Term__Group_1__0__Impl_in_rule__Term__Group_1__03885 = new BitSet(new long[]{0x0000000000030000L});
-    public static final BitSet FOLLOW_rule__Term__Group_1__1_in_rule__Term__Group_1__03888 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Term__Group_1__1__Impl_in_rule__Term__Group_1__13946 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__Term__Group_1__2_in_rule__Term__Group_1__13949 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Term__OperationAssignment_1_1_in_rule__Term__Group_1__1__Impl3976 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Term__Group_1__2__Impl_in_rule__Term__Group_1__24006 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Term__RightAssignment_1_2_in_rule__Term__Group_1__2__Impl4033 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Product__Group__0__Impl_in_rule__Product__Group__04069 = new BitSet(new long[]{0x000000000000E000L});
-    public static final BitSet FOLLOW_rule__Product__Group__1_in_rule__Product__Group__04072 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePower_in_rule__Product__Group__0__Impl4099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Product__Group__1__Impl_in_rule__Product__Group__14128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Product__Group_1__0_in_rule__Product__Group__1__Impl4155 = new BitSet(new long[]{0x000000000000E002L});
-    public static final BitSet FOLLOW_rule__Product__Group_1__0__Impl_in_rule__Product__Group_1__04190 = new BitSet(new long[]{0x000000000000E000L});
-    public static final BitSet FOLLOW_rule__Product__Group_1__1_in_rule__Product__Group_1__04193 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Product__Group_1__1__Impl_in_rule__Product__Group_1__14251 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__Product__Group_1__2_in_rule__Product__Group_1__14254 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Product__OperationAssignment_1_1_in_rule__Product__Group_1__1__Impl4281 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Product__Group_1__2__Impl_in_rule__Product__Group_1__24311 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Product__RightAssignment_1_2_in_rule__Product__Group_1__2__Impl4338 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Power__Group__0__Impl_in_rule__Power__Group__04374 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_rule__Power__Group__1_in_rule__Power__Group__04377 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAtom_in_rule__Power__Group__0__Impl4404 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Power__Group__1__Impl_in_rule__Power__Group__14433 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Power__Group_1__0_in_rule__Power__Group__1__Impl4460 = new BitSet(new long[]{0x0000000080000002L});
-    public static final BitSet FOLLOW_rule__Power__Group_1__0__Impl_in_rule__Power__Group_1__04495 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_rule__Power__Group_1__1_in_rule__Power__Group_1__04498 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Power__Group_1__1__Impl_in_rule__Power__Group_1__14556 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__Power__Group_1__2_in_rule__Power__Group_1__14559 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__Power__Group_1__1__Impl4587 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Power__Group_1__2__Impl_in_rule__Power__Group_1__24618 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Power__ExponentAssignment_1_2_in_rule__Power__Group_1__2__Impl4645 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Atom__Group_1__0__Impl_in_rule__Atom__Group_1__04681 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__Atom__Group_1__1_in_rule__Atom__Group_1__04684 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_rule__Atom__Group_1__0__Impl4712 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Atom__Group_1__1__Impl_in_rule__Atom__Group_1__14743 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_rule__Atom__Group_1__2_in_rule__Atom__Group_1__14746 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRootExpression_in_rule__Atom__Group_1__1__Impl4773 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Atom__Group_1__2__Impl_in_rule__Atom__Group_1__24802 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__Atom__Group_1__2__Impl4830 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__04867 = new BitSet(new long[]{0x0000000100000000L});
-    public static final BitSet FOLLOW_rule__Function__Group__1_in_rule__Function__Group__04870 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__NameAssignment_0_in_rule__Function__Group__0__Impl4897 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__14927 = new BitSet(new long[]{0x0000000340021870L});
-    public static final BitSet FOLLOW_rule__Function__Group__2_in_rule__Function__Group__14930 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_rule__Function__Group__1__Impl4958 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__24989 = new BitSet(new long[]{0x0000000340021870L});
-    public static final BitSet FOLLOW_rule__Function__Group__3_in_rule__Function__Group__24992 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group_2__0_in_rule__Function__Group__2__Impl5019 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__35050 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__Function__Group__3__Impl5078 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group_2__0__Impl_in_rule__Function__Group_2__05117 = new BitSet(new long[]{0x0000000400000000L});
-    public static final BitSet FOLLOW_rule__Function__Group_2__1_in_rule__Function__Group_2__05120 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__ParametersAssignment_2_0_in_rule__Function__Group_2__0__Impl5147 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group_2__1__Impl_in_rule__Function__Group_2__15177 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group_2_1__0_in_rule__Function__Group_2__1__Impl5204 = new BitSet(new long[]{0x0000000400000002L});
-    public static final BitSet FOLLOW_rule__Function__Group_2_1__0__Impl_in_rule__Function__Group_2_1__05239 = new BitSet(new long[]{0x0000000140021870L});
-    public static final BitSet FOLLOW_rule__Function__Group_2_1__1_in_rule__Function__Group_2_1__05242 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rule__Function__Group_2_1__0__Impl5270 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__Group_2_1__1__Impl_in_rule__Function__Group_2_1__15301 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Function__ParametersAssignment_2_1_1_in_rule__Function__Group_2_1__1__Impl5328 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_rule__Model__TermsAssignment5367 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_rule__IfElseExpression__TrueExpAssignment_1_25398 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_rule__IfElseExpression__FalseExpAssignment_1_45429 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanOperation_in_rule__BinaryBooleanExpression__OperationAssignment_1_15460 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_rule__BinaryBooleanExpression__RightAssignment_1_25491 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleCompareOperation_in_rule__Comparison__OperationAssignment_1_15522 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTerm_in_rule__Comparison__RightAssignment_1_25553 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTermOperation_in_rule__Term__OperationAssignment_1_15584 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleProduct_in_rule__Term__RightAssignment_1_25615 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleProductOperation_in_rule__Product__OperationAssignment_1_15646 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePower_in_rule__Product__RightAssignment_1_25677 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAtom_in_rule__Power__ExponentAssignment_1_25708 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__Function__NameAssignment_05739 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRootExpression_in_rule__Function__ParametersAssignment_2_05770 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRootExpression_in_rule__Function__ParametersAssignment_2_1_15801 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEString_in_rule__FormalParameter__ValueAssignment5832 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEBoolean_in_rule__BooleanLiteral__ValueAssignment5863 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment5894 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDouble_in_rule__DoubleLiteral__ValueAssignment5925 = new BitSet(new long[]{0x0000000000000002L});
-
-}
\ No newline at end of file
diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/internal/MyDslActivator.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/internal/MyDslActivator.java
deleted file mode 100644
index e0e717d2c1b70b023aa35147ed4725cc0249bcf1..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/internal/MyDslActivator.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl.ui.internal;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.xtext.ui.shared.SharedStateModule;
-import org.eclipse.xtext.util.Modules2;
-import org.osgi.framework.BundleContext;
-
-import com.google.common.collect.Maps;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Module;
-
-/**
- * This class was generated. Customizations should only happen in a newly
- * introduced subclass. 
- */
-public class MyDslActivator extends AbstractUIPlugin {
-	
-	public static final String ORG_XTEXT_EXAMPLE_MYDSL_MYDSL = "org.xtext.example.mydsl.MyDsl";
-	
-	private static final Logger logger = Logger.getLogger(MyDslActivator.class);
-	
-	private static MyDslActivator INSTANCE;
-	
-	private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
-	
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		INSTANCE = this;
-	}
-	
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		injectors.clear();
-		INSTANCE = null;
-		super.stop(context);
-	}
-	
-	public static MyDslActivator getInstance() {
-		return INSTANCE;
-	}
-	
-	public Injector getInjector(String language) {
-		synchronized (injectors) {
-			Injector injector = injectors.get(language);
-			if (injector == null) {
-				injectors.put(language, injector = createInjector(language));
-			}
-			return injector;
-		}
-	}
-	
-	protected Injector createInjector(String language) {
-		try {
-			Module runtimeModule = getRuntimeModule(language);
-			Module sharedStateModule = getSharedStateModule();
-			Module uiModule = getUiModule(language);
-			Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
-			return Guice.createInjector(mergedModule);
-		} catch (Exception e) {
-			logger.error("Failed to create injector for " + language);
-			logger.error(e.getMessage(), e);
-			throw new RuntimeException("Failed to create injector for " + language, e);
-		}
-	}
-
-	protected Module getRuntimeModule(String grammar) {
-		if (ORG_XTEXT_EXAMPLE_MYDSL_MYDSL.equals(grammar)) {
-			return new org.xtext.example.mydsl.MyDslRuntimeModule();
-		}
-		
-		throw new IllegalArgumentException(grammar);
-	}
-	
-	protected Module getUiModule(String grammar) {
-		if (ORG_XTEXT_EXAMPLE_MYDSL_MYDSL.equals(grammar)) {
-			return new org.xtext.example.mydsl.ui.MyDslUiModule(this);
-		}
-		
-		throw new IllegalArgumentException(grammar);
-	}
-	
-	protected Module getSharedStateModule() {
-		return new SharedStateModule();
-	}
-	
-}
diff --git a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/MyDslUiModule.java b/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/MyDslUiModule.java
deleted file mode 100644
index 31ca8742b1446ab5c41df5602b6a3d0ac6a0f911..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/MyDslUiModule.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Use this class to register components to be used within the IDE.
- */
-public class MyDslUiModule extends org.xtext.example.mydsl.ui.AbstractMyDslUiModule {
-	public MyDslUiModule(AbstractUIPlugin plugin) {
-		super(plugin);
-	}
-}
diff --git a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/contentassist/MyDslProposalProvider.java b/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/contentassist/MyDslProposalProvider.java
deleted file mode 100644
index 6c345b712b6907cd8acfaf646f47fd28a730127e..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/contentassist/MyDslProposalProvider.java
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl.ui.contentassist;
-
-import org.xtext.example.mydsl.ui.contentassist.AbstractMyDslProposalProvider;
-/**
- * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#contentAssist on how to customize content assistant
- */
-public class MyDslProposalProvider extends AbstractMyDslProposalProvider {
-
-}
diff --git a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/labeling/MyDslDescriptionLabelProvider.java b/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/labeling/MyDslDescriptionLabelProvider.java
deleted file mode 100644
index 3282917244ded4145539c33e4cf353db1a312767..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/labeling/MyDslDescriptionLabelProvider.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl.ui.labeling;
-
-import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
-
-/**
- * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
- * 
- * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
- */
-public class MyDslDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
-
-/*
-	//Labels and icons can be computed like this:
-	
-	String text(IEObjectDescription ele) {
-	  return "my "+ele.getName();
-	}
-	 
-    String image(IEObjectDescription ele) {
-      return ele.getEClass().getName() + ".gif";
-    }	 
-*/
-
-}
diff --git a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/labeling/MyDslLabelProvider.java b/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/labeling/MyDslLabelProvider.java
deleted file mode 100644
index 749018e4e1b0fdc2f2705d5321c1419a386e8f66..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/labeling/MyDslLabelProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl.ui.labeling;
-
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; 
- 
-import com.google.inject.Inject;
-
-/**
- * Provides labels for a EObjects.
- * 
- * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
- */
-public class MyDslLabelProvider extends DefaultEObjectLabelProvider {
-
-	@Inject
-	public MyDslLabelProvider(AdapterFactoryLabelProvider delegate) {
-		super(delegate);
-	}
-
-/*
-	//Labels and icons can be computed like this:
-	
-	String text(MyModel ele) {
-	  return "my "+ele.getName();
-	}
-	 
-    String image(MyModel ele) {
-      return "MyModel.gif";
-    }
-*/
-}
diff --git a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/outline/MyDslOutlineTreeProvider.java b/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/outline/MyDslOutlineTreeProvider.java
deleted file mode 100644
index 49a5f060343eee49b8eb8d0c0f33b4592017d601..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/outline/MyDslOutlineTreeProvider.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl.ui.outline;
-
-import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
-
-/**
- * customization of the default outline structure
- * 
- */
-public class MyDslOutlineTreeProvider extends DefaultOutlineTreeProvider {
-	
-}
diff --git a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/quickfix/MyDslQuickfixProvider.java b/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/quickfix/MyDslQuickfixProvider.java
deleted file mode 100644
index d4f28855881ea28c9feca1a7fdb6b47e43358633..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/quickfix/MyDslQuickfixProvider.java
+++ /dev/null
@@ -1,19 +0,0 @@
-
-package org.xtext.example.mydsl.ui.quickfix;
-
-import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
-
-public class MyDslQuickfixProvider extends DefaultQuickfixProvider {
-
-//	@Fix(MyJavaValidator.INVALID_NAME)
-//	public void capitalizeName(final Issue issue, IssueResolutionAcceptor acceptor) {
-//		acceptor.accept(issue, "Capitalize name", "Capitalize the name.", "upcase.png", new IModification() {
-//			public void apply(IModificationContext context) throws BadLocationException {
-//				IXtextDocument xtextDocument = context.getXtextDocument();
-//				String firstLetter = xtextDocument.get(issue.getOffset(), 1);
-//				xtextDocument.replace(issue.getOffset(), 1, firstLetter.toUpperCase());
-//			}
-//		});
-//	}
-
-}
diff --git a/org.xtext.example.mydsl/.antlr-generator-3.2.0.jar b/org.xtext.example.mydsl/.antlr-generator-3.2.0.jar
deleted file mode 100644
index 42434924055b70ff9df664593fe7242968e772c8..0000000000000000000000000000000000000000
Binary files a/org.xtext.example.mydsl/.antlr-generator-3.2.0.jar and /dev/null differ
diff --git a/org.xtext.example.mydsl/.classpath b/org.xtext.example.mydsl/.classpath
deleted file mode 100644
index 3f1be5028577c15f387245557efec88746d8654c..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="src" path="xtend-gen"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.xtext.example.mydsl/.launch/Generate Language Infrastructure (org.xtext.example.mydsl).launch b/org.xtext.example.mydsl/.launch/Generate Language Infrastructure (org.xtext.example.mydsl).launch
deleted file mode 100644
index b5f053019ea43d615b23d574ca1274cadb955310..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/.launch/Generate Language Infrastructure (org.xtext.example.mydsl).launch	
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.xtext.example.mydsl&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.xtext.example.mydsl.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.xtext.example.mydsl.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.xtext.example.mydsl.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.xtext.example.mydsl"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/xtext/example/mydsl/GenerateMyDsl.mwe2"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.xtext.example.mydsl"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
-</launchConfiguration>
diff --git a/org.xtext.example.mydsl/.launch/Launch Runtime Eclipse.launch b/org.xtext.example.mydsl/.launch/Launch Runtime Eclipse.launch
deleted file mode 100644
index 4dc44ec0f17588f02be433ab05e88f5c54e6f97b..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/.launch/Launch Runtime Eclipse.launch	
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="true"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bad_container_name" value="/org.xtext.example.mydsl/.launch/"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<booleanAttribute key="clearws" value="false"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Launch Runtime Eclipse"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../runtime-EclipseXtext"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx512m -XX:MaxPermSize=256m"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useProduct" value="true"/>
-<booleanAttribute key="usefeatures" value="false"/>
-</launchConfiguration>
diff --git a/org.xtext.example.mydsl/.project b/org.xtext.example.mydsl/.project
deleted file mode 100644
index ad03ad8cb9c720fd046814d41ee17f072ab58440..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.xtext.example.mydsl</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.xtext.example.mydsl/META-INF/MANIFEST.MF b/org.xtext.example.mydsl/META-INF/MANIFEST.MF
deleted file mode 100644
index 2e7bff20a8a1f68f42f7e94b4623182263c29829..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,34 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.xtext.example.mydsl
-Bundle-Vendor: My Company
-Bundle-Version: 1.0.0.qualifier
-Bundle-SymbolicName: org.xtext.example.mydsl; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.xtext;visibility:=reexport,
- org.eclipse.xtext.xbase;resolution:=optional;visibility:=reexport,
- org.eclipse.xtext.generator;resolution:=optional,
- org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
- org.eclipse.emf.codegen.ecore;resolution:=optional,
- org.eclipse.emf.mwe.utils;resolution:=optional,
- org.eclipse.emf.mwe2.launch;resolution:=optional,
- org.eclipse.xtext.util,
- org.eclipse.emf.ecore,
- org.eclipse.emf.common,
- org.antlr.runtime,
- org.eclipse.xtext.common.types
-Import-Package: org.apache.log4j,
- org.eclipse.xtext.xbase.lib
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.xtext.example.mydsl,
- org.xtext.example.mydsl.services,
- org.xtext.example.mydsl.myDsl,
- org.xtext.example.mydsl.myDsl.impl,
- org.xtext.example.mydsl.myDsl.util,
- org.xtext.example.mydsl.serializer,
- org.xtext.example.mydsl.parser.antlr,
- org.xtext.example.mydsl.parser.antlr.internal,
- org.xtext.example.mydsl.validation,
- org.xtext.example.mydsl.scoping,
- org.xtext.example.mydsl.generator,
- org.xtext.example.mydsl.formatting
diff --git a/org.xtext.example.mydsl/build.properties b/org.xtext.example.mydsl/build.properties
deleted file mode 100644
index 31255ed05bc1242430be9f3e44440c2e42921649..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/,\
-          src-gen/,\
-          xtend-gen/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
\ No newline at end of file
diff --git a/org.xtext.example.mydsl/old b/org.xtext.example.mydsl/old
deleted file mode 100644
index 9302cb5640996c73bede39c544dae55635370238..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/old
+++ /dev/null
@@ -1,40 +0,0 @@
-grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
-import "http://www.eclipse.org/emf/2002/Ecore" as ecore
-generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
-
-Model:
-	terms+=Term;
-
-Term returns Expression:
-	Types ({Term.left=current} 
-	Operations=Operations
- 	right=Types)*
-;
-
-Types returns Expression:
-	Arithmetics | Strings | '(' Term ')'
-;
-
-Arithmetics returns Expression:
-	{Expression}
-  DECIMAL ;
-  
-Strings returns Expression:
-	{Expression}
-	E_STRING
-;
-
-DECIMAL returns ecore::EBigDecimal : '-'? INT ('.' INT)? ;
- 
-E_STRING returns ecore::EString:
-	STRING | ID;
- 
-Operations returns Expression:
-	termOperations = OperationsType;
-	
-enum OperationsType:
-	ADD='+' | SUB='-' | MULT='*'|DIV='/'|MOD='%' |
-	GREATER='>' | LESS='<'|EQUALS='='|NOTEQUAL='!='|LESSEQUAL='<=' | GREATEREQUAL='>='
-	| AND='AND' | OR='OR' | XOR='XOR';
-
- 
\ No newline at end of file
diff --git a/org.xtext.example.mydsl/plugin.xml b/org.xtext.example.mydsl/plugin.xml
deleted file mode 100644
index ad7e4e406a39b27e91b203ff0ca306db41397bc7..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <extension point="org.eclipse.emf.ecore.generated_package">
-    <package 
-       uri = "http://www.xtext.org/example/mydsl/MyDsl" 
-       class = "org.xtext.example.mydsl.myDsl.MyDslPackage"
-       genModel = "org/xtext/example/mydsl/MyDsl.genmodel" /> 
-	
-  </extension>
-
-
-
-
-</plugin>
diff --git a/org.xtext.example.mydsl/plugin.xml_gen b/org.xtext.example.mydsl/plugin.xml_gen
deleted file mode 100644
index ad7e4e406a39b27e91b203ff0ca306db41397bc7..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/plugin.xml_gen
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <extension point="org.eclipse.emf.ecore.generated_package">
-    <package 
-       uri = "http://www.xtext.org/example/mydsl/MyDsl" 
-       class = "org.xtext.example.mydsl.myDsl.MyDslPackage"
-       genModel = "org/xtext/example/mydsl/MyDsl.genmodel" /> 
-	
-  </extension>
-
-
-
-
-</plugin>
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/AbstractMyDslRuntimeModule.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/AbstractMyDslRuntimeModule.java
deleted file mode 100644
index 79e4a41eb97aa279c410f3aa0f2d062460173cdb..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/AbstractMyDslRuntimeModule.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl;
-
-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.xtext.example.mydsl.MyDslRuntimeModule}
- */
- @SuppressWarnings("all")
-public abstract class AbstractMyDslRuntimeModule extends DefaultRuntimeModule {
-
-	protected Properties properties = null;
-
-	@Override
-	public void configure(Binder binder) {
-		properties = tryBindProperties(binder, "org/xtext/example/mydsl/MyDsl.properties");
-		super.configure(binder);
-	}
-	
-	public void configureLanguageName(Binder binder) {
-		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.xtext.example.mydsl.MyDsl");
-	}
-	
-	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("mydsl");
-	}
-	
-	// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
-	public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
-		return org.xtext.example.mydsl.services.MyDslGrammarAccess.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.ecore2xtext.Ecore2XtextValueConverterServiceFragment
-	public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() {
-		return org.eclipse.xtext.common.services.Ecore2XtextTerminalConverters.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
-	public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
-		return org.xtext.example.mydsl.serializer.MyDslSemanticSequencer.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
-	public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
-		return org.xtext.example.mydsl.serializer.MyDslSyntacticSequencer.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
-	public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
-		return org.eclipse.xtext.serializer.impl.Serializer.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
-		return org.xtext.example.mydsl.parser.antlr.MyDslParser.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.xtext.example.mydsl.parser.antlr.MyDslAntlrTokenFileProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
-		return org.xtext.example.mydsl.parser.antlr.internal.InternalMyDslLexer.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public com.google.inject.Provider<org.xtext.example.mydsl.parser.antlr.internal.InternalMyDslLexer> provideInternalMyDslLexer() {
-		return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.xtext.example.mydsl.parser.antlr.internal.InternalMyDslLexer.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.xtext.example.mydsl.parser.antlr.internal.InternalMyDslLexer.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.xtext.example.mydsl.validation.MyDslJavaValidator> bindMyDslJavaValidator() {
-		return org.xtext.example.mydsl.validation.MyDslJavaValidator.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
-		return org.xtext.example.mydsl.scoping.MyDslScopeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
-		binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
-	}
-
-	// contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
-	public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
-		return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
-		return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
-		return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptions(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
-	public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
-		return org.xtext.example.mydsl.generator.MyDslGenerator.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
-	public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
-		return org.xtext.example.mydsl.formatting.MyDslFormatter.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public java.lang.ClassLoader bindClassLoaderToInstance() {
-		return getClass().getClassLoader();
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
-		return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
-		return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
-		return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
-	public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
-		return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
-	}
-
-}
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore
deleted file mode 100644
index 243bab2e91456c18ef36c2f13b2316805608ec04..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore
+++ /dev/null
@@ -1,94 +0,0 @@
-<?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="myDsl" nsURI="http://www.xtext.org/example/mydsl/MyDsl" nsPrefix="myDsl">
-  <eClassifiers xsi:type="ecore:EClass" name="Model">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="terms" eType="#//Expression"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="ProductOperation">
-    <eLiterals name="MULT" literal="*"/>
-    <eLiterals name="DIV" value="1" literal="/"/>
-    <eLiterals name="MOD" value="2" literal="%"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="TermOperation">
-    <eLiterals name="ADD" literal="+"/>
-    <eLiterals name="SUB" value="1" literal="-"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="CompareOperation">
-    <eLiterals name="GREATER" literal=">"/>
-    <eLiterals name="LESS" value="1" literal="&lt;"/>
-    <eLiterals name="EQUALS" value="2" literal="="/>
-    <eLiterals name="NOTEQUAL" value="3" literal="!="/>
-    <eLiterals name="LESSEQUAL" value="4" literal="&lt;="/>
-    <eLiterals name="GREATEREQUAL" value="5" literal=">="/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="BooleanOperation">
-    <eLiterals name="AND" literal="AND"/>
-    <eLiterals name="OR" value="1" literal="OR"/>
-    <eLiterals name="XOR" value="2" literal="XOR"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Expression"/>
-  <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
-        eType="#//Expression" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="FormalParameter" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="BooleanLiteral" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IntLiteral" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="DoubleLiteral" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IfElseExpression" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="trueExp" eType="#//Expression"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="falseExp" eType="#//Expression"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="BinaryBooleanExpression" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" eType="#//BooleanOperation"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="UnaryBooleanExpression" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="inner" eType="#//Expression"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Comparison" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" eType="#//CompareOperation"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Term" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" eType="#//TermOperation"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Product" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" eType="#//ProductOperation"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Power" eSuperTypes="#//Expression">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="base" eType="#//Expression"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="exponent" eType="#//Expression"
-        containment="true"/>
-  </eClassifiers>
-</ecore:EPackage>
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.genmodel b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.genmodel
deleted file mode 100644
index 7951d8d5bc346afdc1706df9e367ca2bb1167d8c..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.genmodel
+++ /dev/null
@@ -1,85 +0,0 @@
-<?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.xtext.example.mydsl/src-gen" editDirectory="/org.xtext.example.mydsl.edit/src"
-    editorDirectory="/org.xtext.example.mydsl.editor/src" modelPluginID="org.xtext.example.mydsl"
-    forceOverwrite="true" modelName="MyDsl" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
-    complianceLevel="5.0" copyrightFields="false" editPluginID="org.xtext.example.mydsl.edit"
-    editorPluginID="org.xtext.example.mydsl.editor" runtimeVersion="2.8">
-  <genPackages prefix="MyDsl" basePackage="org.xtext.example.mydsl" disposableProviderFactory="true"
-      ecorePackage="MyDsl.ecore#/">
-    <genEnums typeSafeEnumCompatible="false" ecoreEnum="MyDsl.ecore#//ProductOperation">
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//ProductOperation/MULT"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//ProductOperation/DIV"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//ProductOperation/MOD"/>
-    </genEnums>
-    <genEnums typeSafeEnumCompatible="false" ecoreEnum="MyDsl.ecore#//TermOperation">
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//TermOperation/ADD"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//TermOperation/SUB"/>
-    </genEnums>
-    <genEnums typeSafeEnumCompatible="false" ecoreEnum="MyDsl.ecore#//CompareOperation">
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/GREATER"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/LESS"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/EQUALS"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/NOTEQUAL"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/LESSEQUAL"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/GREATEREQUAL"/>
-    </genEnums>
-    <genEnums typeSafeEnumCompatible="false" ecoreEnum="MyDsl.ecore#//BooleanOperation">
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//BooleanOperation/AND"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//BooleanOperation/OR"/>
-      <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//BooleanOperation/XOR"/>
-    </genEnums>
-    <genClasses ecoreClass="MyDsl.ecore#//Model">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Model/terms"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//Expression"/>
-    <genClasses ecoreClass="MyDsl.ecore#//Function">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//Function/name"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Function/parameters"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//FormalParameter">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//FormalParameter/value"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//BooleanLiteral">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//BooleanLiteral/value"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//IntLiteral">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//IntLiteral/value"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//DoubleLiteral">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//DoubleLiteral/value"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//IfElseExpression">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//IfElseExpression/condition"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//IfElseExpression/trueExp"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//IfElseExpression/falseExp"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//BinaryBooleanExpression">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//BinaryBooleanExpression/left"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//BinaryBooleanExpression/operation"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//BinaryBooleanExpression/right"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//UnaryBooleanExpression">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//UnaryBooleanExpression/inner"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//Comparison">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Comparison/left"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//Comparison/operation"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Comparison/right"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//Term">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Term/left"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//Term/operation"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Term/right"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//Product">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Product/left"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//Product/operation"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Product/right"/>
-    </genClasses>
-    <genClasses ecoreClass="MyDsl.ecore#//Power">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Power/base"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Power/exponent"/>
-    </genClasses>
-  </genPackages>
-</genmodel:GenModel>
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.xmi b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.xmi
deleted file mode 100644
index 260fef6fa54234347b3812d40edcaaedc3f93f23..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.xmi
+++ /dev/null
@@ -1,531 +0,0 @@
-<?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.xtext.example.mydsl.MyDsl" usedGrammars="/1">
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
-      <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="myDsl">
-      <ePackage href="http://www.xtext.org/example/mydsl/MyDsl#/"/>
-    </metamodelDeclarations>
-    <rules xsi:type="xtext:ParserRule" name="Model">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Model"/>
-      </type>
-      <alternatives xsi:type="xtext:Assignment" feature="terms" operator="=">
-        <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Double">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
-        <elements xsi:type="xtext:Keyword" value="."/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Integer">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EString">
-      <type metamodel="/0/@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:RuleCall" rule="/1/@rules.2"/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EBoolean">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-      </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:EnumRule" name="ProductOperation">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EEnum" href="http://www.xtext.org/example/mydsl/MyDsl#//ProductOperation"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//ProductOperation/MULT"/>
-          <literal value="*"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//ProductOperation/DIV"/>
-          <literal value="/"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//ProductOperation/MOD"/>
-          <literal value="%"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:EnumRule" name="TermOperation">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EEnum" href="http://www.xtext.org/example/mydsl/MyDsl#//TermOperation"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//TermOperation/ADD"/>
-          <literal value="+"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//TermOperation/SUB"/>
-          <literal value="-"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:EnumRule" name="CompareOperation">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EEnum" href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/GREATER"/>
-          <literal value=">"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/LESS"/>
-          <literal value="&lt;"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/EQUALS"/>
-          <literal value="="/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/NOTEQUAL"/>
-          <literal value="!="/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/LESSEQUAL"/>
-          <literal value="&lt;="/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/GREATEREQUAL"/>
-          <literal value=">="/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:EnumRule" name="BooleanOperation">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EEnum" href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanOperation"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanOperation/AND"/>
-          <literal value="AND"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanOperation/OR"/>
-          <literal value="OR"/>
-        </elements>
-        <elements xsi:type="xtext:EnumLiteralDeclaration">
-          <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanOperation/XOR"/>
-          <literal value="XOR"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="RootExpression">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="IfElseExpression">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Action" feature="condition" operator="=">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//IfElseExpression"/>
-            </type>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="?"/>
-          <elements xsi:type="xtext:Assignment" feature="trueExp" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value=":"/>
-          <elements xsi:type="xtext:Assignment" feature="falseExp" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-          </elements>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BinaryBooleanExpression">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Action" feature="left" operator="=">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//BinaryBooleanExpression"/>
-            </type>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
-          </elements>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="UnaryBooleanExpression">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:Group">
-          <elements xsi:type="xtext:Keyword" value="NOT"/>
-          <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-          <elements xsi:type="xtext:Action" feature="inner" operator="=">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//UnaryBooleanExpression"/>
-            </type>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Comparison">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Action" feature="left" operator="=">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Comparison"/>
-            </type>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
-          </elements>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Term">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Action" feature="left" operator="=">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Term"/>
-            </type>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-          </elements>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Product">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Action" feature="left" operator="=">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Product"/>
-            </type>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-          </elements>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Power">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Action" feature="base" operator="=">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Power"/>
-            </type>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="^"/>
-          <elements xsi:type="xtext:Assignment" feature="exponent" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
-          </elements>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Atom">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-        <elements xsi:type="xtext:Group">
-          <elements xsi:type="xtext:Keyword" value="("/>
-          <elements xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
-          <elements xsi:type="xtext:Keyword" value=")"/>
-        </elements>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Function">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Function"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="("/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Assignment" feature="parameters" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="parameters" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
-            </elements>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value=")"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Literal">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="FormalParameter">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//FormalParameter"/>
-      </type>
-      <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
-        <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BooleanLiteral">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanLiteral"/>
-      </type>
-      <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
-        <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="NumberLiteral">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="IntLiteral">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//IntLiteral"/>
-      </type>
-      <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
-        <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="DoubleLiteral">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//DoubleLiteral"/>
-      </type>
-      <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
-        <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
-      </alternatives>
-    </rules>
-  </xtext:Grammar>
-  <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4">
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
-      <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
-    </metamodelDeclarations>
-    <rules xsi:type="xtext:TerminalRule" name="ID">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
-        <elements xsi:type="xtext:Alternatives">
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="a"/>
-            <right value="z"/>
-          </elements>
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="A"/>
-            <right value="Z"/>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="_"/>
-        </elements>
-        <elements xsi:type="xtext:Alternatives" cardinality="*">
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="a"/>
-            <right value="z"/>
-          </elements>
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="A"/>
-            <right value="Z"/>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="_"/>
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="0"/>
-            <right value="9"/>
-          </elements>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="INT">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-      </type>
-      <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
-        <left value="0"/>
-        <right value="9"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="STRING">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:Group">
-          <elements xsi:type="xtext:Keyword" value="&quot;"/>
-          <elements xsi:type="xtext:Alternatives" cardinality="*">
-            <elements xsi:type="xtext:Group">
-              <elements xsi:type="xtext:Keyword" value="\"/>
-              <elements xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="b"/>
-                <elements xsi:type="xtext:Keyword" value="t"/>
-                <elements xsi:type="xtext:Keyword" value="n"/>
-                <elements xsi:type="xtext:Keyword" value="f"/>
-                <elements xsi:type="xtext:Keyword" value="r"/>
-                <elements xsi:type="xtext:Keyword" value="u"/>
-                <elements xsi:type="xtext:Keyword" value="&quot;"/>
-                <elements xsi:type="xtext:Keyword" value="'"/>
-                <elements xsi:type="xtext:Keyword" value="\"/>
-              </elements>
-            </elements>
-            <elements xsi:type="xtext:NegatedToken">
-              <terminal xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="\"/>
-                <elements xsi:type="xtext:Keyword" value="&quot;"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="&quot;"/>
-        </elements>
-        <elements xsi:type="xtext:Group">
-          <elements xsi:type="xtext:Keyword" value="'"/>
-          <elements xsi:type="xtext:Alternatives" cardinality="*">
-            <elements xsi:type="xtext:Group">
-              <elements xsi:type="xtext:Keyword" value="\"/>
-              <elements xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="b"/>
-                <elements xsi:type="xtext:Keyword" value="t"/>
-                <elements xsi:type="xtext:Keyword" value="n"/>
-                <elements xsi:type="xtext:Keyword" value="f"/>
-                <elements xsi:type="xtext:Keyword" value="r"/>
-                <elements xsi:type="xtext:Keyword" value="u"/>
-                <elements xsi:type="xtext:Keyword" value="&quot;"/>
-                <elements xsi:type="xtext:Keyword" value="'"/>
-                <elements xsi:type="xtext:Keyword" value="\"/>
-              </elements>
-            </elements>
-            <elements xsi:type="xtext:NegatedToken">
-              <terminal xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="\"/>
-                <elements xsi:type="xtext:Keyword" value="'"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="'"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="/*"/>
-        <elements xsi:type="xtext:UntilToken">
-          <terminal xsi:type="xtext:Keyword" value="*/"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="//"/>
-        <elements xsi:type="xtext:NegatedToken" cardinality="*">
-          <terminal xsi:type="xtext:Alternatives">
-            <elements xsi:type="xtext:Keyword" value="&#xA;"/>
-            <elements xsi:type="xtext:Keyword" value="&#xD;"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
-          <elements xsi:type="xtext:Keyword" value="&#xA;"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="WS">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives" cardinality="+">
-        <elements xsi:type="xtext:Keyword" value=" "/>
-        <elements xsi:type="xtext:Keyword" value="&#x9;"/>
-        <elements xsi:type="xtext:Keyword" value="&#xD;"/>
-        <elements xsi:type="xtext:Keyword" value="&#xA;"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Wildcard"/>
-    </rules>
-  </xtext:Grammar>
-</xmi:XMI>
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDslStandaloneSetupGenerated.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDslStandaloneSetupGenerated.java
deleted file mode 100644
index 92cd5f41bff91edd44ced4b88441db5649570e79..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDslStandaloneSetupGenerated.java
+++ /dev/null
@@ -1,43 +0,0 @@
-
-package org.xtext.example.mydsl;
-
-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 MyDslStandaloneSetupGenerated implements ISetup {
-
-	public Injector createInjectorAndDoEMFRegistration() {
-		org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
-
-		Injector injector = createInjector();
-		register(injector);
-		return injector;
-	}
-	
-	public Injector createInjector() {
-		return Guice.createInjector(new org.xtext.example.mydsl.MyDslRuntimeModule());
-	}
-	
-	public void register(Injector injector) {
-	if (!EPackage.Registry.INSTANCE.containsKey("http://www.xtext.org/example/mydsl/MyDsl")) {
-		EPackage.Registry.INSTANCE.put("http://www.xtext.org/example/mydsl/MyDsl", org.xtext.example.mydsl.myDsl.MyDslPackage.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("mydsl", resourceFactory);
-		org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("mydsl", serviceProvider);
-		
-
-
-
-	}
-}
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BinaryBooleanExpression.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BinaryBooleanExpression.java
deleted file mode 100644
index d680a7992dec6ce05ff0bb05c71b7feeb17fa5fc..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BinaryBooleanExpression.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Binary Boolean Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getLeft <em>Left</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getOperation <em>Operation</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getRight <em>Right</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBinaryBooleanExpression()
- * @model
- * @generated
- */
-public interface BinaryBooleanExpression extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</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>Left</em>' containment reference.
-   * @see #setLeft(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBinaryBooleanExpression_Left()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Operation</b></em>' attribute.
-   * The literals are from the enumeration {@link org.xtext.example.mydsl.myDsl.BooleanOperation}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Operation</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Operation</em>' attribute.
-   * @see org.xtext.example.mydsl.myDsl.BooleanOperation
-   * @see #setOperation(BooleanOperation)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBinaryBooleanExpression_Operation()
-   * @model
-   * @generated
-   */
-  BooleanOperation getOperation();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getOperation <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Operation</em>' attribute.
-   * @see org.xtext.example.mydsl.myDsl.BooleanOperation
-   * @see #getOperation()
-   * @generated
-   */
-  void setOperation(BooleanOperation value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</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>Right</em>' containment reference.
-   * @see #setRight(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBinaryBooleanExpression_Right()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(Expression value);
-
-} // BinaryBooleanExpression
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanLiteral.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanLiteral.java
deleted file mode 100644
index 5d6016cb077b8b29d37b175a7410ec4f7fd155bb..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanLiteral.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Boolean Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.BooleanLiteral#isValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBooleanLiteral()
- * @model
- * @generated
- */
-public interface BooleanLiteral extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Value</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Value</em>' attribute.
-   * @see #setValue(boolean)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBooleanLiteral_Value()
-   * @model
-   * @generated
-   */
-  boolean isValue();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.BooleanLiteral#isValue <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Value</em>' attribute.
-   * @see #isValue()
-   * @generated
-   */
-  void setValue(boolean value);
-
-} // BooleanLiteral
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanOperation.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanOperation.java
deleted file mode 100644
index 58ce0cef6933b8e3fd841ca917c04bb6d813edb9..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanOperation.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Boolean Operation</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBooleanOperation()
- * @model
- * @generated
- */
-public enum BooleanOperation implements Enumerator
-{
-  /**
-   * The '<em><b>AND</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #AND_VALUE
-   * @generated
-   * @ordered
-   */
-  AND(0, "AND", "AND"),
-
-  /**
-   * The '<em><b>OR</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #OR_VALUE
-   * @generated
-   * @ordered
-   */
-  OR(1, "OR", "OR"),
-
-  /**
-   * The '<em><b>XOR</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #XOR_VALUE
-   * @generated
-   * @ordered
-   */
-  XOR(2, "XOR", "XOR");
-
-  /**
-   * The '<em><b>AND</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>AND</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #AND
-   * @model
-   * @generated
-   * @ordered
-   */
-  public static final int AND_VALUE = 0;
-
-  /**
-   * The '<em><b>OR</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>OR</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #OR
-   * @model
-   * @generated
-   * @ordered
-   */
-  public static final int OR_VALUE = 1;
-
-  /**
-   * The '<em><b>XOR</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>XOR</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #XOR
-   * @model
-   * @generated
-   * @ordered
-   */
-  public static final int XOR_VALUE = 2;
-
-  /**
-   * An array of all the '<em><b>Boolean Operation</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private static final BooleanOperation[] VALUES_ARRAY =
-    new BooleanOperation[]
-    {
-      AND,
-      OR,
-      XOR,
-    };
-
-  /**
-   * A public read-only list of all the '<em><b>Boolean Operation</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static final List<BooleanOperation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-  /**
-   * Returns the '<em><b>Boolean Operation</b></em>' literal with the specified literal value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static BooleanOperation get(String literal)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      BooleanOperation result = VALUES_ARRAY[i];
-      if (result.toString().equals(literal))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Boolean Operation</b></em>' literal with the specified name.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static BooleanOperation getByName(String name)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      BooleanOperation result = VALUES_ARRAY[i];
-      if (result.getName().equals(name))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Boolean Operation</b></em>' literal with the specified integer value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static BooleanOperation get(int value)
-  {
-    switch (value)
-    {
-      case AND_VALUE: return AND;
-      case OR_VALUE: return OR;
-      case XOR_VALUE: return XOR;
-    }
-    return null;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final int value;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String name;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String literal;
-
-  /**
-   * Only this class can construct instances.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private BooleanOperation(int value, String name, String literal)
-  {
-    this.value = value;
-    this.name = name;
-    this.literal = literal;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public int getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getLiteral()
-  {
-    return literal;
-  }
-
-  /**
-   * Returns the literal value of the enumerator, which is its string representation.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    return literal;
-  }
-  
-} //BooleanOperation
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/CompareOperation.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/CompareOperation.java
deleted file mode 100644
index 1a3dac0c7c0155d9a5237e383370afb6c835a26c..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/CompareOperation.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Compare Operation</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getCompareOperation()
- * @model
- * @generated
- */
-public enum CompareOperation implements Enumerator
-{
-  /**
-   * The '<em><b>GREATER</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #GREATER_VALUE
-   * @generated
-   * @ordered
-   */
-  GREATER(0, "GREATER", ">"),
-
-  /**
-   * The '<em><b>LESS</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #LESS_VALUE
-   * @generated
-   * @ordered
-   */
-  LESS(1, "LESS", "<"),
-
-  /**
-   * The '<em><b>EQUALS</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #EQUALS_VALUE
-   * @generated
-   * @ordered
-   */
-  EQUALS(2, "EQUALS", "="),
-
-  /**
-   * The '<em><b>NOTEQUAL</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #NOTEQUAL_VALUE
-   * @generated
-   * @ordered
-   */
-  NOTEQUAL(3, "NOTEQUAL", "!="),
-
-  /**
-   * The '<em><b>LESSEQUAL</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #LESSEQUAL_VALUE
-   * @generated
-   * @ordered
-   */
-  LESSEQUAL(4, "LESSEQUAL", "<="),
-
-  /**
-   * The '<em><b>GREATEREQUAL</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #GREATEREQUAL_VALUE
-   * @generated
-   * @ordered
-   */
-  GREATEREQUAL(5, "GREATEREQUAL", ">=");
-
-  /**
-   * The '<em><b>GREATER</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>GREATER</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #GREATER
-   * @model literal=">"
-   * @generated
-   * @ordered
-   */
-  public static final int GREATER_VALUE = 0;
-
-  /**
-   * The '<em><b>LESS</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>LESS</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #LESS
-   * @model literal="<"
-   * @generated
-   * @ordered
-   */
-  public static final int LESS_VALUE = 1;
-
-  /**
-   * The '<em><b>EQUALS</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>EQUALS</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #EQUALS
-   * @model literal="="
-   * @generated
-   * @ordered
-   */
-  public static final int EQUALS_VALUE = 2;
-
-  /**
-   * The '<em><b>NOTEQUAL</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>NOTEQUAL</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #NOTEQUAL
-   * @model literal="!="
-   * @generated
-   * @ordered
-   */
-  public static final int NOTEQUAL_VALUE = 3;
-
-  /**
-   * The '<em><b>LESSEQUAL</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>LESSEQUAL</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #LESSEQUAL
-   * @model literal="<="
-   * @generated
-   * @ordered
-   */
-  public static final int LESSEQUAL_VALUE = 4;
-
-  /**
-   * The '<em><b>GREATEREQUAL</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>GREATEREQUAL</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #GREATEREQUAL
-   * @model literal=">="
-   * @generated
-   * @ordered
-   */
-  public static final int GREATEREQUAL_VALUE = 5;
-
-  /**
-   * An array of all the '<em><b>Compare Operation</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private static final CompareOperation[] VALUES_ARRAY =
-    new CompareOperation[]
-    {
-      GREATER,
-      LESS,
-      EQUALS,
-      NOTEQUAL,
-      LESSEQUAL,
-      GREATEREQUAL,
-    };
-
-  /**
-   * A public read-only list of all the '<em><b>Compare Operation</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static final List<CompareOperation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-  /**
-   * Returns the '<em><b>Compare Operation</b></em>' literal with the specified literal value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static CompareOperation get(String literal)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      CompareOperation result = VALUES_ARRAY[i];
-      if (result.toString().equals(literal))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Compare Operation</b></em>' literal with the specified name.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static CompareOperation getByName(String name)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      CompareOperation result = VALUES_ARRAY[i];
-      if (result.getName().equals(name))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Compare Operation</b></em>' literal with the specified integer value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static CompareOperation get(int value)
-  {
-    switch (value)
-    {
-      case GREATER_VALUE: return GREATER;
-      case LESS_VALUE: return LESS;
-      case EQUALS_VALUE: return EQUALS;
-      case NOTEQUAL_VALUE: return NOTEQUAL;
-      case LESSEQUAL_VALUE: return LESSEQUAL;
-      case GREATEREQUAL_VALUE: return GREATEREQUAL;
-    }
-    return null;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final int value;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String name;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String literal;
-
-  /**
-   * Only this class can construct instances.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private CompareOperation(int value, String name, String literal)
-  {
-    this.value = value;
-    this.name = name;
-    this.literal = literal;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public int getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getLiteral()
-  {
-    return literal;
-  }
-
-  /**
-   * Returns the literal value of the enumerator, which is its string representation.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    return literal;
-  }
-  
-} //CompareOperation
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Comparison.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Comparison.java
deleted file mode 100644
index 9fa671a9ba19ee65e5cf152a9e0cd11e35fa22cd..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Comparison.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Comparison</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Comparison#getLeft <em>Left</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Comparison#getOperation <em>Operation</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Comparison#getRight <em>Right</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getComparison()
- * @model
- * @generated
- */
-public interface Comparison extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</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>Left</em>' containment reference.
-   * @see #setLeft(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getComparison_Left()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Comparison#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Operation</b></em>' attribute.
-   * The literals are from the enumeration {@link org.xtext.example.mydsl.myDsl.CompareOperation}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Operation</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Operation</em>' attribute.
-   * @see org.xtext.example.mydsl.myDsl.CompareOperation
-   * @see #setOperation(CompareOperation)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getComparison_Operation()
-   * @model
-   * @generated
-   */
-  CompareOperation getOperation();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Comparison#getOperation <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Operation</em>' attribute.
-   * @see org.xtext.example.mydsl.myDsl.CompareOperation
-   * @see #getOperation()
-   * @generated
-   */
-  void setOperation(CompareOperation value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</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>Right</em>' containment reference.
-   * @see #setRight(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getComparison_Right()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Comparison#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(Expression value);
-
-} // Comparison
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/DoubleLiteral.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/DoubleLiteral.java
deleted file mode 100644
index 9c430b6085ccde081fd4d32f866f47d7c0b95529..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/DoubleLiteral.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import java.math.BigDecimal;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Double Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.DoubleLiteral#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getDoubleLiteral()
- * @model
- * @generated
- */
-public interface DoubleLiteral extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Value</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Value</em>' attribute.
-   * @see #setValue(BigDecimal)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getDoubleLiteral_Value()
-   * @model
-   * @generated
-   */
-  BigDecimal getValue();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.DoubleLiteral#getValue <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Value</em>' attribute.
-   * @see #getValue()
-   * @generated
-   */
-  void setValue(BigDecimal value);
-
-} // DoubleLiteral
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Expression.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Expression.java
deleted file mode 100644
index 1eed353bb5fddda7d828fb5facbf010b56badd47..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Expression.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getExpression()
- * @model
- * @generated
- */
-public interface Expression extends EObject
-{
-} // Expression
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/FormalParameter.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/FormalParameter.java
deleted file mode 100644
index a1fb9857c19d0906d4a869efd773f862e6d47a28..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/FormalParameter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Formal Parameter</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.FormalParameter#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFormalParameter()
- * @model
- * @generated
- */
-public interface FormalParameter extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Value</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Value</em>' attribute.
-   * @see #setValue(String)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFormalParameter_Value()
-   * @model
-   * @generated
-   */
-  String getValue();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.FormalParameter#getValue <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Value</em>' attribute.
-   * @see #getValue()
-   * @generated
-   */
-  void setValue(String value);
-
-} // FormalParameter
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Function.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Function.java
deleted file mode 100644
index 23e6183ae62df5d05b0913b8934585cf2597e462..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Function.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Function</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Function#getName <em>Name</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Function#getParameters <em>Parameters</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFunction()
- * @model
- * @generated
- */
-public interface Function extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Name</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Name</em>' attribute.
-   * @see #setName(String)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFunction_Name()
-   * @model
-   * @generated
-   */
-  String getName();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Function#getName <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Name</em>' attribute.
-   * @see #getName()
-   * @generated
-   */
-  void setName(String value);
-
-  /**
-   * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
-   * The list contents are of type {@link org.xtext.example.mydsl.myDsl.Expression}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Parameters</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>Parameters</em>' containment reference list.
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFunction_Parameters()
-   * @model containment="true"
-   * @generated
-   */
-  EList<Expression> getParameters();
-
-} // Function
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IfElseExpression.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IfElseExpression.java
deleted file mode 100644
index 53cca43920684e744971291c6f623cdf9bff6630..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IfElseExpression.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>If Else Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getCondition <em>Condition</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getTrueExp <em>True Exp</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getFalseExp <em>False Exp</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIfElseExpression()
- * @model
- * @generated
- */
-public interface IfElseExpression extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Condition</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Condition</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>Condition</em>' containment reference.
-   * @see #setCondition(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIfElseExpression_Condition()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getCondition();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getCondition <em>Condition</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Condition</em>' containment reference.
-   * @see #getCondition()
-   * @generated
-   */
-  void setCondition(Expression value);
-
-  /**
-   * Returns the value of the '<em><b>True Exp</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>True Exp</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>True Exp</em>' containment reference.
-   * @see #setTrueExp(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIfElseExpression_TrueExp()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getTrueExp();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getTrueExp <em>True Exp</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>True Exp</em>' containment reference.
-   * @see #getTrueExp()
-   * @generated
-   */
-  void setTrueExp(Expression value);
-
-  /**
-   * Returns the value of the '<em><b>False Exp</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>False Exp</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>False Exp</em>' containment reference.
-   * @see #setFalseExp(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIfElseExpression_FalseExp()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getFalseExp();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getFalseExp <em>False Exp</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>False Exp</em>' containment reference.
-   * @see #getFalseExp()
-   * @generated
-   */
-  void setFalseExp(Expression value);
-
-} // IfElseExpression
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IntLiteral.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IntLiteral.java
deleted file mode 100644
index b532cb55a2767044cd61697fa0c1810f3f212920..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IntLiteral.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import java.math.BigInteger;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Int Literal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.IntLiteral#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIntLiteral()
- * @model
- * @generated
- */
-public interface IntLiteral extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Value</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Value</em>' attribute.
-   * @see #setValue(BigInteger)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIntLiteral_Value()
-   * @model
-   * @generated
-   */
-  BigInteger getValue();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.IntLiteral#getValue <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Value</em>' attribute.
-   * @see #getValue()
-   * @generated
-   */
-  void setValue(BigInteger value);
-
-} // IntLiteral
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Model.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Model.java
deleted file mode 100644
index f21c71df27280ac1c7e3ad2beda38f641d78cf98..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Model.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Model</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Model#getTerms <em>Terms</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getModel()
- * @model
- * @generated
- */
-public interface Model extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Terms</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Terms</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>Terms</em>' containment reference.
-   * @see #setTerms(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getModel_Terms()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getTerms();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Model#getTerms <em>Terms</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Terms</em>' containment reference.
-   * @see #getTerms()
-   * @generated
-   */
-  void setTerms(Expression value);
-
-} // Model
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslFactory.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslFactory.java
deleted file mode 100644
index cf19c6e116aa71044935854b754a9886b4831f2d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslFactory.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-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.xtext.example.mydsl.myDsl.MyDslPackage
- * @generated
- */
-public interface MyDslFactory extends EFactory
-{
-  /**
-   * The singleton instance of the factory.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  MyDslFactory eINSTANCE = org.xtext.example.mydsl.myDsl.impl.MyDslFactoryImpl.init();
-
-  /**
-   * Returns a new object of class '<em>Model</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Model</em>'.
-   * @generated
-   */
-  Model createModel();
-
-  /**
-   * Returns a new object of class '<em>Expression</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Expression</em>'.
-   * @generated
-   */
-  Expression createExpression();
-
-  /**
-   * Returns a new object of class '<em>Function</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Function</em>'.
-   * @generated
-   */
-  Function createFunction();
-
-  /**
-   * Returns a new object of class '<em>Formal Parameter</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Formal Parameter</em>'.
-   * @generated
-   */
-  FormalParameter createFormalParameter();
-
-  /**
-   * Returns a new object of class '<em>Boolean Literal</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Boolean Literal</em>'.
-   * @generated
-   */
-  BooleanLiteral createBooleanLiteral();
-
-  /**
-   * Returns a new object of class '<em>Int Literal</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Int Literal</em>'.
-   * @generated
-   */
-  IntLiteral createIntLiteral();
-
-  /**
-   * Returns a new object of class '<em>Double Literal</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Double Literal</em>'.
-   * @generated
-   */
-  DoubleLiteral createDoubleLiteral();
-
-  /**
-   * Returns a new object of class '<em>If Else Expression</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>If Else Expression</em>'.
-   * @generated
-   */
-  IfElseExpression createIfElseExpression();
-
-  /**
-   * Returns a new object of class '<em>Binary Boolean Expression</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Binary Boolean Expression</em>'.
-   * @generated
-   */
-  BinaryBooleanExpression createBinaryBooleanExpression();
-
-  /**
-   * Returns a new object of class '<em>Unary Boolean Expression</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Unary Boolean Expression</em>'.
-   * @generated
-   */
-  UnaryBooleanExpression createUnaryBooleanExpression();
-
-  /**
-   * Returns a new object of class '<em>Comparison</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Comparison</em>'.
-   * @generated
-   */
-  Comparison createComparison();
-
-  /**
-   * Returns a new object of class '<em>Term</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Term</em>'.
-   * @generated
-   */
-  Term createTerm();
-
-  /**
-   * Returns a new object of class '<em>Product</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Product</em>'.
-   * @generated
-   */
-  Product createProduct();
-
-  /**
-   * Returns a new object of class '<em>Power</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Power</em>'.
-   * @generated
-   */
-  Power createPower();
-
-  /**
-   * Returns the package supported by this factory.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the package supported by this factory.
-   * @generated
-   */
-  MyDslPackage getMyDslPackage();
-
-} //MyDslFactory
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslPackage.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslPackage.java
deleted file mode 100644
index 77f1c0ecd62e2ad626ee6caa28bde295801e0ccf..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslPackage.java
+++ /dev/null
@@ -1,1452 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-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.xtext.example.mydsl.myDsl.MyDslFactory
- * @model kind="package"
- * @generated
- */
-public interface MyDslPackage extends EPackage
-{
-  /**
-   * The package name.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  String eNAME = "myDsl";
-
-  /**
-   * The package namespace URI.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  String eNS_URI = "http://www.xtext.org/example/mydsl/MyDsl";
-
-  /**
-   * The package namespace name.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  String eNS_PREFIX = "myDsl";
-
-  /**
-   * The singleton instance of the package.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  MyDslPackage eINSTANCE = org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl.init();
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ModelImpl <em>Model</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.ModelImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getModel()
-   * @generated
-   */
-  int MODEL = 0;
-
-  /**
-   * The feature id for the '<em><b>Terms</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int MODEL__TERMS = 0;
-
-  /**
-   * The number of structural features of the '<em>Model</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int MODEL_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ExpressionImpl <em>Expression</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.ExpressionImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getExpression()
-   * @generated
-   */
-  int EXPRESSION = 1;
-
-  /**
-   * The number of structural features of the '<em>Expression</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int EXPRESSION_FEATURE_COUNT = 0;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.FunctionImpl <em>Function</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.FunctionImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getFunction()
-   * @generated
-   */
-  int FUNCTION = 2;
-
-  /**
-   * The feature id for the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int FUNCTION__NAME = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int FUNCTION__PARAMETERS = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>Function</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int FUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl <em>Formal Parameter</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getFormalParameter()
-   * @generated
-   */
-  int FORMAL_PARAMETER = 3;
-
-  /**
-   * The feature id for the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int FORMAL_PARAMETER__VALUE = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>Formal Parameter</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int FORMAL_PARAMETER_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl <em>Boolean Literal</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBooleanLiteral()
-   * @generated
-   */
-  int BOOLEAN_LITERAL = 4;
-
-  /**
-   * The feature id for the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int BOOLEAN_LITERAL__VALUE = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>Boolean Literal</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int BOOLEAN_LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl <em>Int Literal</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getIntLiteral()
-   * @generated
-   */
-  int INT_LITERAL = 5;
-
-  /**
-   * The feature id for the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int INT_LITERAL__VALUE = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>Int Literal</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int INT_LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl <em>Double Literal</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getDoubleLiteral()
-   * @generated
-   */
-  int DOUBLE_LITERAL = 6;
-
-  /**
-   * The feature id for the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DOUBLE_LITERAL__VALUE = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>Double Literal</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DOUBLE_LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl <em>If Else Expression</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getIfElseExpression()
-   * @generated
-   */
-  int IF_ELSE_EXPRESSION = 7;
-
-  /**
-   * The feature id for the '<em><b>Condition</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int IF_ELSE_EXPRESSION__CONDITION = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>True Exp</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int IF_ELSE_EXPRESSION__TRUE_EXP = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The feature id for the '<em><b>False Exp</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int IF_ELSE_EXPRESSION__FALSE_EXP = EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The number of structural features of the '<em>If Else Expression</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int IF_ELSE_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl <em>Binary Boolean Expression</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBinaryBooleanExpression()
-   * @generated
-   */
-  int BINARY_BOOLEAN_EXPRESSION = 8;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int BINARY_BOOLEAN_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Operation</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int BINARY_BOOLEAN_EXPRESSION__OPERATION = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int BINARY_BOOLEAN_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The number of structural features of the '<em>Binary Boolean Expression</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int BINARY_BOOLEAN_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl <em>Unary Boolean Expression</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getUnaryBooleanExpression()
-   * @generated
-   */
-  int UNARY_BOOLEAN_EXPRESSION = 9;
-
-  /**
-   * The feature id for the '<em><b>Inner</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int UNARY_BOOLEAN_EXPRESSION__INNER = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>Unary Boolean Expression</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int UNARY_BOOLEAN_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl <em>Comparison</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.ComparisonImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getComparison()
-   * @generated
-   */
-  int COMPARISON = 10;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Operation</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int COMPARISON__OPERATION = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The number of structural features of the '<em>Comparison</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.TermImpl <em>Term</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.TermImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTerm()
-   * @generated
-   */
-  int TERM = 11;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int TERM__LEFT = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Operation</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int TERM__OPERATION = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int TERM__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The number of structural features of the '<em>Term</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int TERM_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl <em>Product</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.ProductImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getProduct()
-   * @generated
-   */
-  int PRODUCT = 12;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int PRODUCT__LEFT = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Operation</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int PRODUCT__OPERATION = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int PRODUCT__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The number of structural features of the '<em>Product</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int PRODUCT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.PowerImpl <em>Power</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.impl.PowerImpl
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getPower()
-   * @generated
-   */
-  int POWER = 13;
-
-  /**
-   * The feature id for the '<em><b>Base</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int POWER__BASE = EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Exponent</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int POWER__EXPONENT = EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>Power</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int POWER_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.ProductOperation <em>Product Operation</em>}' enum.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.ProductOperation
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getProductOperation()
-   * @generated
-   */
-  int PRODUCT_OPERATION = 14;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.TermOperation <em>Term Operation</em>}' enum.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.TermOperation
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTermOperation()
-   * @generated
-   */
-  int TERM_OPERATION = 15;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.CompareOperation <em>Compare Operation</em>}' enum.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.CompareOperation
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getCompareOperation()
-   * @generated
-   */
-  int COMPARE_OPERATION = 16;
-
-  /**
-   * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.BooleanOperation <em>Boolean Operation</em>}' enum.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.xtext.example.mydsl.myDsl.BooleanOperation
-   * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBooleanOperation()
-   * @generated
-   */
-  int BOOLEAN_OPERATION = 17;
-
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Model <em>Model</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Model</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Model
-   * @generated
-   */
-  EClass getModel();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Model#getTerms <em>Terms</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Terms</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Model#getTerms()
-   * @see #getModel()
-   * @generated
-   */
-  EReference getModel_Terms();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Expression <em>Expression</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Expression</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Expression
-   * @generated
-   */
-  EClass getExpression();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Function <em>Function</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Function</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Function
-   * @generated
-   */
-  EClass getFunction();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.Function#getName <em>Name</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Name</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Function#getName()
-   * @see #getFunction()
-   * @generated
-   */
-  EAttribute getFunction_Name();
-
-  /**
-   * Returns the meta object for the containment reference list '{@link org.xtext.example.mydsl.myDsl.Function#getParameters <em>Parameters</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Parameters</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Function#getParameters()
-   * @see #getFunction()
-   * @generated
-   */
-  EReference getFunction_Parameters();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.FormalParameter <em>Formal Parameter</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Formal Parameter</em>'.
-   * @see org.xtext.example.mydsl.myDsl.FormalParameter
-   * @generated
-   */
-  EClass getFormalParameter();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.FormalParameter#getValue <em>Value</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Value</em>'.
-   * @see org.xtext.example.mydsl.myDsl.FormalParameter#getValue()
-   * @see #getFormalParameter()
-   * @generated
-   */
-  EAttribute getFormalParameter_Value();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.BooleanLiteral <em>Boolean Literal</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Boolean Literal</em>'.
-   * @see org.xtext.example.mydsl.myDsl.BooleanLiteral
-   * @generated
-   */
-  EClass getBooleanLiteral();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.BooleanLiteral#isValue <em>Value</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Value</em>'.
-   * @see org.xtext.example.mydsl.myDsl.BooleanLiteral#isValue()
-   * @see #getBooleanLiteral()
-   * @generated
-   */
-  EAttribute getBooleanLiteral_Value();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.IntLiteral <em>Int Literal</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Int Literal</em>'.
-   * @see org.xtext.example.mydsl.myDsl.IntLiteral
-   * @generated
-   */
-  EClass getIntLiteral();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.IntLiteral#getValue <em>Value</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Value</em>'.
-   * @see org.xtext.example.mydsl.myDsl.IntLiteral#getValue()
-   * @see #getIntLiteral()
-   * @generated
-   */
-  EAttribute getIntLiteral_Value();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.DoubleLiteral <em>Double Literal</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Double Literal</em>'.
-   * @see org.xtext.example.mydsl.myDsl.DoubleLiteral
-   * @generated
-   */
-  EClass getDoubleLiteral();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.DoubleLiteral#getValue <em>Value</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Value</em>'.
-   * @see org.xtext.example.mydsl.myDsl.DoubleLiteral#getValue()
-   * @see #getDoubleLiteral()
-   * @generated
-   */
-  EAttribute getDoubleLiteral_Value();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.IfElseExpression <em>If Else Expression</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>If Else Expression</em>'.
-   * @see org.xtext.example.mydsl.myDsl.IfElseExpression
-   * @generated
-   */
-  EClass getIfElseExpression();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getCondition <em>Condition</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Condition</em>'.
-   * @see org.xtext.example.mydsl.myDsl.IfElseExpression#getCondition()
-   * @see #getIfElseExpression()
-   * @generated
-   */
-  EReference getIfElseExpression_Condition();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getTrueExp <em>True Exp</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>True Exp</em>'.
-   * @see org.xtext.example.mydsl.myDsl.IfElseExpression#getTrueExp()
-   * @see #getIfElseExpression()
-   * @generated
-   */
-  EReference getIfElseExpression_TrueExp();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getFalseExp <em>False Exp</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>False Exp</em>'.
-   * @see org.xtext.example.mydsl.myDsl.IfElseExpression#getFalseExp()
-   * @see #getIfElseExpression()
-   * @generated
-   */
-  EReference getIfElseExpression_FalseExp();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression <em>Binary Boolean Expression</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Binary Boolean Expression</em>'.
-   * @see org.xtext.example.mydsl.myDsl.BinaryBooleanExpression
-   * @generated
-   */
-  EClass getBinaryBooleanExpression();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getLeft()
-   * @see #getBinaryBooleanExpression()
-   * @generated
-   */
-  EReference getBinaryBooleanExpression_Left();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getOperation <em>Operation</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Operation</em>'.
-   * @see org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getOperation()
-   * @see #getBinaryBooleanExpression()
-   * @generated
-   */
-  EAttribute getBinaryBooleanExpression_Operation();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getRight()
-   * @see #getBinaryBooleanExpression()
-   * @generated
-   */
-  EReference getBinaryBooleanExpression_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression <em>Unary Boolean Expression</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Unary Boolean Expression</em>'.
-   * @see org.xtext.example.mydsl.myDsl.UnaryBooleanExpression
-   * @generated
-   */
-  EClass getUnaryBooleanExpression();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression#getInner <em>Inner</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Inner</em>'.
-   * @see org.xtext.example.mydsl.myDsl.UnaryBooleanExpression#getInner()
-   * @see #getUnaryBooleanExpression()
-   * @generated
-   */
-  EReference getUnaryBooleanExpression_Inner();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Comparison <em>Comparison</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Comparison</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Comparison
-   * @generated
-   */
-  EClass getComparison();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Comparison#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Comparison#getLeft()
-   * @see #getComparison()
-   * @generated
-   */
-  EReference getComparison_Left();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.Comparison#getOperation <em>Operation</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Operation</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Comparison#getOperation()
-   * @see #getComparison()
-   * @generated
-   */
-  EAttribute getComparison_Operation();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Comparison#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Comparison#getRight()
-   * @see #getComparison()
-   * @generated
-   */
-  EReference getComparison_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Term <em>Term</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Term</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Term
-   * @generated
-   */
-  EClass getTerm();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Term#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Term#getLeft()
-   * @see #getTerm()
-   * @generated
-   */
-  EReference getTerm_Left();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.Term#getOperation <em>Operation</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Operation</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Term#getOperation()
-   * @see #getTerm()
-   * @generated
-   */
-  EAttribute getTerm_Operation();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Term#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Term#getRight()
-   * @see #getTerm()
-   * @generated
-   */
-  EReference getTerm_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Product <em>Product</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Product</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Product
-   * @generated
-   */
-  EClass getProduct();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Product#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Product#getLeft()
-   * @see #getProduct()
-   * @generated
-   */
-  EReference getProduct_Left();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.Product#getOperation <em>Operation</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Operation</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Product#getOperation()
-   * @see #getProduct()
-   * @generated
-   */
-  EAttribute getProduct_Operation();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Product#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Product#getRight()
-   * @see #getProduct()
-   * @generated
-   */
-  EReference getProduct_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Power <em>Power</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Power</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Power
-   * @generated
-   */
-  EClass getPower();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Power#getBase <em>Base</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Base</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Power#getBase()
-   * @see #getPower()
-   * @generated
-   */
-  EReference getPower_Base();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Power#getExponent <em>Exponent</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Exponent</em>'.
-   * @see org.xtext.example.mydsl.myDsl.Power#getExponent()
-   * @see #getPower()
-   * @generated
-   */
-  EReference getPower_Exponent();
-
-  /**
-   * Returns the meta object for enum '{@link org.xtext.example.mydsl.myDsl.ProductOperation <em>Product Operation</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for enum '<em>Product Operation</em>'.
-   * @see org.xtext.example.mydsl.myDsl.ProductOperation
-   * @generated
-   */
-  EEnum getProductOperation();
-
-  /**
-   * Returns the meta object for enum '{@link org.xtext.example.mydsl.myDsl.TermOperation <em>Term Operation</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for enum '<em>Term Operation</em>'.
-   * @see org.xtext.example.mydsl.myDsl.TermOperation
-   * @generated
-   */
-  EEnum getTermOperation();
-
-  /**
-   * Returns the meta object for enum '{@link org.xtext.example.mydsl.myDsl.CompareOperation <em>Compare Operation</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for enum '<em>Compare Operation</em>'.
-   * @see org.xtext.example.mydsl.myDsl.CompareOperation
-   * @generated
-   */
-  EEnum getCompareOperation();
-
-  /**
-   * Returns the meta object for enum '{@link org.xtext.example.mydsl.myDsl.BooleanOperation <em>Boolean Operation</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for enum '<em>Boolean Operation</em>'.
-   * @see org.xtext.example.mydsl.myDsl.BooleanOperation
-   * @generated
-   */
-  EEnum getBooleanOperation();
-
-  /**
-   * 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
-   */
-  MyDslFactory getMyDslFactory();
-
-  /**
-   * <!-- 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.xtext.example.mydsl.myDsl.impl.ModelImpl <em>Model</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.ModelImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getModel()
-     * @generated
-     */
-    EClass MODEL = eINSTANCE.getModel();
-
-    /**
-     * The meta object literal for the '<em><b>Terms</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference MODEL__TERMS = eINSTANCE.getModel_Terms();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.ExpressionImpl <em>Expression</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.ExpressionImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getExpression()
-     * @generated
-     */
-    EClass EXPRESSION = eINSTANCE.getExpression();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.FunctionImpl <em>Function</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.FunctionImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getFunction()
-     * @generated
-     */
-    EClass FUNCTION = eINSTANCE.getFunction();
-
-    /**
-     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute FUNCTION__NAME = eINSTANCE.getFunction_Name();
-
-    /**
-     * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference FUNCTION__PARAMETERS = eINSTANCE.getFunction_Parameters();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl <em>Formal Parameter</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getFormalParameter()
-     * @generated
-     */
-    EClass FORMAL_PARAMETER = eINSTANCE.getFormalParameter();
-
-    /**
-     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute FORMAL_PARAMETER__VALUE = eINSTANCE.getFormalParameter_Value();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl <em>Boolean Literal</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBooleanLiteral()
-     * @generated
-     */
-    EClass BOOLEAN_LITERAL = eINSTANCE.getBooleanLiteral();
-
-    /**
-     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute BOOLEAN_LITERAL__VALUE = eINSTANCE.getBooleanLiteral_Value();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl <em>Int Literal</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getIntLiteral()
-     * @generated
-     */
-    EClass INT_LITERAL = eINSTANCE.getIntLiteral();
-
-    /**
-     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute INT_LITERAL__VALUE = eINSTANCE.getIntLiteral_Value();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl <em>Double Literal</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getDoubleLiteral()
-     * @generated
-     */
-    EClass DOUBLE_LITERAL = eINSTANCE.getDoubleLiteral();
-
-    /**
-     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DOUBLE_LITERAL__VALUE = eINSTANCE.getDoubleLiteral_Value();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl <em>If Else Expression</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getIfElseExpression()
-     * @generated
-     */
-    EClass IF_ELSE_EXPRESSION = eINSTANCE.getIfElseExpression();
-
-    /**
-     * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference IF_ELSE_EXPRESSION__CONDITION = eINSTANCE.getIfElseExpression_Condition();
-
-    /**
-     * The meta object literal for the '<em><b>True Exp</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference IF_ELSE_EXPRESSION__TRUE_EXP = eINSTANCE.getIfElseExpression_TrueExp();
-
-    /**
-     * The meta object literal for the '<em><b>False Exp</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference IF_ELSE_EXPRESSION__FALSE_EXP = eINSTANCE.getIfElseExpression_FalseExp();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl <em>Binary Boolean Expression</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBinaryBooleanExpression()
-     * @generated
-     */
-    EClass BINARY_BOOLEAN_EXPRESSION = eINSTANCE.getBinaryBooleanExpression();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference BINARY_BOOLEAN_EXPRESSION__LEFT = eINSTANCE.getBinaryBooleanExpression_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Operation</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute BINARY_BOOLEAN_EXPRESSION__OPERATION = eINSTANCE.getBinaryBooleanExpression_Operation();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference BINARY_BOOLEAN_EXPRESSION__RIGHT = eINSTANCE.getBinaryBooleanExpression_Right();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl <em>Unary Boolean Expression</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getUnaryBooleanExpression()
-     * @generated
-     */
-    EClass UNARY_BOOLEAN_EXPRESSION = eINSTANCE.getUnaryBooleanExpression();
-
-    /**
-     * The meta object literal for the '<em><b>Inner</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference UNARY_BOOLEAN_EXPRESSION__INNER = eINSTANCE.getUnaryBooleanExpression_Inner();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl <em>Comparison</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.ComparisonImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getComparison()
-     * @generated
-     */
-    EClass COMPARISON = eINSTANCE.getComparison();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Operation</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute COMPARISON__OPERATION = eINSTANCE.getComparison_Operation();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.TermImpl <em>Term</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.TermImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTerm()
-     * @generated
-     */
-    EClass TERM = eINSTANCE.getTerm();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference TERM__LEFT = eINSTANCE.getTerm_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Operation</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute TERM__OPERATION = eINSTANCE.getTerm_Operation();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference TERM__RIGHT = eINSTANCE.getTerm_Right();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl <em>Product</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.ProductImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getProduct()
-     * @generated
-     */
-    EClass PRODUCT = eINSTANCE.getProduct();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference PRODUCT__LEFT = eINSTANCE.getProduct_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Operation</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute PRODUCT__OPERATION = eINSTANCE.getProduct_Operation();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference PRODUCT__RIGHT = eINSTANCE.getProduct_Right();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.PowerImpl <em>Power</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.impl.PowerImpl
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getPower()
-     * @generated
-     */
-    EClass POWER = eINSTANCE.getPower();
-
-    /**
-     * The meta object literal for the '<em><b>Base</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference POWER__BASE = eINSTANCE.getPower_Base();
-
-    /**
-     * The meta object literal for the '<em><b>Exponent</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference POWER__EXPONENT = eINSTANCE.getPower_Exponent();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.ProductOperation <em>Product Operation</em>}' enum.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.ProductOperation
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getProductOperation()
-     * @generated
-     */
-    EEnum PRODUCT_OPERATION = eINSTANCE.getProductOperation();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.TermOperation <em>Term Operation</em>}' enum.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.TermOperation
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTermOperation()
-     * @generated
-     */
-    EEnum TERM_OPERATION = eINSTANCE.getTermOperation();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.CompareOperation <em>Compare Operation</em>}' enum.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.CompareOperation
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getCompareOperation()
-     * @generated
-     */
-    EEnum COMPARE_OPERATION = eINSTANCE.getCompareOperation();
-
-    /**
-     * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.BooleanOperation <em>Boolean Operation</em>}' enum.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.xtext.example.mydsl.myDsl.BooleanOperation
-     * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBooleanOperation()
-     * @generated
-     */
-    EEnum BOOLEAN_OPERATION = eINSTANCE.getBooleanOperation();
-
-  }
-
-} //MyDslPackage
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/OperationsType.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/OperationsType.java
deleted file mode 100644
index 58eb832ee6eaa60fa75d598bd14f98da2924b481..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/OperationsType.java
+++ /dev/null
@@ -1,547 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Operations Type</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getOperationsType()
- * @model
- * @generated
- */
-public enum OperationsType implements Enumerator
-{
-  /**
-   * The '<em><b>ADD</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #ADD_VALUE
-   * @generated
-   * @ordered
-   */
-  ADD(0, "ADD", "+"),
-
-  /**
-   * The '<em><b>SUB</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #SUB_VALUE
-   * @generated
-   * @ordered
-   */
-  SUB(1, "SUB", "-"),
-
-  /**
-   * The '<em><b>MULT</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #MULT_VALUE
-   * @generated
-   * @ordered
-   */
-  MULT(2, "MULT", "*"),
-
-  /**
-   * The '<em><b>DIV</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #DIV_VALUE
-   * @generated
-   * @ordered
-   */
-  DIV(3, "DIV", "/"),
-
-  /**
-   * The '<em><b>MOD</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #MOD_VALUE
-   * @generated
-   * @ordered
-   */
-  MOD(4, "MOD", "%"),
-
-  /**
-   * The '<em><b>GREATER</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #GREATER_VALUE
-   * @generated
-   * @ordered
-   */
-  GREATER(5, "GREATER", ">"),
-
-  /**
-   * The '<em><b>LESS</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #LESS_VALUE
-   * @generated
-   * @ordered
-   */
-  LESS(6, "LESS", "<"),
-
-  /**
-   * The '<em><b>EQUALS</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #EQUALS_VALUE
-   * @generated
-   * @ordered
-   */
-  EQUALS(7, "EQUALS", "="),
-
-  /**
-   * The '<em><b>NOTEQUAL</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #NOTEQUAL_VALUE
-   * @generated
-   * @ordered
-   */
-  NOTEQUAL(8, "NOTEQUAL", "!="),
-
-  /**
-   * The '<em><b>LESSEQUAL</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #LESSEQUAL_VALUE
-   * @generated
-   * @ordered
-   */
-  LESSEQUAL(9, "LESSEQUAL", "<="),
-
-  /**
-   * The '<em><b>GREATEREQUAL</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #GREATEREQUAL_VALUE
-   * @generated
-   * @ordered
-   */
-  GREATEREQUAL(10, "GREATEREQUAL", ">="),
-
-  /**
-   * The '<em><b>AND</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #AND_VALUE
-   * @generated
-   * @ordered
-   */
-  AND(11, "AND", "AND"),
-
-  /**
-   * The '<em><b>OR</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #OR_VALUE
-   * @generated
-   * @ordered
-   */
-  OR(12, "OR", "OR"),
-
-  /**
-   * The '<em><b>XOR</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #XOR_VALUE
-   * @generated
-   * @ordered
-   */
-  XOR(13, "XOR", "XOR");
-
-  /**
-   * The '<em><b>ADD</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>ADD</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #ADD
-   * @model literal="+"
-   * @generated
-   * @ordered
-   */
-  public static final int ADD_VALUE = 0;
-
-  /**
-   * The '<em><b>SUB</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>SUB</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #SUB
-   * @model literal="-"
-   * @generated
-   * @ordered
-   */
-  public static final int SUB_VALUE = 1;
-
-  /**
-   * The '<em><b>MULT</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>MULT</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #MULT
-   * @model literal="*"
-   * @generated
-   * @ordered
-   */
-  public static final int MULT_VALUE = 2;
-
-  /**
-   * The '<em><b>DIV</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>DIV</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #DIV
-   * @model literal="/"
-   * @generated
-   * @ordered
-   */
-  public static final int DIV_VALUE = 3;
-
-  /**
-   * The '<em><b>MOD</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>MOD</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #MOD
-   * @model literal="%"
-   * @generated
-   * @ordered
-   */
-  public static final int MOD_VALUE = 4;
-
-  /**
-   * The '<em><b>GREATER</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>GREATER</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #GREATER
-   * @model literal=">"
-   * @generated
-   * @ordered
-   */
-  public static final int GREATER_VALUE = 5;
-
-  /**
-   * The '<em><b>LESS</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>LESS</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #LESS
-   * @model literal="<"
-   * @generated
-   * @ordered
-   */
-  public static final int LESS_VALUE = 6;
-
-  /**
-   * The '<em><b>EQUALS</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>EQUALS</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #EQUALS
-   * @model literal="="
-   * @generated
-   * @ordered
-   */
-  public static final int EQUALS_VALUE = 7;
-
-  /**
-   * The '<em><b>NOTEQUAL</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>NOTEQUAL</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #NOTEQUAL
-   * @model literal="!="
-   * @generated
-   * @ordered
-   */
-  public static final int NOTEQUAL_VALUE = 8;
-
-  /**
-   * The '<em><b>LESSEQUAL</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>LESSEQUAL</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #LESSEQUAL
-   * @model literal="<="
-   * @generated
-   * @ordered
-   */
-  public static final int LESSEQUAL_VALUE = 9;
-
-  /**
-   * The '<em><b>GREATEREQUAL</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>GREATEREQUAL</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #GREATEREQUAL
-   * @model literal=">="
-   * @generated
-   * @ordered
-   */
-  public static final int GREATEREQUAL_VALUE = 10;
-
-  /**
-   * The '<em><b>AND</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>AND</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #AND
-   * @model
-   * @generated
-   * @ordered
-   */
-  public static final int AND_VALUE = 11;
-
-  /**
-   * The '<em><b>OR</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>OR</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #OR
-   * @model
-   * @generated
-   * @ordered
-   */
-  public static final int OR_VALUE = 12;
-
-  /**
-   * The '<em><b>XOR</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>XOR</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #XOR
-   * @model
-   * @generated
-   * @ordered
-   */
-  public static final int XOR_VALUE = 13;
-
-  /**
-   * An array of all the '<em><b>Operations Type</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private static final OperationsType[] VALUES_ARRAY =
-    new OperationsType[]
-    {
-      ADD,
-      SUB,
-      MULT,
-      DIV,
-      MOD,
-      GREATER,
-      LESS,
-      EQUALS,
-      NOTEQUAL,
-      LESSEQUAL,
-      GREATEREQUAL,
-      AND,
-      OR,
-      XOR,
-    };
-
-  /**
-   * A public read-only list of all the '<em><b>Operations Type</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static final List<OperationsType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-  /**
-   * Returns the '<em><b>Operations Type</b></em>' literal with the specified literal value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static OperationsType get(String literal)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      OperationsType result = VALUES_ARRAY[i];
-      if (result.toString().equals(literal))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Operations Type</b></em>' literal with the specified name.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static OperationsType getByName(String name)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      OperationsType result = VALUES_ARRAY[i];
-      if (result.getName().equals(name))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Operations Type</b></em>' literal with the specified integer value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static OperationsType get(int value)
-  {
-    switch (value)
-    {
-      case ADD_VALUE: return ADD;
-      case SUB_VALUE: return SUB;
-      case MULT_VALUE: return MULT;
-      case DIV_VALUE: return DIV;
-      case MOD_VALUE: return MOD;
-      case GREATER_VALUE: return GREATER;
-      case LESS_VALUE: return LESS;
-      case EQUALS_VALUE: return EQUALS;
-      case NOTEQUAL_VALUE: return NOTEQUAL;
-      case LESSEQUAL_VALUE: return LESSEQUAL;
-      case GREATEREQUAL_VALUE: return GREATEREQUAL;
-      case AND_VALUE: return AND;
-      case OR_VALUE: return OR;
-      case XOR_VALUE: return XOR;
-    }
-    return null;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final int value;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String name;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String literal;
-
-  /**
-   * Only this class can construct instances.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private OperationsType(int value, String name, String literal)
-  {
-    this.value = value;
-    this.name = name;
-    this.literal = literal;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public int getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getLiteral()
-  {
-    return literal;
-  }
-
-  /**
-   * Returns the literal value of the enumerator, which is its string representation.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    return literal;
-  }
-  
-} //OperationsType
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Power.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Power.java
deleted file mode 100644
index 6be0fe8d100b7af46d988b54d7d9c03a5d44a27b..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Power.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Power</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Power#getBase <em>Base</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Power#getExponent <em>Exponent</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getPower()
- * @model
- * @generated
- */
-public interface Power extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Base</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Base</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>Base</em>' containment reference.
-   * @see #setBase(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getPower_Base()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getBase();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Power#getBase <em>Base</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Base</em>' containment reference.
-   * @see #getBase()
-   * @generated
-   */
-  void setBase(Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Exponent</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Exponent</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>Exponent</em>' containment reference.
-   * @see #setExponent(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getPower_Exponent()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getExponent();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Power#getExponent <em>Exponent</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Exponent</em>' containment reference.
-   * @see #getExponent()
-   * @generated
-   */
-  void setExponent(Expression value);
-
-} // Power
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Product.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Product.java
deleted file mode 100644
index 5bf2f6327b71386d5d3520bb35656d87513cdbfa..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Product.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Product</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Product#getLeft <em>Left</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Product#getOperation <em>Operation</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Product#getRight <em>Right</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProduct()
- * @model
- * @generated
- */
-public interface Product extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</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>Left</em>' containment reference.
-   * @see #setLeft(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProduct_Left()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Product#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Operation</b></em>' attribute.
-   * The literals are from the enumeration {@link org.xtext.example.mydsl.myDsl.ProductOperation}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Operation</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Operation</em>' attribute.
-   * @see org.xtext.example.mydsl.myDsl.ProductOperation
-   * @see #setOperation(ProductOperation)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProduct_Operation()
-   * @model
-   * @generated
-   */
-  ProductOperation getOperation();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Product#getOperation <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Operation</em>' attribute.
-   * @see org.xtext.example.mydsl.myDsl.ProductOperation
-   * @see #getOperation()
-   * @generated
-   */
-  void setOperation(ProductOperation value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</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>Right</em>' containment reference.
-   * @see #setRight(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProduct_Right()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Product#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(Expression value);
-
-} // Product
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/ProductOperation.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/ProductOperation.java
deleted file mode 100644
index ca0479d13eb2e6a9770e26d86bdf8f6df41d182b..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/ProductOperation.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Product Operation</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProductOperation()
- * @model
- * @generated
- */
-public enum ProductOperation implements Enumerator
-{
-  /**
-   * The '<em><b>MULT</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #MULT_VALUE
-   * @generated
-   * @ordered
-   */
-  MULT(0, "MULT", "*"),
-
-  /**
-   * The '<em><b>DIV</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #DIV_VALUE
-   * @generated
-   * @ordered
-   */
-  DIV(1, "DIV", "/"),
-
-  /**
-   * The '<em><b>MOD</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #MOD_VALUE
-   * @generated
-   * @ordered
-   */
-  MOD(2, "MOD", "%");
-
-  /**
-   * The '<em><b>MULT</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>MULT</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #MULT
-   * @model literal="*"
-   * @generated
-   * @ordered
-   */
-  public static final int MULT_VALUE = 0;
-
-  /**
-   * The '<em><b>DIV</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>DIV</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #DIV
-   * @model literal="/"
-   * @generated
-   * @ordered
-   */
-  public static final int DIV_VALUE = 1;
-
-  /**
-   * The '<em><b>MOD</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>MOD</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #MOD
-   * @model literal="%"
-   * @generated
-   * @ordered
-   */
-  public static final int MOD_VALUE = 2;
-
-  /**
-   * An array of all the '<em><b>Product Operation</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private static final ProductOperation[] VALUES_ARRAY =
-    new ProductOperation[]
-    {
-      MULT,
-      DIV,
-      MOD,
-    };
-
-  /**
-   * A public read-only list of all the '<em><b>Product Operation</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static final List<ProductOperation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-  /**
-   * Returns the '<em><b>Product Operation</b></em>' literal with the specified literal value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static ProductOperation get(String literal)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      ProductOperation result = VALUES_ARRAY[i];
-      if (result.toString().equals(literal))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Product Operation</b></em>' literal with the specified name.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static ProductOperation getByName(String name)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      ProductOperation result = VALUES_ARRAY[i];
-      if (result.getName().equals(name))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Product Operation</b></em>' literal with the specified integer value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static ProductOperation get(int value)
-  {
-    switch (value)
-    {
-      case MULT_VALUE: return MULT;
-      case DIV_VALUE: return DIV;
-      case MOD_VALUE: return MOD;
-    }
-    return null;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final int value;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String name;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String literal;
-
-  /**
-   * Only this class can construct instances.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private ProductOperation(int value, String name, String literal)
-  {
-    this.value = value;
-    this.name = name;
-    this.literal = literal;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public int getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getLiteral()
-  {
-    return literal;
-  }
-
-  /**
-   * Returns the literal value of the enumerator, which is its string representation.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    return literal;
-  }
-  
-} //ProductOperation
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Term.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Term.java
deleted file mode 100644
index 3c6a9ce590a8056f8a448adb17801acb5859f15c..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Term.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Term</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Term#getLeft <em>Left</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Term#getOperation <em>Operation</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.Term#getRight <em>Right</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm()
- * @model
- * @generated
- */
-public interface Term extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</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>Left</em>' containment reference.
-   * @see #setLeft(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm_Left()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Term#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Operation</b></em>' attribute.
-   * The literals are from the enumeration {@link org.xtext.example.mydsl.myDsl.TermOperation}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Operation</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Operation</em>' attribute.
-   * @see org.xtext.example.mydsl.myDsl.TermOperation
-   * @see #setOperation(TermOperation)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm_Operation()
-   * @model
-   * @generated
-   */
-  TermOperation getOperation();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Term#getOperation <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Operation</em>' attribute.
-   * @see org.xtext.example.mydsl.myDsl.TermOperation
-   * @see #getOperation()
-   * @generated
-   */
-  void setOperation(TermOperation value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</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>Right</em>' containment reference.
-   * @see #setRight(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm_Right()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Term#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(Expression value);
-
-} // Term
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/TermOperation.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/TermOperation.java
deleted file mode 100644
index 69c9b4c975351c88b6aeed319db3254e022e064e..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/TermOperation.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Term Operation</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTermOperation()
- * @model
- * @generated
- */
-public enum TermOperation implements Enumerator
-{
-  /**
-   * The '<em><b>ADD</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #ADD_VALUE
-   * @generated
-   * @ordered
-   */
-  ADD(0, "ADD", "+"),
-
-  /**
-   * The '<em><b>SUB</b></em>' literal object.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #SUB_VALUE
-   * @generated
-   * @ordered
-   */
-  SUB(1, "SUB", "-");
-
-  /**
-   * The '<em><b>ADD</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>ADD</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #ADD
-   * @model literal="+"
-   * @generated
-   * @ordered
-   */
-  public static final int ADD_VALUE = 0;
-
-  /**
-   * The '<em><b>SUB</b></em>' literal value.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>SUB</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @see #SUB
-   * @model literal="-"
-   * @generated
-   * @ordered
-   */
-  public static final int SUB_VALUE = 1;
-
-  /**
-   * An array of all the '<em><b>Term Operation</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private static final TermOperation[] VALUES_ARRAY =
-    new TermOperation[]
-    {
-      ADD,
-      SUB,
-    };
-
-  /**
-   * A public read-only list of all the '<em><b>Term Operation</b></em>' enumerators.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static final List<TermOperation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-  /**
-   * Returns the '<em><b>Term Operation</b></em>' literal with the specified literal value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static TermOperation get(String literal)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      TermOperation result = VALUES_ARRAY[i];
-      if (result.toString().equals(literal))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Term Operation</b></em>' literal with the specified name.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static TermOperation getByName(String name)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      TermOperation result = VALUES_ARRAY[i];
-      if (result.getName().equals(name))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Returns the '<em><b>Term Operation</b></em>' literal with the specified integer value.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static TermOperation get(int value)
-  {
-    switch (value)
-    {
-      case ADD_VALUE: return ADD;
-      case SUB_VALUE: return SUB;
-    }
-    return null;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final int value;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String name;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private final String literal;
-
-  /**
-   * Only this class can construct instances.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private TermOperation(int value, String name, String literal)
-  {
-    this.value = value;
-    this.name = name;
-    this.literal = literal;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public int getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getLiteral()
-  {
-    return literal;
-  }
-
-  /**
-   * Returns the literal value of the enumerator, which is its string representation.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    return literal;
-  }
-  
-} //TermOperation
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/UnaryBooleanExpression.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/UnaryBooleanExpression.java
deleted file mode 100644
index 38ffd6e6dbe1966279206cfcc984c41eb7ca5bc4..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/UnaryBooleanExpression.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Unary Boolean Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression#getInner <em>Inner</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getUnaryBooleanExpression()
- * @model
- * @generated
- */
-public interface UnaryBooleanExpression extends Expression
-{
-  /**
-   * Returns the value of the '<em><b>Inner</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Inner</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>Inner</em>' containment reference.
-   * @see #setInner(Expression)
-   * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getUnaryBooleanExpression_Inner()
-   * @model containment="true"
-   * @generated
-   */
-  Expression getInner();
-
-  /**
-   * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression#getInner <em>Inner</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Inner</em>' containment reference.
-   * @see #getInner()
-   * @generated
-   */
-  void setInner(Expression value);
-
-} // UnaryBooleanExpression
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BinaryBooleanExpressionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BinaryBooleanExpressionImpl.java
deleted file mode 100644
index 14ecb1af4ee797ecb099fbe118e558f486f11b10..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BinaryBooleanExpressionImpl.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.xtext.example.mydsl.myDsl.BinaryBooleanExpression;
-import org.xtext.example.mydsl.myDsl.BooleanOperation;
-import org.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Binary Boolean Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl#getOperation <em>Operation</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl#getRight <em>Right</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class BinaryBooleanExpressionImpl extends ExpressionImpl implements BinaryBooleanExpression
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected Expression left;
-
-  /**
-   * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOperation()
-   * @generated
-   * @ordered
-   */
-  protected static final BooleanOperation OPERATION_EDEFAULT = BooleanOperation.AND;
-
-  /**
-   * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOperation()
-   * @generated
-   * @ordered
-   */
-  protected BooleanOperation operation = OPERATION_EDEFAULT;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected BinaryBooleanExpressionImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
-  {
-    Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BooleanOperation getOperation()
-  {
-    return operation;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setOperation(BooleanOperation newOperation)
-  {
-    BooleanOperation oldOperation = operation;
-    operation = newOperation == null ? OPERATION_EDEFAULT : newOperation;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION, oldOperation, operation));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
-  {
-    Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT:
-        return basicSetLeft(null, msgs);
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT:
-        return basicSetRight(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 MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT:
-        return getLeft();
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION:
-        return getOperation();
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT:
-        setLeft((Expression)newValue);
-        return;
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION:
-        setOperation((BooleanOperation)newValue);
-        return;
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT:
-        setRight((Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT:
-        setLeft((Expression)null);
-        return;
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION:
-        setOperation(OPERATION_EDEFAULT);
-        return;
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT:
-        setRight((Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT:
-        return left != null;
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION:
-        return operation != OPERATION_EDEFAULT;
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (operation: ");
-    result.append(operation);
-    result.append(')');
-    return result.toString();
-  }
-
-} //BinaryBooleanExpressionImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BooleanLiteralImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BooleanLiteralImpl.java
deleted file mode 100644
index 3d2f553a42c1029b6724a796ebd962e8f2996dfd..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BooleanLiteralImpl.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.xtext.example.mydsl.myDsl.BooleanLiteral;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Boolean Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl#isValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class BooleanLiteralImpl extends ExpressionImpl implements BooleanLiteral
-{
-  /**
-   * The default value of the '{@link #isValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #isValue()
-   * @generated
-   * @ordered
-   */
-  protected static final boolean VALUE_EDEFAULT = false;
-
-  /**
-   * The cached value of the '{@link #isValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #isValue()
-   * @generated
-   * @ordered
-   */
-  protected boolean value = VALUE_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected BooleanLiteralImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.BOOLEAN_LITERAL;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public boolean isValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setValue(boolean newValue)
-  {
-    boolean oldValue = value;
-    value = newValue;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.BOOLEAN_LITERAL__VALUE, oldValue, value));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.BOOLEAN_LITERAL__VALUE:
-        return isValue();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.BOOLEAN_LITERAL__VALUE:
-        setValue((Boolean)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.BOOLEAN_LITERAL__VALUE:
-        setValue(VALUE_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.BOOLEAN_LITERAL__VALUE:
-        return value != VALUE_EDEFAULT;
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (value: ");
-    result.append(value);
-    result.append(')');
-    return result.toString();
-  }
-
-} //BooleanLiteralImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ComparisonImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ComparisonImpl.java
deleted file mode 100644
index c9e1700476affd5cd1cdb1f541c409f472b7e127..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ComparisonImpl.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.xtext.example.mydsl.myDsl.CompareOperation;
-import org.xtext.example.mydsl.myDsl.Comparison;
-import org.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Comparison</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl#getOperation <em>Operation</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl#getRight <em>Right</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ComparisonImpl extends ExpressionImpl implements Comparison
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected Expression left;
-
-  /**
-   * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOperation()
-   * @generated
-   * @ordered
-   */
-  protected static final CompareOperation OPERATION_EDEFAULT = CompareOperation.GREATER;
-
-  /**
-   * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOperation()
-   * @generated
-   * @ordered
-   */
-  protected CompareOperation operation = OPERATION_EDEFAULT;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected ComparisonImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.COMPARISON;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
-  {
-    Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.COMPARISON__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.COMPARISON__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public CompareOperation getOperation()
-  {
-    return operation;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setOperation(CompareOperation newOperation)
-  {
-    CompareOperation oldOperation = operation;
-    operation = newOperation == null ? OPERATION_EDEFAULT : newOperation;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__OPERATION, oldOperation, operation));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
-  {
-    Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.COMPARISON__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.COMPARISON__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.COMPARISON__LEFT:
-        return basicSetLeft(null, msgs);
-      case MyDslPackage.COMPARISON__RIGHT:
-        return basicSetRight(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 MyDslPackage.COMPARISON__LEFT:
-        return getLeft();
-      case MyDslPackage.COMPARISON__OPERATION:
-        return getOperation();
-      case MyDslPackage.COMPARISON__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.COMPARISON__LEFT:
-        setLeft((Expression)newValue);
-        return;
-      case MyDslPackage.COMPARISON__OPERATION:
-        setOperation((CompareOperation)newValue);
-        return;
-      case MyDslPackage.COMPARISON__RIGHT:
-        setRight((Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.COMPARISON__LEFT:
-        setLeft((Expression)null);
-        return;
-      case MyDslPackage.COMPARISON__OPERATION:
-        setOperation(OPERATION_EDEFAULT);
-        return;
-      case MyDslPackage.COMPARISON__RIGHT:
-        setRight((Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.COMPARISON__LEFT:
-        return left != null;
-      case MyDslPackage.COMPARISON__OPERATION:
-        return operation != OPERATION_EDEFAULT;
-      case MyDslPackage.COMPARISON__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (operation: ");
-    result.append(operation);
-    result.append(')');
-    return result.toString();
-  }
-
-} //ComparisonImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/DoubleLiteralImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/DoubleLiteralImpl.java
deleted file mode 100644
index 7e1b280a5e55a1a178cc7d2f069fcf03179b44f0..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/DoubleLiteralImpl.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.impl;
-
-import java.math.BigDecimal;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.xtext.example.mydsl.myDsl.DoubleLiteral;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Double Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class DoubleLiteralImpl extends ExpressionImpl implements DoubleLiteral
-{
-  /**
-   * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected static final BigDecimal VALUE_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected BigDecimal value = VALUE_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DoubleLiteralImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.DOUBLE_LITERAL;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BigDecimal getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setValue(BigDecimal newValue)
-  {
-    BigDecimal oldValue = value;
-    value = newValue;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.DOUBLE_LITERAL__VALUE, oldValue, value));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.DOUBLE_LITERAL__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 MyDslPackage.DOUBLE_LITERAL__VALUE:
-        setValue((BigDecimal)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.DOUBLE_LITERAL__VALUE:
-        setValue(VALUE_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.DOUBLE_LITERAL__VALUE:
-        return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (value: ");
-    result.append(value);
-    result.append(')');
-    return result.toString();
-  }
-
-} //DoubleLiteralImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ExpressionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ExpressionImpl.java
deleted file mode 100644
index ef10b4be481eb56853dd9155f4fd38a0b978e799..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ExpressionImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.impl;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class ExpressionImpl extends MinimalEObjectImpl.Container implements Expression
-{
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected ExpressionImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.EXPRESSION;
-  }
-
-} //ExpressionImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FormalParameterImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FormalParameterImpl.java
deleted file mode 100644
index 72df4e25535e3c9dbf39b86b4095ea5cbf1071a8..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FormalParameterImpl.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.xtext.example.mydsl.myDsl.FormalParameter;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Formal Parameter</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class FormalParameterImpl extends ExpressionImpl implements FormalParameter
-{
-  /**
-   * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected static final String VALUE_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected String value = VALUE_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected FormalParameterImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.FORMAL_PARAMETER;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setValue(String newValue)
-  {
-    String oldValue = value;
-    value = newValue;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.FORMAL_PARAMETER__VALUE, oldValue, value));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.FORMAL_PARAMETER__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 MyDslPackage.FORMAL_PARAMETER__VALUE:
-        setValue((String)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.FORMAL_PARAMETER__VALUE:
-        setValue(VALUE_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.FORMAL_PARAMETER__VALUE:
-        return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (value: ");
-    result.append(value);
-    result.append(')');
-    return result.toString();
-  }
-
-} //FormalParameterImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FunctionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FunctionImpl.java
deleted file mode 100644
index 7b2393681dfe062d1ca587b1e7023d9723d356ae..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FunctionImpl.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.Function;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Function</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.FunctionImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.FunctionImpl#getParameters <em>Parameters</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class FunctionImpl extends ExpressionImpl implements Function
-{
-  /**
-   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getName()
-   * @generated
-   * @ordered
-   */
-  protected static final String NAME_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getName()
-   * @generated
-   * @ordered
-   */
-  protected String name = NAME_EDEFAULT;
-
-  /**
-   * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getParameters()
-   * @generated
-   * @ordered
-   */
-  protected EList<Expression> parameters;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected FunctionImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.FUNCTION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setName(String newName)
-  {
-    String oldName = name;
-    name = newName;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.FUNCTION__NAME, oldName, name));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EList<Expression> getParameters()
-  {
-    if (parameters == null)
-    {
-      parameters = new EObjectContainmentEList<Expression>(Expression.class, this, MyDslPackage.FUNCTION__PARAMETERS);
-    }
-    return parameters;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.FUNCTION__PARAMETERS:
-        return ((InternalEList<?>)getParameters()).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 MyDslPackage.FUNCTION__NAME:
-        return getName();
-      case MyDslPackage.FUNCTION__PARAMETERS:
-        return getParameters();
-    }
-    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 MyDslPackage.FUNCTION__NAME:
-        setName((String)newValue);
-        return;
-      case MyDslPackage.FUNCTION__PARAMETERS:
-        getParameters().clear();
-        getParameters().addAll((Collection<? extends Expression>)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.FUNCTION__NAME:
-        setName(NAME_EDEFAULT);
-        return;
-      case MyDslPackage.FUNCTION__PARAMETERS:
-        getParameters().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.FUNCTION__NAME:
-        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-      case MyDslPackage.FUNCTION__PARAMETERS:
-        return parameters != null && !parameters.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (name: ");
-    result.append(name);
-    result.append(')');
-    return result.toString();
-  }
-
-} //FunctionImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IfElseExpressionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IfElseExpressionImpl.java
deleted file mode 100644
index 87ec0fd4c41f3430d7b0200775a0c0b8597104de..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IfElseExpressionImpl.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.IfElseExpression;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>If Else Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl#getCondition <em>Condition</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl#getTrueExp <em>True Exp</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl#getFalseExp <em>False Exp</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class IfElseExpressionImpl extends ExpressionImpl implements IfElseExpression
-{
-  /**
-   * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getCondition()
-   * @generated
-   * @ordered
-   */
-  protected Expression condition;
-
-  /**
-   * The cached value of the '{@link #getTrueExp() <em>True Exp</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getTrueExp()
-   * @generated
-   * @ordered
-   */
-  protected Expression trueExp;
-
-  /**
-   * The cached value of the '{@link #getFalseExp() <em>False Exp</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getFalseExp()
-   * @generated
-   * @ordered
-   */
-  protected Expression falseExp;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected IfElseExpressionImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.IF_ELSE_EXPRESSION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getCondition()
-  {
-    return condition;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
-  {
-    Expression oldCondition = condition;
-    condition = newCondition;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__CONDITION, oldCondition, newCondition);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setCondition(Expression newCondition)
-  {
-    if (newCondition != condition)
-    {
-      NotificationChain msgs = null;
-      if (condition != null)
-        msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__CONDITION, null, msgs);
-      if (newCondition != null)
-        msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__CONDITION, null, msgs);
-      msgs = basicSetCondition(newCondition, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__CONDITION, newCondition, newCondition));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getTrueExp()
-  {
-    return trueExp;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetTrueExp(Expression newTrueExp, NotificationChain msgs)
-  {
-    Expression oldTrueExp = trueExp;
-    trueExp = newTrueExp;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP, oldTrueExp, newTrueExp);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setTrueExp(Expression newTrueExp)
-  {
-    if (newTrueExp != trueExp)
-    {
-      NotificationChain msgs = null;
-      if (trueExp != null)
-        msgs = ((InternalEObject)trueExp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP, null, msgs);
-      if (newTrueExp != null)
-        msgs = ((InternalEObject)newTrueExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP, null, msgs);
-      msgs = basicSetTrueExp(newTrueExp, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP, newTrueExp, newTrueExp));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getFalseExp()
-  {
-    return falseExp;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetFalseExp(Expression newFalseExp, NotificationChain msgs)
-  {
-    Expression oldFalseExp = falseExp;
-    falseExp = newFalseExp;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP, oldFalseExp, newFalseExp);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setFalseExp(Expression newFalseExp)
-  {
-    if (newFalseExp != falseExp)
-    {
-      NotificationChain msgs = null;
-      if (falseExp != null)
-        msgs = ((InternalEObject)falseExp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP, null, msgs);
-      if (newFalseExp != null)
-        msgs = ((InternalEObject)newFalseExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP, null, msgs);
-      msgs = basicSetFalseExp(newFalseExp, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP, newFalseExp, newFalseExp));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.IF_ELSE_EXPRESSION__CONDITION:
-        return basicSetCondition(null, msgs);
-      case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP:
-        return basicSetTrueExp(null, msgs);
-      case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP:
-        return basicSetFalseExp(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 MyDslPackage.IF_ELSE_EXPRESSION__CONDITION:
-        return getCondition();
-      case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP:
-        return getTrueExp();
-      case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP:
-        return getFalseExp();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.IF_ELSE_EXPRESSION__CONDITION:
-        setCondition((Expression)newValue);
-        return;
-      case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP:
-        setTrueExp((Expression)newValue);
-        return;
-      case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP:
-        setFalseExp((Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.IF_ELSE_EXPRESSION__CONDITION:
-        setCondition((Expression)null);
-        return;
-      case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP:
-        setTrueExp((Expression)null);
-        return;
-      case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP:
-        setFalseExp((Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.IF_ELSE_EXPRESSION__CONDITION:
-        return condition != null;
-      case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP:
-        return trueExp != null;
-      case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP:
-        return falseExp != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //IfElseExpressionImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IntLiteralImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IntLiteralImpl.java
deleted file mode 100644
index d4aa2b01474dfcb40acdb766c40047db6d2d7a21..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IntLiteralImpl.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.impl;
-
-import java.math.BigInteger;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.xtext.example.mydsl.myDsl.IntLiteral;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Int Literal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class IntLiteralImpl extends ExpressionImpl implements IntLiteral
-{
-  /**
-   * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected static final BigInteger VALUE_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected BigInteger value = VALUE_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected IntLiteralImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.INT_LITERAL;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BigInteger getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setValue(BigInteger newValue)
-  {
-    BigInteger oldValue = value;
-    value = newValue;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.INT_LITERAL__VALUE, oldValue, value));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.INT_LITERAL__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 MyDslPackage.INT_LITERAL__VALUE:
-        setValue((BigInteger)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.INT_LITERAL__VALUE:
-        setValue(VALUE_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.INT_LITERAL__VALUE:
-        return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (value: ");
-    result.append(value);
-    result.append(')');
-    return result.toString();
-  }
-
-} //IntLiteralImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ModelImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ModelImpl.java
deleted file mode 100644
index 749d1b592190bf6a161d703adc04936599c6282d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ModelImpl.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.Model;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Model</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.ModelImpl#getTerms <em>Terms</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ModelImpl extends MinimalEObjectImpl.Container implements Model
-{
-  /**
-   * The cached value of the '{@link #getTerms() <em>Terms</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getTerms()
-   * @generated
-   * @ordered
-   */
-  protected Expression terms;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected ModelImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.MODEL;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getTerms()
-  {
-    return terms;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetTerms(Expression newTerms, NotificationChain msgs)
-  {
-    Expression oldTerms = terms;
-    terms = newTerms;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.MODEL__TERMS, oldTerms, newTerms);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setTerms(Expression newTerms)
-  {
-    if (newTerms != terms)
-    {
-      NotificationChain msgs = null;
-      if (terms != null)
-        msgs = ((InternalEObject)terms).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.MODEL__TERMS, null, msgs);
-      if (newTerms != null)
-        msgs = ((InternalEObject)newTerms).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.MODEL__TERMS, null, msgs);
-      msgs = basicSetTerms(newTerms, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.MODEL__TERMS, newTerms, newTerms));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.MODEL__TERMS:
-        return basicSetTerms(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 MyDslPackage.MODEL__TERMS:
-        return getTerms();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.MODEL__TERMS:
-        setTerms((Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.MODEL__TERMS:
-        setTerms((Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.MODEL__TERMS:
-        return terms != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //ModelImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslFactoryImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslFactoryImpl.java
deleted file mode 100644
index 1818c9ad4917b01a774f5761a4a391dc50153b6b..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslFactoryImpl.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.xtext.example.mydsl.myDsl.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class MyDslFactoryImpl extends EFactoryImpl implements MyDslFactory
-{
-  /**
-   * Creates the default factory implementation.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static MyDslFactory init()
-  {
-    try
-    {
-      MyDslFactory theMyDslFactory = (MyDslFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.xtext.org/example/mydsl/MyDsl"); 
-      if (theMyDslFactory != null)
-      {
-        return theMyDslFactory;
-      }
-    }
-    catch (Exception exception)
-    {
-      EcorePlugin.INSTANCE.log(exception);
-    }
-    return new MyDslFactoryImpl();
-  }
-
-  /**
-   * Creates an instance of the factory.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public MyDslFactoryImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public EObject create(EClass eClass)
-  {
-    switch (eClass.getClassifierID())
-    {
-      case MyDslPackage.MODEL: return createModel();
-      case MyDslPackage.EXPRESSION: return createExpression();
-      case MyDslPackage.FUNCTION: return createFunction();
-      case MyDslPackage.FORMAL_PARAMETER: return createFormalParameter();
-      case MyDslPackage.BOOLEAN_LITERAL: return createBooleanLiteral();
-      case MyDslPackage.INT_LITERAL: return createIntLiteral();
-      case MyDslPackage.DOUBLE_LITERAL: return createDoubleLiteral();
-      case MyDslPackage.IF_ELSE_EXPRESSION: return createIfElseExpression();
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION: return createBinaryBooleanExpression();
-      case MyDslPackage.UNARY_BOOLEAN_EXPRESSION: return createUnaryBooleanExpression();
-      case MyDslPackage.COMPARISON: return createComparison();
-      case MyDslPackage.TERM: return createTerm();
-      case MyDslPackage.PRODUCT: return createProduct();
-      case MyDslPackage.POWER: return createPower();
-      default:
-        throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-    }
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object createFromString(EDataType eDataType, String initialValue)
-  {
-    switch (eDataType.getClassifierID())
-    {
-      case MyDslPackage.PRODUCT_OPERATION:
-        return createProductOperationFromString(eDataType, initialValue);
-      case MyDslPackage.TERM_OPERATION:
-        return createTermOperationFromString(eDataType, initialValue);
-      case MyDslPackage.COMPARE_OPERATION:
-        return createCompareOperationFromString(eDataType, initialValue);
-      case MyDslPackage.BOOLEAN_OPERATION:
-        return createBooleanOperationFromString(eDataType, initialValue);
-      default:
-        throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-    }
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String convertToString(EDataType eDataType, Object instanceValue)
-  {
-    switch (eDataType.getClassifierID())
-    {
-      case MyDslPackage.PRODUCT_OPERATION:
-        return convertProductOperationToString(eDataType, instanceValue);
-      case MyDslPackage.TERM_OPERATION:
-        return convertTermOperationToString(eDataType, instanceValue);
-      case MyDslPackage.COMPARE_OPERATION:
-        return convertCompareOperationToString(eDataType, instanceValue);
-      case MyDslPackage.BOOLEAN_OPERATION:
-        return convertBooleanOperationToString(eDataType, instanceValue);
-      default:
-        throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-    }
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Model createModel()
-  {
-    ModelImpl model = new ModelImpl();
-    return model;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression createExpression()
-  {
-    ExpressionImpl expression = new ExpressionImpl();
-    return expression;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Function createFunction()
-  {
-    FunctionImpl function = new FunctionImpl();
-    return function;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public FormalParameter createFormalParameter()
-  {
-    FormalParameterImpl formalParameter = new FormalParameterImpl();
-    return formalParameter;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BooleanLiteral createBooleanLiteral()
-  {
-    BooleanLiteralImpl booleanLiteral = new BooleanLiteralImpl();
-    return booleanLiteral;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public IntLiteral createIntLiteral()
-  {
-    IntLiteralImpl intLiteral = new IntLiteralImpl();
-    return intLiteral;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DoubleLiteral createDoubleLiteral()
-  {
-    DoubleLiteralImpl doubleLiteral = new DoubleLiteralImpl();
-    return doubleLiteral;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public IfElseExpression createIfElseExpression()
-  {
-    IfElseExpressionImpl ifElseExpression = new IfElseExpressionImpl();
-    return ifElseExpression;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BinaryBooleanExpression createBinaryBooleanExpression()
-  {
-    BinaryBooleanExpressionImpl binaryBooleanExpression = new BinaryBooleanExpressionImpl();
-    return binaryBooleanExpression;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public UnaryBooleanExpression createUnaryBooleanExpression()
-  {
-    UnaryBooleanExpressionImpl unaryBooleanExpression = new UnaryBooleanExpressionImpl();
-    return unaryBooleanExpression;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Comparison createComparison()
-  {
-    ComparisonImpl comparison = new ComparisonImpl();
-    return comparison;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Term createTerm()
-  {
-    TermImpl term = new TermImpl();
-    return term;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Product createProduct()
-  {
-    ProductImpl product = new ProductImpl();
-    return product;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Power createPower()
-  {
-    PowerImpl power = new PowerImpl();
-    return power;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public ProductOperation createProductOperationFromString(EDataType eDataType, String initialValue)
-  {
-    ProductOperation result = ProductOperation.get(initialValue);
-    if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
-    return result;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String convertProductOperationToString(EDataType eDataType, Object instanceValue)
-  {
-    return instanceValue == null ? null : instanceValue.toString();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public TermOperation createTermOperationFromString(EDataType eDataType, String initialValue)
-  {
-    TermOperation result = TermOperation.get(initialValue);
-    if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
-    return result;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String convertTermOperationToString(EDataType eDataType, Object instanceValue)
-  {
-    return instanceValue == null ? null : instanceValue.toString();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public CompareOperation createCompareOperationFromString(EDataType eDataType, String initialValue)
-  {
-    CompareOperation result = CompareOperation.get(initialValue);
-    if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
-    return result;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String convertCompareOperationToString(EDataType eDataType, Object instanceValue)
-  {
-    return instanceValue == null ? null : instanceValue.toString();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BooleanOperation createBooleanOperationFromString(EDataType eDataType, String initialValue)
-  {
-    BooleanOperation result = BooleanOperation.get(initialValue);
-    if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
-    return result;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String convertBooleanOperationToString(EDataType eDataType, Object instanceValue)
-  {
-    return instanceValue == null ? null : instanceValue.toString();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public MyDslPackage getMyDslPackage()
-  {
-    return (MyDslPackage)getEPackage();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @deprecated
-   * @generated
-   */
-  @Deprecated
-  public static MyDslPackage getPackage()
-  {
-    return MyDslPackage.eINSTANCE;
-  }
-
-} //MyDslFactoryImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslPackageImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslPackageImpl.java
deleted file mode 100644
index c2424078d4b8d0645d1d572d56959078a2bf4849..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslPackageImpl.java
+++ /dev/null
@@ -1,874 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.xtext.example.mydsl.myDsl.BinaryBooleanExpression;
-import org.xtext.example.mydsl.myDsl.BooleanLiteral;
-import org.xtext.example.mydsl.myDsl.BooleanOperation;
-import org.xtext.example.mydsl.myDsl.CompareOperation;
-import org.xtext.example.mydsl.myDsl.Comparison;
-import org.xtext.example.mydsl.myDsl.DoubleLiteral;
-import org.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.FormalParameter;
-import org.xtext.example.mydsl.myDsl.Function;
-import org.xtext.example.mydsl.myDsl.IfElseExpression;
-import org.xtext.example.mydsl.myDsl.IntLiteral;
-import org.xtext.example.mydsl.myDsl.Model;
-import org.xtext.example.mydsl.myDsl.MyDslFactory;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-import org.xtext.example.mydsl.myDsl.Power;
-import org.xtext.example.mydsl.myDsl.Product;
-import org.xtext.example.mydsl.myDsl.ProductOperation;
-import org.xtext.example.mydsl.myDsl.Term;
-import org.xtext.example.mydsl.myDsl.TermOperation;
-import org.xtext.example.mydsl.myDsl.UnaryBooleanExpression;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class MyDslPackageImpl extends EPackageImpl implements MyDslPackage
-{
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass modelEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass expressionEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass functionEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass formalParameterEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass booleanLiteralEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass intLiteralEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass doubleLiteralEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass ifElseExpressionEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass binaryBooleanExpressionEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass unaryBooleanExpressionEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass comparisonEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass termEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass productEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass powerEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EEnum productOperationEEnum = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EEnum termOperationEEnum = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EEnum compareOperationEEnum = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EEnum booleanOperationEEnum = 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.xtext.example.mydsl.myDsl.MyDslPackage#eNS_URI
-   * @see #init()
-   * @generated
-   */
-  private MyDslPackageImpl()
-  {
-    super(eNS_URI, MyDslFactory.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 MyDslPackage#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 MyDslPackage init()
-  {
-    if (isInited) return (MyDslPackage)EPackage.Registry.INSTANCE.getEPackage(MyDslPackage.eNS_URI);
-
-    // Obtain or create and register package
-    MyDslPackageImpl theMyDslPackage = (MyDslPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MyDslPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MyDslPackageImpl());
-
-    isInited = true;
-
-    // Create package meta-data objects
-    theMyDslPackage.createPackageContents();
-
-    // Initialize created meta-data
-    theMyDslPackage.initializePackageContents();
-
-    // Mark meta-data to indicate it can't be changed
-    theMyDslPackage.freeze();
-
-  
-    // Update the registry and return the package
-    EPackage.Registry.INSTANCE.put(MyDslPackage.eNS_URI, theMyDslPackage);
-    return theMyDslPackage;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getModel()
-  {
-    return modelEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getModel_Terms()
-  {
-    return (EReference)modelEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getExpression()
-  {
-    return expressionEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getFunction()
-  {
-    return functionEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getFunction_Name()
-  {
-    return (EAttribute)functionEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getFunction_Parameters()
-  {
-    return (EReference)functionEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getFormalParameter()
-  {
-    return formalParameterEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getFormalParameter_Value()
-  {
-    return (EAttribute)formalParameterEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getBooleanLiteral()
-  {
-    return booleanLiteralEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getBooleanLiteral_Value()
-  {
-    return (EAttribute)booleanLiteralEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getIntLiteral()
-  {
-    return intLiteralEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getIntLiteral_Value()
-  {
-    return (EAttribute)intLiteralEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDoubleLiteral()
-  {
-    return doubleLiteralEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDoubleLiteral_Value()
-  {
-    return (EAttribute)doubleLiteralEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getIfElseExpression()
-  {
-    return ifElseExpressionEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getIfElseExpression_Condition()
-  {
-    return (EReference)ifElseExpressionEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getIfElseExpression_TrueExp()
-  {
-    return (EReference)ifElseExpressionEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getIfElseExpression_FalseExp()
-  {
-    return (EReference)ifElseExpressionEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getBinaryBooleanExpression()
-  {
-    return binaryBooleanExpressionEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getBinaryBooleanExpression_Left()
-  {
-    return (EReference)binaryBooleanExpressionEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getBinaryBooleanExpression_Operation()
-  {
-    return (EAttribute)binaryBooleanExpressionEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getBinaryBooleanExpression_Right()
-  {
-    return (EReference)binaryBooleanExpressionEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getUnaryBooleanExpression()
-  {
-    return unaryBooleanExpressionEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getUnaryBooleanExpression_Inner()
-  {
-    return (EReference)unaryBooleanExpressionEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getComparison()
-  {
-    return comparisonEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getComparison_Left()
-  {
-    return (EReference)comparisonEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getComparison_Operation()
-  {
-    return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getComparison_Right()
-  {
-    return (EReference)comparisonEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getTerm()
-  {
-    return termEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getTerm_Left()
-  {
-    return (EReference)termEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getTerm_Operation()
-  {
-    return (EAttribute)termEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getTerm_Right()
-  {
-    return (EReference)termEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getProduct()
-  {
-    return productEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getProduct_Left()
-  {
-    return (EReference)productEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getProduct_Operation()
-  {
-    return (EAttribute)productEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getProduct_Right()
-  {
-    return (EReference)productEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getPower()
-  {
-    return powerEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getPower_Base()
-  {
-    return (EReference)powerEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getPower_Exponent()
-  {
-    return (EReference)powerEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EEnum getProductOperation()
-  {
-    return productOperationEEnum;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EEnum getTermOperation()
-  {
-    return termOperationEEnum;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EEnum getCompareOperation()
-  {
-    return compareOperationEEnum;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EEnum getBooleanOperation()
-  {
-    return booleanOperationEEnum;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public MyDslFactory getMyDslFactory()
-  {
-    return (MyDslFactory)getEFactoryInstance();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private boolean isCreated = false;
-
-  /**
-   * Creates the meta-model objects for the package.  This method is
-   * guarded to have no affect on any invocation but its first.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void createPackageContents()
-  {
-    if (isCreated) return;
-    isCreated = true;
-
-    // Create classes and their features
-    modelEClass = createEClass(MODEL);
-    createEReference(modelEClass, MODEL__TERMS);
-
-    expressionEClass = createEClass(EXPRESSION);
-
-    functionEClass = createEClass(FUNCTION);
-    createEAttribute(functionEClass, FUNCTION__NAME);
-    createEReference(functionEClass, FUNCTION__PARAMETERS);
-
-    formalParameterEClass = createEClass(FORMAL_PARAMETER);
-    createEAttribute(formalParameterEClass, FORMAL_PARAMETER__VALUE);
-
-    booleanLiteralEClass = createEClass(BOOLEAN_LITERAL);
-    createEAttribute(booleanLiteralEClass, BOOLEAN_LITERAL__VALUE);
-
-    intLiteralEClass = createEClass(INT_LITERAL);
-    createEAttribute(intLiteralEClass, INT_LITERAL__VALUE);
-
-    doubleLiteralEClass = createEClass(DOUBLE_LITERAL);
-    createEAttribute(doubleLiteralEClass, DOUBLE_LITERAL__VALUE);
-
-    ifElseExpressionEClass = createEClass(IF_ELSE_EXPRESSION);
-    createEReference(ifElseExpressionEClass, IF_ELSE_EXPRESSION__CONDITION);
-    createEReference(ifElseExpressionEClass, IF_ELSE_EXPRESSION__TRUE_EXP);
-    createEReference(ifElseExpressionEClass, IF_ELSE_EXPRESSION__FALSE_EXP);
-
-    binaryBooleanExpressionEClass = createEClass(BINARY_BOOLEAN_EXPRESSION);
-    createEReference(binaryBooleanExpressionEClass, BINARY_BOOLEAN_EXPRESSION__LEFT);
-    createEAttribute(binaryBooleanExpressionEClass, BINARY_BOOLEAN_EXPRESSION__OPERATION);
-    createEReference(binaryBooleanExpressionEClass, BINARY_BOOLEAN_EXPRESSION__RIGHT);
-
-    unaryBooleanExpressionEClass = createEClass(UNARY_BOOLEAN_EXPRESSION);
-    createEReference(unaryBooleanExpressionEClass, UNARY_BOOLEAN_EXPRESSION__INNER);
-
-    comparisonEClass = createEClass(COMPARISON);
-    createEReference(comparisonEClass, COMPARISON__LEFT);
-    createEAttribute(comparisonEClass, COMPARISON__OPERATION);
-    createEReference(comparisonEClass, COMPARISON__RIGHT);
-
-    termEClass = createEClass(TERM);
-    createEReference(termEClass, TERM__LEFT);
-    createEAttribute(termEClass, TERM__OPERATION);
-    createEReference(termEClass, TERM__RIGHT);
-
-    productEClass = createEClass(PRODUCT);
-    createEReference(productEClass, PRODUCT__LEFT);
-    createEAttribute(productEClass, PRODUCT__OPERATION);
-    createEReference(productEClass, PRODUCT__RIGHT);
-
-    powerEClass = createEClass(POWER);
-    createEReference(powerEClass, POWER__BASE);
-    createEReference(powerEClass, POWER__EXPONENT);
-
-    // Create enums
-    productOperationEEnum = createEEnum(PRODUCT_OPERATION);
-    termOperationEEnum = createEEnum(TERM_OPERATION);
-    compareOperationEEnum = createEEnum(COMPARE_OPERATION);
-    booleanOperationEEnum = createEEnum(BOOLEAN_OPERATION);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private boolean isInitialized = false;
-
-  /**
-   * Complete the initialization of the package and its meta-model.  This
-   * method is guarded to have no affect on any invocation but its first.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void initializePackageContents()
-  {
-    if (isInitialized) return;
-    isInitialized = true;
-
-    // Initialize package
-    setName(eNAME);
-    setNsPrefix(eNS_PREFIX);
-    setNsURI(eNS_URI);
-
-    // Create type parameters
-
-    // Set bounds for type parameters
-
-    // Add supertypes to classes
-    functionEClass.getESuperTypes().add(this.getExpression());
-    formalParameterEClass.getESuperTypes().add(this.getExpression());
-    booleanLiteralEClass.getESuperTypes().add(this.getExpression());
-    intLiteralEClass.getESuperTypes().add(this.getExpression());
-    doubleLiteralEClass.getESuperTypes().add(this.getExpression());
-    ifElseExpressionEClass.getESuperTypes().add(this.getExpression());
-    binaryBooleanExpressionEClass.getESuperTypes().add(this.getExpression());
-    unaryBooleanExpressionEClass.getESuperTypes().add(this.getExpression());
-    comparisonEClass.getESuperTypes().add(this.getExpression());
-    termEClass.getESuperTypes().add(this.getExpression());
-    productEClass.getESuperTypes().add(this.getExpression());
-    powerEClass.getESuperTypes().add(this.getExpression());
-
-    // Initialize classes and features; add operations and parameters
-    initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getModel_Terms(), this.getExpression(), null, "terms", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-    initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getFunction_Name(), ecorePackage.getEString(), "name", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getFunction_Parameters(), this.getExpression(), null, "parameters", null, 0, -1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(formalParameterEClass, FormalParameter.class, "FormalParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getFormalParameter_Value(), ecorePackage.getEString(), "value", null, 0, 1, FormalParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(booleanLiteralEClass, BooleanLiteral.class, "BooleanLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getBooleanLiteral_Value(), ecorePackage.getEBoolean(), "value", null, 0, 1, BooleanLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(intLiteralEClass, IntLiteral.class, "IntLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getIntLiteral_Value(), ecorePackage.getEBigInteger(), "value", null, 0, 1, IntLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(doubleLiteralEClass, DoubleLiteral.class, "DoubleLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDoubleLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, DoubleLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(ifElseExpressionEClass, IfElseExpression.class, "IfElseExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getIfElseExpression_Condition(), this.getExpression(), null, "condition", null, 0, 1, IfElseExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getIfElseExpression_TrueExp(), this.getExpression(), null, "trueExp", null, 0, 1, IfElseExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getIfElseExpression_FalseExp(), this.getExpression(), null, "falseExp", null, 0, 1, IfElseExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(binaryBooleanExpressionEClass, BinaryBooleanExpression.class, "BinaryBooleanExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getBinaryBooleanExpression_Left(), this.getExpression(), null, "left", null, 0, 1, BinaryBooleanExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getBinaryBooleanExpression_Operation(), this.getBooleanOperation(), "operation", null, 0, 1, BinaryBooleanExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getBinaryBooleanExpression_Right(), this.getExpression(), null, "right", null, 0, 1, BinaryBooleanExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(unaryBooleanExpressionEClass, UnaryBooleanExpression.class, "UnaryBooleanExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getUnaryBooleanExpression_Inner(), this.getExpression(), null, "inner", null, 0, 1, UnaryBooleanExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getComparison_Left(), this.getExpression(), null, "left", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getComparison_Operation(), this.getCompareOperation(), "operation", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getComparison_Right(), this.getExpression(), null, "right", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(termEClass, Term.class, "Term", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getTerm_Left(), this.getExpression(), null, "left", null, 0, 1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getTerm_Operation(), this.getTermOperation(), "operation", null, 0, 1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getTerm_Right(), this.getExpression(), null, "right", null, 0, 1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(productEClass, Product.class, "Product", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getProduct_Left(), this.getExpression(), null, "left", null, 0, 1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getProduct_Operation(), this.getProductOperation(), "operation", null, 0, 1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getProduct_Right(), this.getExpression(), null, "right", null, 0, 1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(powerEClass, Power.class, "Power", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getPower_Base(), this.getExpression(), null, "base", null, 0, 1, Power.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getPower_Exponent(), this.getExpression(), null, "exponent", null, 0, 1, Power.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    // Initialize enums and add enum literals
-    initEEnum(productOperationEEnum, ProductOperation.class, "ProductOperation");
-    addEEnumLiteral(productOperationEEnum, ProductOperation.MULT);
-    addEEnumLiteral(productOperationEEnum, ProductOperation.DIV);
-    addEEnumLiteral(productOperationEEnum, ProductOperation.MOD);
-
-    initEEnum(termOperationEEnum, TermOperation.class, "TermOperation");
-    addEEnumLiteral(termOperationEEnum, TermOperation.ADD);
-    addEEnumLiteral(termOperationEEnum, TermOperation.SUB);
-
-    initEEnum(compareOperationEEnum, CompareOperation.class, "CompareOperation");
-    addEEnumLiteral(compareOperationEEnum, CompareOperation.GREATER);
-    addEEnumLiteral(compareOperationEEnum, CompareOperation.LESS);
-    addEEnumLiteral(compareOperationEEnum, CompareOperation.EQUALS);
-    addEEnumLiteral(compareOperationEEnum, CompareOperation.NOTEQUAL);
-    addEEnumLiteral(compareOperationEEnum, CompareOperation.LESSEQUAL);
-    addEEnumLiteral(compareOperationEEnum, CompareOperation.GREATEREQUAL);
-
-    initEEnum(booleanOperationEEnum, BooleanOperation.class, "BooleanOperation");
-    addEEnumLiteral(booleanOperationEEnum, BooleanOperation.AND);
-    addEEnumLiteral(booleanOperationEEnum, BooleanOperation.OR);
-    addEEnumLiteral(booleanOperationEEnum, BooleanOperation.XOR);
-
-    // Create resource
-    createResource(eNS_URI);
-  }
-
-} //MyDslPackageImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/PowerImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/PowerImpl.java
deleted file mode 100644
index 181b952c9788a47d9484ae2f709edd2741a85e0b..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/PowerImpl.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-import org.xtext.example.mydsl.myDsl.Power;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Power</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.PowerImpl#getBase <em>Base</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.PowerImpl#getExponent <em>Exponent</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PowerImpl extends ExpressionImpl implements Power
-{
-  /**
-   * The cached value of the '{@link #getBase() <em>Base</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getBase()
-   * @generated
-   * @ordered
-   */
-  protected Expression base;
-
-  /**
-   * The cached value of the '{@link #getExponent() <em>Exponent</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getExponent()
-   * @generated
-   * @ordered
-   */
-  protected Expression exponent;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected PowerImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.POWER;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getBase()
-  {
-    return base;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetBase(Expression newBase, NotificationChain msgs)
-  {
-    Expression oldBase = base;
-    base = newBase;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.POWER__BASE, oldBase, newBase);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setBase(Expression newBase)
-  {
-    if (newBase != base)
-    {
-      NotificationChain msgs = null;
-      if (base != null)
-        msgs = ((InternalEObject)base).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.POWER__BASE, null, msgs);
-      if (newBase != null)
-        msgs = ((InternalEObject)newBase).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.POWER__BASE, null, msgs);
-      msgs = basicSetBase(newBase, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.POWER__BASE, newBase, newBase));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getExponent()
-  {
-    return exponent;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetExponent(Expression newExponent, NotificationChain msgs)
-  {
-    Expression oldExponent = exponent;
-    exponent = newExponent;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.POWER__EXPONENT, oldExponent, newExponent);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setExponent(Expression newExponent)
-  {
-    if (newExponent != exponent)
-    {
-      NotificationChain msgs = null;
-      if (exponent != null)
-        msgs = ((InternalEObject)exponent).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.POWER__EXPONENT, null, msgs);
-      if (newExponent != null)
-        msgs = ((InternalEObject)newExponent).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.POWER__EXPONENT, null, msgs);
-      msgs = basicSetExponent(newExponent, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.POWER__EXPONENT, newExponent, newExponent));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.POWER__BASE:
-        return basicSetBase(null, msgs);
-      case MyDslPackage.POWER__EXPONENT:
-        return basicSetExponent(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 MyDslPackage.POWER__BASE:
-        return getBase();
-      case MyDslPackage.POWER__EXPONENT:
-        return getExponent();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.POWER__BASE:
-        setBase((Expression)newValue);
-        return;
-      case MyDslPackage.POWER__EXPONENT:
-        setExponent((Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.POWER__BASE:
-        setBase((Expression)null);
-        return;
-      case MyDslPackage.POWER__EXPONENT:
-        setExponent((Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.POWER__BASE:
-        return base != null;
-      case MyDslPackage.POWER__EXPONENT:
-        return exponent != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //PowerImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ProductImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ProductImpl.java
deleted file mode 100644
index 2d589fb45ba233ca2da8be76da61256c95750e9a..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ProductImpl.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-import org.xtext.example.mydsl.myDsl.Product;
-import org.xtext.example.mydsl.myDsl.ProductOperation;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Product</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl#getOperation <em>Operation</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl#getRight <em>Right</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ProductImpl extends ExpressionImpl implements Product
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected Expression left;
-
-  /**
-   * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOperation()
-   * @generated
-   * @ordered
-   */
-  protected static final ProductOperation OPERATION_EDEFAULT = ProductOperation.MULT;
-
-  /**
-   * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOperation()
-   * @generated
-   * @ordered
-   */
-  protected ProductOperation operation = OPERATION_EDEFAULT;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected ProductImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.PRODUCT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
-  {
-    Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.PRODUCT__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.PRODUCT__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public ProductOperation getOperation()
-  {
-    return operation;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setOperation(ProductOperation newOperation)
-  {
-    ProductOperation oldOperation = operation;
-    operation = newOperation == null ? OPERATION_EDEFAULT : newOperation;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__OPERATION, oldOperation, operation));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
-  {
-    Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.PRODUCT__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.PRODUCT__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.PRODUCT__LEFT:
-        return basicSetLeft(null, msgs);
-      case MyDslPackage.PRODUCT__RIGHT:
-        return basicSetRight(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 MyDslPackage.PRODUCT__LEFT:
-        return getLeft();
-      case MyDslPackage.PRODUCT__OPERATION:
-        return getOperation();
-      case MyDslPackage.PRODUCT__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.PRODUCT__LEFT:
-        setLeft((Expression)newValue);
-        return;
-      case MyDslPackage.PRODUCT__OPERATION:
-        setOperation((ProductOperation)newValue);
-        return;
-      case MyDslPackage.PRODUCT__RIGHT:
-        setRight((Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.PRODUCT__LEFT:
-        setLeft((Expression)null);
-        return;
-      case MyDslPackage.PRODUCT__OPERATION:
-        setOperation(OPERATION_EDEFAULT);
-        return;
-      case MyDslPackage.PRODUCT__RIGHT:
-        setRight((Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.PRODUCT__LEFT:
-        return left != null;
-      case MyDslPackage.PRODUCT__OPERATION:
-        return operation != OPERATION_EDEFAULT;
-      case MyDslPackage.PRODUCT__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (operation: ");
-    result.append(operation);
-    result.append(')');
-    return result.toString();
-  }
-
-} //ProductImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/TermImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/TermImpl.java
deleted file mode 100644
index 3c34b29cc4f633936d7410e1b71cc842f615cd5d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/TermImpl.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-import org.xtext.example.mydsl.myDsl.Term;
-import org.xtext.example.mydsl.myDsl.TermOperation;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Term</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.TermImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.TermImpl#getOperation <em>Operation</em>}</li>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.TermImpl#getRight <em>Right</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TermImpl extends ExpressionImpl implements Term
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected Expression left;
-
-  /**
-   * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOperation()
-   * @generated
-   * @ordered
-   */
-  protected static final TermOperation OPERATION_EDEFAULT = TermOperation.ADD;
-
-  /**
-   * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOperation()
-   * @generated
-   * @ordered
-   */
-  protected TermOperation operation = OPERATION_EDEFAULT;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected TermImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.TERM;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
-  {
-    Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public TermOperation getOperation()
-  {
-    return operation;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setOperation(TermOperation newOperation)
-  {
-    TermOperation oldOperation = operation;
-    operation = newOperation == null ? OPERATION_EDEFAULT : newOperation;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__OPERATION, oldOperation, operation));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
-  {
-    Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.TERM__LEFT:
-        return basicSetLeft(null, msgs);
-      case MyDslPackage.TERM__RIGHT:
-        return basicSetRight(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 MyDslPackage.TERM__LEFT:
-        return getLeft();
-      case MyDslPackage.TERM__OPERATION:
-        return getOperation();
-      case MyDslPackage.TERM__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.TERM__LEFT:
-        setLeft((Expression)newValue);
-        return;
-      case MyDslPackage.TERM__OPERATION:
-        setOperation((TermOperation)newValue);
-        return;
-      case MyDslPackage.TERM__RIGHT:
-        setRight((Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.TERM__LEFT:
-        setLeft((Expression)null);
-        return;
-      case MyDslPackage.TERM__OPERATION:
-        setOperation(OPERATION_EDEFAULT);
-        return;
-      case MyDslPackage.TERM__RIGHT:
-        setRight((Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.TERM__LEFT:
-        return left != null;
-      case MyDslPackage.TERM__OPERATION:
-        return operation != OPERATION_EDEFAULT;
-      case MyDslPackage.TERM__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (operation: ");
-    result.append(operation);
-    result.append(')');
-    return result.toString();
-  }
-
-} //TermImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/UnaryBooleanExpressionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/UnaryBooleanExpressionImpl.java
deleted file mode 100644
index 233b2c9716b0eb30e77b191c041fe374f1ec5079..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/UnaryBooleanExpressionImpl.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.xtext.example.mydsl.myDsl.Expression;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-import org.xtext.example.mydsl.myDsl.UnaryBooleanExpression;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Unary Boolean Expression</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl#getInner <em>Inner</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class UnaryBooleanExpressionImpl extends ExpressionImpl implements UnaryBooleanExpression
-{
-  /**
-   * The cached value of the '{@link #getInner() <em>Inner</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getInner()
-   * @generated
-   * @ordered
-   */
-  protected Expression inner;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected UnaryBooleanExpressionImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return MyDslPackage.Literals.UNARY_BOOLEAN_EXPRESSION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Expression getInner()
-  {
-    return inner;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetInner(Expression newInner, NotificationChain msgs)
-  {
-    Expression oldInner = inner;
-    inner = newInner;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER, oldInner, newInner);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setInner(Expression newInner)
-  {
-    if (newInner != inner)
-    {
-      NotificationChain msgs = null;
-      if (inner != null)
-        msgs = ((InternalEObject)inner).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER, null, msgs);
-      if (newInner != null)
-        msgs = ((InternalEObject)newInner).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER, null, msgs);
-      msgs = basicSetInner(newInner, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER, newInner, newInner));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER:
-        return basicSetInner(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 MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER:
-        return getInner();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER:
-        setInner((Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER:
-        setInner((Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER:
-        return inner != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //UnaryBooleanExpressionImpl
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslAdapterFactory.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslAdapterFactory.java
deleted file mode 100644
index 959a87406da67d7eece6663281cdd2038a51c77e..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslAdapterFactory.java
+++ /dev/null
@@ -1,392 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.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.xtext.example.mydsl.myDsl.*;
-
-/**
- * <!-- 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.xtext.example.mydsl.myDsl.MyDslPackage
- * @generated
- */
-public class MyDslAdapterFactory extends AdapterFactoryImpl
-{
-  /**
-   * The cached model package.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected static MyDslPackage modelPackage;
-
-  /**
-   * Creates an instance of the adapter factory.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public MyDslAdapterFactory()
-  {
-    if (modelPackage == null)
-    {
-      modelPackage = MyDslPackage.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 MyDslSwitch<Adapter> modelSwitch =
-    new MyDslSwitch<Adapter>()
-    {
-      @Override
-      public Adapter caseModel(Model object)
-      {
-        return createModelAdapter();
-      }
-      @Override
-      public Adapter caseExpression(Expression object)
-      {
-        return createExpressionAdapter();
-      }
-      @Override
-      public Adapter caseFunction(Function object)
-      {
-        return createFunctionAdapter();
-      }
-      @Override
-      public Adapter caseFormalParameter(FormalParameter object)
-      {
-        return createFormalParameterAdapter();
-      }
-      @Override
-      public Adapter caseBooleanLiteral(BooleanLiteral object)
-      {
-        return createBooleanLiteralAdapter();
-      }
-      @Override
-      public Adapter caseIntLiteral(IntLiteral object)
-      {
-        return createIntLiteralAdapter();
-      }
-      @Override
-      public Adapter caseDoubleLiteral(DoubleLiteral object)
-      {
-        return createDoubleLiteralAdapter();
-      }
-      @Override
-      public Adapter caseIfElseExpression(IfElseExpression object)
-      {
-        return createIfElseExpressionAdapter();
-      }
-      @Override
-      public Adapter caseBinaryBooleanExpression(BinaryBooleanExpression object)
-      {
-        return createBinaryBooleanExpressionAdapter();
-      }
-      @Override
-      public Adapter caseUnaryBooleanExpression(UnaryBooleanExpression object)
-      {
-        return createUnaryBooleanExpressionAdapter();
-      }
-      @Override
-      public Adapter caseComparison(Comparison object)
-      {
-        return createComparisonAdapter();
-      }
-      @Override
-      public Adapter caseTerm(Term object)
-      {
-        return createTermAdapter();
-      }
-      @Override
-      public Adapter caseProduct(Product object)
-      {
-        return createProductAdapter();
-      }
-      @Override
-      public Adapter casePower(Power object)
-      {
-        return createPowerAdapter();
-      }
-      @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.xtext.example.mydsl.myDsl.Model <em>Model</em>}'.
-   * <!-- begin-user-doc -->
-   * This default implementation returns null so that we can easily ignore cases;
-   * it's useful to ignore a case when inheritance will catch all the cases anyway.
-   * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.xtext.example.mydsl.myDsl.Model
-   * @generated
-   */
-  public Adapter createModelAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Expression <em>Expression</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.xtext.example.mydsl.myDsl.Expression
-   * @generated
-   */
-  public Adapter createExpressionAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Function <em>Function</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.xtext.example.mydsl.myDsl.Function
-   * @generated
-   */
-  public Adapter createFunctionAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.FormalParameter <em>Formal Parameter</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.xtext.example.mydsl.myDsl.FormalParameter
-   * @generated
-   */
-  public Adapter createFormalParameterAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.BooleanLiteral <em>Boolean Literal</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.xtext.example.mydsl.myDsl.BooleanLiteral
-   * @generated
-   */
-  public Adapter createBooleanLiteralAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.IntLiteral <em>Int Literal</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.xtext.example.mydsl.myDsl.IntLiteral
-   * @generated
-   */
-  public Adapter createIntLiteralAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.DoubleLiteral <em>Double Literal</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.xtext.example.mydsl.myDsl.DoubleLiteral
-   * @generated
-   */
-  public Adapter createDoubleLiteralAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.IfElseExpression <em>If Else Expression</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.xtext.example.mydsl.myDsl.IfElseExpression
-   * @generated
-   */
-  public Adapter createIfElseExpressionAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression <em>Binary Boolean Expression</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.xtext.example.mydsl.myDsl.BinaryBooleanExpression
-   * @generated
-   */
-  public Adapter createBinaryBooleanExpressionAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression <em>Unary Boolean Expression</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.xtext.example.mydsl.myDsl.UnaryBooleanExpression
-   * @generated
-   */
-  public Adapter createUnaryBooleanExpressionAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Comparison <em>Comparison</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.xtext.example.mydsl.myDsl.Comparison
-   * @generated
-   */
-  public Adapter createComparisonAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Term <em>Term</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.xtext.example.mydsl.myDsl.Term
-   * @generated
-   */
-  public Adapter createTermAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Product <em>Product</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.xtext.example.mydsl.myDsl.Product
-   * @generated
-   */
-  public Adapter createProductAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Power <em>Power</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.xtext.example.mydsl.myDsl.Power
-   * @generated
-   */
-  public Adapter createPowerAdapter()
-  {
-    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;
-  }
-
-} //MyDslAdapterFactory
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslSwitch.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslSwitch.java
deleted file mode 100644
index 796b3709bb02b796b1aaa78ff60e24c2256fb72c..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslSwitch.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/**
- */
-package org.xtext.example.mydsl.myDsl.util;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.util.Switch;
-
-import org.xtext.example.mydsl.myDsl.*;
-
-/**
- * <!-- 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.xtext.example.mydsl.myDsl.MyDslPackage
- * @generated
- */
-public class MyDslSwitch<T> extends Switch<T>
-{
-  /**
-   * The cached model package
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected static MyDslPackage modelPackage;
-
-  /**
-   * Creates an instance of the switch.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public MyDslSwitch()
-  {
-    if (modelPackage == null)
-    {
-      modelPackage = MyDslPackage.eINSTANCE;
-    }
-  }
-
-  /**
-   * Checks whether this is a switch for the given package.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @parameter ePackage the package in question.
-   * @return whether this is a switch for the given package.
-   * @generated
-   */
-  @Override
-  protected boolean isSwitchFor(EPackage ePackage)
-  {
-    return ePackage == modelPackage;
-  }
-
-  /**
-   * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the first non-null result returned by a <code>caseXXX</code> call.
-   * @generated
-   */
-  @Override
-  protected T doSwitch(int classifierID, EObject theEObject)
-  {
-    switch (classifierID)
-    {
-      case MyDslPackage.MODEL:
-      {
-        Model model = (Model)theEObject;
-        T result = caseModel(model);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.EXPRESSION:
-      {
-        Expression expression = (Expression)theEObject;
-        T result = caseExpression(expression);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.FUNCTION:
-      {
-        Function function = (Function)theEObject;
-        T result = caseFunction(function);
-        if (result == null) result = caseExpression(function);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.FORMAL_PARAMETER:
-      {
-        FormalParameter formalParameter = (FormalParameter)theEObject;
-        T result = caseFormalParameter(formalParameter);
-        if (result == null) result = caseExpression(formalParameter);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.BOOLEAN_LITERAL:
-      {
-        BooleanLiteral booleanLiteral = (BooleanLiteral)theEObject;
-        T result = caseBooleanLiteral(booleanLiteral);
-        if (result == null) result = caseExpression(booleanLiteral);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.INT_LITERAL:
-      {
-        IntLiteral intLiteral = (IntLiteral)theEObject;
-        T result = caseIntLiteral(intLiteral);
-        if (result == null) result = caseExpression(intLiteral);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.DOUBLE_LITERAL:
-      {
-        DoubleLiteral doubleLiteral = (DoubleLiteral)theEObject;
-        T result = caseDoubleLiteral(doubleLiteral);
-        if (result == null) result = caseExpression(doubleLiteral);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.IF_ELSE_EXPRESSION:
-      {
-        IfElseExpression ifElseExpression = (IfElseExpression)theEObject;
-        T result = caseIfElseExpression(ifElseExpression);
-        if (result == null) result = caseExpression(ifElseExpression);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.BINARY_BOOLEAN_EXPRESSION:
-      {
-        BinaryBooleanExpression binaryBooleanExpression = (BinaryBooleanExpression)theEObject;
-        T result = caseBinaryBooleanExpression(binaryBooleanExpression);
-        if (result == null) result = caseExpression(binaryBooleanExpression);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.UNARY_BOOLEAN_EXPRESSION:
-      {
-        UnaryBooleanExpression unaryBooleanExpression = (UnaryBooleanExpression)theEObject;
-        T result = caseUnaryBooleanExpression(unaryBooleanExpression);
-        if (result == null) result = caseExpression(unaryBooleanExpression);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.COMPARISON:
-      {
-        Comparison comparison = (Comparison)theEObject;
-        T result = caseComparison(comparison);
-        if (result == null) result = caseExpression(comparison);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.TERM:
-      {
-        Term term = (Term)theEObject;
-        T result = caseTerm(term);
-        if (result == null) result = caseExpression(term);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.PRODUCT:
-      {
-        Product product = (Product)theEObject;
-        T result = caseProduct(product);
-        if (result == null) result = caseExpression(product);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case MyDslPackage.POWER:
-      {
-        Power power = (Power)theEObject;
-        T result = casePower(power);
-        if (result == null) result = caseExpression(power);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      default: return defaultCase(theEObject);
-    }
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Model</em>'.
-   * <!-- begin-user-doc -->
-   * This implementation returns null;
-   * returning a non-null result will terminate the switch.
-   * <!-- end-user-doc -->
-   * @param object the target of the switch.
-   * @return the result of interpreting the object as an instance of '<em>Model</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseModel(Model object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Expression</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</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseExpression(Expression object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Function</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>Function</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseFunction(Function object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Formal Parameter</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>Formal Parameter</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseFormalParameter(FormalParameter object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Boolean Literal</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>Boolean Literal</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseBooleanLiteral(BooleanLiteral object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Int Literal</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>Int Literal</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseIntLiteral(IntLiteral object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Double Literal</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>Double Literal</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDoubleLiteral(DoubleLiteral object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>If Else Expression</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>If Else Expression</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseIfElseExpression(IfElseExpression object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Binary Boolean Expression</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>Binary Boolean Expression</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseBinaryBooleanExpression(BinaryBooleanExpression object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Unary Boolean Expression</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>Unary Boolean Expression</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseUnaryBooleanExpression(UnaryBooleanExpression object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Comparison</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>Comparison</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseComparison(Comparison object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Term</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>Term</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseTerm(Term object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Product</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>Product</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseProduct(Product object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Power</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>Power</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T casePower(Power object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
-   * <!-- begin-user-doc -->
-   * This implementation returns null;
-   * returning a non-null result will terminate the switch, but this is the last case anyway.
-   * <!-- end-user-doc -->
-   * @param object the target of the switch.
-   * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-   * @generated
-   */
-  @Override
-  public T defaultCase(EObject object)
-  {
-    return null;
-  }
-
-} //MyDslSwitch
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/MyDslAntlrTokenFileProvider.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/MyDslAntlrTokenFileProvider.java
deleted file mode 100644
index 09037f0295daaaa3d16383de6696d49039d74fc0..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/MyDslAntlrTokenFileProvider.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl.parser.antlr;
-
-import java.io.InputStream;
-import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
-
-public class MyDslAntlrTokenFileProvider implements IAntlrTokenFileProvider {
-	
-	public InputStream getAntlrTokenFile() {
-		ClassLoader classLoader = getClass().getClassLoader();
-    	return classLoader.getResourceAsStream("org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens");
-	}
-}
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/MyDslParser.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/MyDslParser.java
deleted file mode 100644
index cabcc76be707ae0f5e8781d78dec8a5410eb6b11..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/MyDslParser.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl.parser.antlr;
-
-import com.google.inject.Inject;
-
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.xtext.example.mydsl.services.MyDslGrammarAccess;
-
-public class MyDslParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
-	
-	@Inject
-	private MyDslGrammarAccess grammarAccess;
-	
-	@Override
-	protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
-		tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
-	}
-	
-	@Override
-	protected org.xtext.example.mydsl.parser.antlr.internal.InternalMyDslParser createParser(XtextTokenStream stream) {
-		return new org.xtext.example.mydsl.parser.antlr.internal.InternalMyDslParser(stream, getGrammarAccess());
-	}
-	
-	@Override 
-	protected String getDefaultRuleName() {
-		return "Model";
-	}
-	
-	public MyDslGrammarAccess getGrammarAccess() {
-		return this.grammarAccess;
-	}
-	
-	public void setGrammarAccess(MyDslGrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-	
-}
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g
deleted file mode 100644
index a4a99d1e56dd59be665b3256474ce2ea29243a9e..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g
+++ /dev/null
@@ -1,1280 +0,0 @@
-/*
-* generated by Xtext
-*/
-grammar InternalMyDsl;
-
-options {
-	superClass=AbstractInternalAntlrParser;
-	
-}
-
-@lexer::header {
-package org.xtext.example.mydsl.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.xtext.example.mydsl.parser.antlr.internal; 
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.common.util.Enumerator;
-import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import org.xtext.example.mydsl.services.MyDslGrammarAccess;
-
-}
-
-@parser::members {
-
- 	private MyDslGrammarAccess grammarAccess;
- 	
-    public InternalMyDslParser(TokenStream input, MyDslGrammarAccess grammarAccess) {
-        this(input);
-        this.grammarAccess = grammarAccess;
-        registerRules(grammarAccess.getGrammar());
-    }
-    
-    @Override
-    protected String getFirstRuleName() {
-    	return "Model";	
-   	}
-   	
-   	@Override
-   	protected MyDslGrammarAccess getGrammarAccess() {
-   		return grammarAccess;
-   	}
-}
-
-@rulecatch { 
-    catch (RecognitionException re) { 
-        recover(input,re); 
-        appendSkippedTokens();
-    } 
-}
-
-
-
-
-// Entry rule entryRuleModel
-entryRuleModel returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getModelRule()); }
-	 iv_ruleModel=ruleModel 
-	 { $current=$iv_ruleModel.current; } 
-	 EOF 
-;
-
-// Rule Model
-ruleModel returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); 
-	    }
-		lv_terms_0_0=ruleIfElseExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getModelRule());
-	        }
-       		set(
-       			$current, 
-       			"terms",
-        		lv_terms_0_0, 
-        		"IfElseExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)
-;
-
-
-
-
-
-// Entry rule entryRuleDouble
-entryRuleDouble returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getDoubleRule()); } 
-	 iv_ruleDouble=ruleDouble 
-	 { $current=$iv_ruleDouble.current.getText(); }  
-	 EOF 
-;
-
-// Rule Double
-ruleDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); 
-    }
-)?    this_INT_1=RULE_INT    {
-		$current.merge(this_INT_1);
-    }
-
-    { 
-    newLeafNode(this_INT_1, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); 
-    }
-
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDoubleAccess().getFullStopKeyword_2()); 
-    }
-    this_INT_3=RULE_INT    {
-		$current.merge(this_INT_3);
-    }
-
-    { 
-    newLeafNode(this_INT_3, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleInteger
-entryRuleInteger returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getIntegerRule()); } 
-	 iv_ruleInteger=ruleInteger 
-	 { $current=$iv_ruleInteger.current.getText(); }  
-	 EOF 
-;
-
-// Rule Integer
-ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); 
-    }
-)?    this_INT_1=RULE_INT    {
-		$current.merge(this_INT_1);
-    }
-
-    { 
-    newLeafNode(this_INT_1, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleEString
-entryRuleEString returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getEStringRule()); } 
-	 iv_ruleEString=ruleEString 
-	 { $current=$iv_ruleEString.current.getText(); }  
-	 EOF 
-;
-
-// Rule EString
-ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(    this_STRING_0=RULE_STRING    {
-		$current.merge(this_STRING_0);
-    }
-
-    { 
-    newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-    }
-
-    |    this_ID_1=RULE_ID    {
-		$current.merge(this_ID_1);
-    }
-
-    { 
-    newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleEBoolean
-entryRuleEBoolean returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getEBooleanRule()); } 
-	 iv_ruleEBoolean=ruleEBoolean 
-	 { $current=$iv_ruleEBoolean.current.getText(); }  
-	 EOF 
-;
-
-// Rule EBoolean
-ruleEBoolean returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-	kw='true' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getEBooleanAccess().getTrueKeyword_0()); 
-    }
-
-    |
-	kw='false' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getEBooleanAccess().getFalseKeyword_1()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleRootExpression
-entryRuleRootExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getRootExpressionRule()); }
-	 iv_ruleRootExpression=ruleRootExpression 
-	 { $current=$iv_ruleRootExpression.current; } 
-	 EOF 
-;
-
-// Rule RootExpression
-ruleRootExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-
-    { 
-        newCompositeNode(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); 
-    }
-    this_IfElseExpression_0=ruleIfElseExpression
-    { 
-        $current = $this_IfElseExpression_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-;
-
-
-
-
-
-// Entry rule entryRuleIfElseExpression
-entryRuleIfElseExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getIfElseExpressionRule()); }
-	 iv_ruleIfElseExpression=ruleIfElseExpression 
-	 { $current=$iv_ruleIfElseExpression.current; } 
-	 EOF 
-;
-
-// Rule IfElseExpression
-ruleIfElseExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); 
-    }
-    this_BinaryBooleanExpression_0=ruleBinaryBooleanExpression
-    { 
-        $current = $this_BinaryBooleanExpression_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-((
-    {
-        $current = forceCreateModelElementAndSet(
-            grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0(),
-            $current);
-    }
-)	otherlv_2='?' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); 
-	    }
-		lv_trueExp_3_0=ruleIfElseExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"trueExp",
-        		lv_trueExp_3_0, 
-        		"IfElseExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4=':' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); 
-	    }
-		lv_falseExp_5_0=ruleIfElseExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"falseExp",
-        		lv_falseExp_5_0, 
-        		"IfElseExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?)
-;
-
-
-
-
-
-// Entry rule entryRuleBinaryBooleanExpression
-entryRuleBinaryBooleanExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBinaryBooleanExpressionRule()); }
-	 iv_ruleBinaryBooleanExpression=ruleBinaryBooleanExpression 
-	 { $current=$iv_ruleBinaryBooleanExpression.current; } 
-	 EOF 
-;
-
-// Rule BinaryBooleanExpression
-ruleBinaryBooleanExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); 
-    }
-    this_UnaryBooleanExpression_0=ruleUnaryBooleanExpression
-    { 
-        $current = $this_UnaryBooleanExpression_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-((
-    {
-        $current = forceCreateModelElementAndSet(
-            grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0(),
-            $current);
-    }
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); 
-	    }
-		lv_operation_2_0=ruleBooleanOperation		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBinaryBooleanExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_2_0, 
-        		"BooleanOperation");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); 
-	    }
-		lv_right_3_0=ruleUnaryBooleanExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBinaryBooleanExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_3_0, 
-        		"UnaryBooleanExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*)
-;
-
-
-
-
-
-// Entry rule entryRuleUnaryBooleanExpression
-entryRuleUnaryBooleanExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getUnaryBooleanExpressionRule()); }
-	 iv_ruleUnaryBooleanExpression=ruleUnaryBooleanExpression 
-	 { $current=$iv_ruleUnaryBooleanExpression.current; } 
-	 EOF 
-;
-
-// Rule UnaryBooleanExpression
-ruleUnaryBooleanExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((	otherlv_0='NOT' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0());
-    }
-
-    { 
-        newCompositeNode(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); 
-    }
-    this_Comparison_1=ruleComparison
-    { 
-        $current = $this_Comparison_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-(
-    {
-        $current = forceCreateModelElementAndSet(
-            grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2(),
-            $current);
-    }
-))
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); 
-    }
-    this_Comparison_3=ruleComparison
-    { 
-        $current = $this_Comparison_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleComparison
-entryRuleComparison returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getComparisonRule()); }
-	 iv_ruleComparison=ruleComparison 
-	 { $current=$iv_ruleComparison.current; } 
-	 EOF 
-;
-
-// Rule Comparison
-ruleComparison returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); 
-    }
-    this_Term_0=ruleTerm
-    { 
-        $current = $this_Term_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-((
-    {
-        $current = forceCreateModelElementAndSet(
-            grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0(),
-            $current);
-    }
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); 
-	    }
-		lv_operation_2_0=ruleCompareOperation		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getComparisonRule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_2_0, 
-        		"CompareOperation");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); 
-	    }
-		lv_right_3_0=ruleTerm		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getComparisonRule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_3_0, 
-        		"Term");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*)
-;
-
-
-
-
-
-// Entry rule entryRuleTerm
-entryRuleTerm returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getTermRule()); }
-	 iv_ruleTerm=ruleTerm 
-	 { $current=$iv_ruleTerm.current; } 
-	 EOF 
-;
-
-// Rule Term
-ruleTerm returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getProductParserRuleCall_0()); 
-    }
-    this_Product_0=ruleProduct
-    { 
-        $current = $this_Product_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-((
-    {
-        $current = forceCreateModelElementAndSet(
-            grammarAccess.getTermAccess().getTermLeftAction_1_0(),
-            $current);
-    }
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); 
-	    }
-		lv_operation_2_0=ruleTermOperation		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getTermRule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_2_0, 
-        		"TermOperation");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); 
-	    }
-		lv_right_3_0=ruleProduct		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getTermRule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_3_0, 
-        		"Product");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*)
-;
-
-
-
-
-
-// Entry rule entryRuleProduct
-entryRuleProduct returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProductRule()); }
-	 iv_ruleProduct=ruleProduct 
-	 { $current=$iv_ruleProduct.current; } 
-	 EOF 
-;
-
-// Rule Product
-ruleProduct returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); 
-    }
-    this_Power_0=rulePower
-    { 
-        $current = $this_Power_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-((
-    {
-        $current = forceCreateModelElementAndSet(
-            grammarAccess.getProductAccess().getProductLeftAction_1_0(),
-            $current);
-    }
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); 
-	    }
-		lv_operation_2_0=ruleProductOperation		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProductRule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_2_0, 
-        		"ProductOperation");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); 
-	    }
-		lv_right_3_0=rulePower		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProductRule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_3_0, 
-        		"Power");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*)
-;
-
-
-
-
-
-// Entry rule entryRulePower
-entryRulePower returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getPowerRule()); }
-	 iv_rulePower=rulePower 
-	 { $current=$iv_rulePower.current; } 
-	 EOF 
-;
-
-// Rule Power
-rulePower returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); 
-    }
-    this_Atom_0=ruleAtom
-    { 
-        $current = $this_Atom_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-((
-    {
-        $current = forceCreateModelElementAndSet(
-            grammarAccess.getPowerAccess().getPowerBaseAction_1_0(),
-            $current);
-    }
-)	otherlv_2='^' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); 
-	    }
-		lv_exponent_3_0=ruleAtom		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPowerRule());
-	        }
-       		set(
-       			$current, 
-       			"exponent",
-        		lv_exponent_3_0, 
-        		"Atom");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*)
-;
-
-
-
-
-
-// Entry rule entryRuleAtom
-entryRuleAtom returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getAtomRule()); }
-	 iv_ruleAtom=ruleAtom 
-	 { $current=$iv_ruleAtom.current; } 
-	 EOF 
-;
-
-// Rule Atom
-ruleAtom returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); 
-    }
-    this_Literal_0=ruleLiteral
-    { 
-        $current = $this_Literal_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |(	otherlv_1='(' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0());
-    }
-
-    { 
-        newCompositeNode(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); 
-    }
-    this_RootExpression_2=ruleRootExpression
-    { 
-        $current = $this_RootExpression_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-	otherlv_3=')' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2());
-    }
-)
-    |
-    { 
-        newCompositeNode(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); 
-    }
-    this_Function_4=ruleFunction
-    { 
-        $current = $this_Function_4.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleFunction
-entryRuleFunction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getFunctionRule()); }
-	 iv_ruleFunction=ruleFunction 
-	 { $current=$iv_ruleFunction.current; } 
-	 EOF 
-;
-
-// Rule Function
-ruleFunction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-(
-		lv_name_0_0=RULE_ID
-		{
-			newLeafNode(lv_name_0_0, grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); 
-		}
-		{
-	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getFunctionRule());
-	        }
-       		setWithLastConsumed(
-       			$current, 
-       			"name",
-        		lv_name_0_0, 
-        		"ID");
-	    }
-
-)
-)	otherlv_1='(' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1());
-    }
-((
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); 
-	    }
-		lv_parameters_2_0=ruleRootExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFunctionRule());
-	        }
-       		add(
-       			$current, 
-       			"parameters",
-        		lv_parameters_2_0, 
-        		"RootExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_3=',' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); 
-	    }
-		lv_parameters_4_0=ruleRootExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFunctionRule());
-	        }
-       		add(
-       			$current, 
-       			"parameters",
-        		lv_parameters_4_0, 
-        		"RootExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*)?	otherlv_5=')' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleLiteral
-entryRuleLiteral returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getLiteralRule()); }
-	 iv_ruleLiteral=ruleLiteral 
-	 { $current=$iv_ruleLiteral.current; } 
-	 EOF 
-;
-
-// Rule Literal
-ruleLiteral returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); 
-    }
-    this_NumberLiteral_0=ruleNumberLiteral
-    { 
-        $current = $this_NumberLiteral_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); 
-    }
-    this_BooleanLiteral_1=ruleBooleanLiteral
-    { 
-        $current = $this_BooleanLiteral_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); 
-    }
-    this_FormalParameter_2=ruleFormalParameter
-    { 
-        $current = $this_FormalParameter_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleFormalParameter
-entryRuleFormalParameter returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getFormalParameterRule()); }
-	 iv_ruleFormalParameter=ruleFormalParameter 
-	 { $current=$iv_ruleFormalParameter.current; } 
-	 EOF 
-;
-
-// Rule FormalParameter
-ruleFormalParameter returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); 
-	    }
-		lv_value_0_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFormalParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"value",
-        		lv_value_0_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBooleanLiteral
-entryRuleBooleanLiteral returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBooleanLiteralRule()); }
-	 iv_ruleBooleanLiteral=ruleBooleanLiteral 
-	 { $current=$iv_ruleBooleanLiteral.current; } 
-	 EOF 
-;
-
-// Rule BooleanLiteral
-ruleBooleanLiteral returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); 
-	    }
-		lv_value_0_0=ruleEBoolean		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBooleanLiteralRule());
-	        }
-       		set(
-       			$current, 
-       			"value",
-        		lv_value_0_0, 
-        		"EBoolean");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)
-;
-
-
-
-
-
-// Entry rule entryRuleNumberLiteral
-entryRuleNumberLiteral returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getNumberLiteralRule()); }
-	 iv_ruleNumberLiteral=ruleNumberLiteral 
-	 { $current=$iv_ruleNumberLiteral.current; } 
-	 EOF 
-;
-
-// Rule NumberLiteral
-ruleNumberLiteral returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-    }
-    this_IntLiteral_0=ruleIntLiteral
-    { 
-        $current = $this_IntLiteral_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); 
-    }
-    this_DoubleLiteral_1=ruleDoubleLiteral
-    { 
-        $current = $this_DoubleLiteral_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleIntLiteral
-entryRuleIntLiteral returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getIntLiteralRule()); }
-	 iv_ruleIntLiteral=ruleIntLiteral 
-	 { $current=$iv_ruleIntLiteral.current; } 
-	 EOF 
-;
-
-// Rule IntLiteral
-ruleIntLiteral returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); 
-	    }
-		lv_value_0_0=ruleInteger		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getIntLiteralRule());
-	        }
-       		set(
-       			$current, 
-       			"value",
-        		lv_value_0_0, 
-        		"Integer");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)
-;
-
-
-
-
-
-// Entry rule entryRuleDoubleLiteral
-entryRuleDoubleLiteral returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getDoubleLiteralRule()); }
-	 iv_ruleDoubleLiteral=ruleDoubleLiteral 
-	 { $current=$iv_ruleDoubleLiteral.current; } 
-	 EOF 
-;
-
-// Rule DoubleLiteral
-ruleDoubleLiteral returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); 
-	    }
-		lv_value_0_0=ruleDouble		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getDoubleLiteralRule());
-	        }
-       		set(
-       			$current, 
-       			"value",
-        		lv_value_0_0, 
-        		"Double");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)
-;
-
-
-
-
-
-// Rule ProductOperation
-ruleProductOperation returns [Enumerator current=null] 
-    @init { enterRule(); }
-    @after { leaveRule(); }:
-((	enumLiteral_0='*' 
-	{
-        $current = grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_0, grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); 
-    }
-)
-    |(	enumLiteral_1='/' 
-	{
-        $current = grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_1, grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); 
-    }
-)
-    |(	enumLiteral_2='%' 
-	{
-        $current = grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_2, grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); 
-    }
-));
-
-
-
-// Rule TermOperation
-ruleTermOperation returns [Enumerator current=null] 
-    @init { enterRule(); }
-    @after { leaveRule(); }:
-((	enumLiteral_0='+' 
-	{
-        $current = grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_0, grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); 
-    }
-)
-    |(	enumLiteral_1='-' 
-	{
-        $current = grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_1, grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); 
-    }
-));
-
-
-
-// Rule CompareOperation
-ruleCompareOperation returns [Enumerator current=null] 
-    @init { enterRule(); }
-    @after { leaveRule(); }:
-((	enumLiteral_0='>' 
-	{
-        $current = grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_0, grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); 
-    }
-)
-    |(	enumLiteral_1='<' 
-	{
-        $current = grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_1, grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); 
-    }
-)
-    |(	enumLiteral_2='=' 
-	{
-        $current = grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_2, grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); 
-    }
-)
-    |(	enumLiteral_3='!=' 
-	{
-        $current = grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_3, grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); 
-    }
-)
-    |(	enumLiteral_4='<=' 
-	{
-        $current = grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_4, grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); 
-    }
-)
-    |(	enumLiteral_5='>=' 
-	{
-        $current = grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_5, grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); 
-    }
-));
-
-
-
-// Rule BooleanOperation
-ruleBooleanOperation returns [Enumerator current=null] 
-    @init { enterRule(); }
-    @after { leaveRule(); }:
-((	enumLiteral_0='AND' 
-	{
-        $current = grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_0, grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); 
-    }
-)
-    |(	enumLiteral_1='OR' 
-	{
-        $current = grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_1, grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); 
-    }
-)
-    |(	enumLiteral_2='XOR' 
-	{
-        $current = grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-        newLeafNode(enumLiteral_2, grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); 
-    }
-));
-
-
-
-RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
-
-RULE_INT : ('0'..'9')+;
-
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
-
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-RULE_ANY_OTHER : .;
-
-
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens
deleted file mode 100644
index 7bffa1dbb63541505d90bc7c83dc8479c20d5d40..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens
+++ /dev/null
@@ -1,55 +0,0 @@
-RULE_ID=6
-T__29=29
-T__28=28
-T__27=27
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=10
-T__21=21
-T__20=20
-RULE_SL_COMMENT=8
-RULE_ML_COMMENT=7
-T__30=30
-T__19=19
-T__31=31
-RULE_STRING=5
-T__32=32
-T__33=33
-T__16=16
-T__34=34
-T__15=15
-T__18=18
-T__17=17
-T__12=12
-T__11=11
-T__14=14
-T__13=13
-RULE_INT=4
-RULE_WS=9
-'true'=13
-'NOT'=17
-'>='=31
-'/'=23
-'OR'=33
-'>'=26
-'XOR'=34
-'?'=15
-'<='=30
-'!='=29
-'='=28
-'false'=14
-'<'=27
-':'=16
-'('=19
-'-'=11
-'*'=22
-'+'=25
-','=21
-'.'=12
-')'=20
-'AND'=32
-'^'=18
-'%'=24
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslLexer.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslLexer.java
deleted file mode 100644
index f5c9b3f0fca54dac20751c79dc53c0e58e92ce68..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslLexer.java
+++ /dev/null
@@ -1,1525 +0,0 @@
-package org.xtext.example.mydsl.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 InternalMyDslLexer extends Lexer {
-    public static final int RULE_ID=6;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int EOF=-1;
-    public static final int RULE_SL_COMMENT=8;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__30=30;
-    public static final int T__19=19;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int RULE_STRING=5;
-    public static final int T__16=16;
-    public static final int T__33=33;
-    public static final int T__15=15;
-    public static final int T__34=34;
-    public static final int T__18=18;
-    public static final int T__17=17;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int RULE_INT=4;
-    public static final int RULE_WS=9;
-
-    // delegates
-    // delegators
-
-    public InternalMyDslLexer() {;} 
-    public InternalMyDslLexer(CharStream input) {
-        this(input, new RecognizerSharedState());
-    }
-    public InternalMyDslLexer(CharStream input, RecognizerSharedState state) {
-        super(input,state);
-
-    }
-    public String getGrammarFileName() { return "../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g"; }
-
-    // $ANTLR start "T__11"
-    public final void mT__11() throws RecognitionException {
-        try {
-            int _type = T__11;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:11:7: ( '-' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:11:9: '-'
-            {
-            match('-'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__11"
-
-    // $ANTLR start "T__12"
-    public final void mT__12() throws RecognitionException {
-        try {
-            int _type = T__12;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:12:7: ( '.' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:12:9: '.'
-            {
-            match('.'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__12"
-
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
-        try {
-            int _type = T__13;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:13:7: ( 'true' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:13:9: 'true'
-            {
-            match("true"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__13"
-
-    // $ANTLR start "T__14"
-    public final void mT__14() throws RecognitionException {
-        try {
-            int _type = T__14;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:14:7: ( 'false' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:14:9: 'false'
-            {
-            match("false"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__14"
-
-    // $ANTLR start "T__15"
-    public final void mT__15() throws RecognitionException {
-        try {
-            int _type = T__15;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:15:7: ( '?' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:15:9: '?'
-            {
-            match('?'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__15"
-
-    // $ANTLR start "T__16"
-    public final void mT__16() throws RecognitionException {
-        try {
-            int _type = T__16;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:16:7: ( ':' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:16:9: ':'
-            {
-            match(':'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__16"
-
-    // $ANTLR start "T__17"
-    public final void mT__17() throws RecognitionException {
-        try {
-            int _type = T__17;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:17:7: ( 'NOT' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:17:9: 'NOT'
-            {
-            match("NOT"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__17"
-
-    // $ANTLR start "T__18"
-    public final void mT__18() throws RecognitionException {
-        try {
-            int _type = T__18;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:18:7: ( '^' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:18:9: '^'
-            {
-            match('^'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__18"
-
-    // $ANTLR start "T__19"
-    public final void mT__19() throws RecognitionException {
-        try {
-            int _type = T__19;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:19:7: ( '(' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:19:9: '('
-            {
-            match('('); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__19"
-
-    // $ANTLR start "T__20"
-    public final void mT__20() throws RecognitionException {
-        try {
-            int _type = T__20;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:20:7: ( ')' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:20:9: ')'
-            {
-            match(')'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__20"
-
-    // $ANTLR start "T__21"
-    public final void mT__21() throws RecognitionException {
-        try {
-            int _type = T__21;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:21:7: ( ',' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:21:9: ','
-            {
-            match(','); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__21"
-
-    // $ANTLR start "T__22"
-    public final void mT__22() throws RecognitionException {
-        try {
-            int _type = T__22;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:22:7: ( '*' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:22:9: '*'
-            {
-            match('*'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__22"
-
-    // $ANTLR start "T__23"
-    public final void mT__23() throws RecognitionException {
-        try {
-            int _type = T__23;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:23:7: ( '/' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:23:9: '/'
-            {
-            match('/'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__23"
-
-    // $ANTLR start "T__24"
-    public final void mT__24() throws RecognitionException {
-        try {
-            int _type = T__24;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:24:7: ( '%' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:24:9: '%'
-            {
-            match('%'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__24"
-
-    // $ANTLR start "T__25"
-    public final void mT__25() throws RecognitionException {
-        try {
-            int _type = T__25;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:25:7: ( '+' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:25:9: '+'
-            {
-            match('+'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__25"
-
-    // $ANTLR start "T__26"
-    public final void mT__26() throws RecognitionException {
-        try {
-            int _type = T__26;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:26:7: ( '>' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:26:9: '>'
-            {
-            match('>'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__26"
-
-    // $ANTLR start "T__27"
-    public final void mT__27() throws RecognitionException {
-        try {
-            int _type = T__27;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:27:7: ( '<' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:27:9: '<'
-            {
-            match('<'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__27"
-
-    // $ANTLR start "T__28"
-    public final void mT__28() throws RecognitionException {
-        try {
-            int _type = T__28;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:28:7: ( '=' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:28:9: '='
-            {
-            match('='); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__28"
-
-    // $ANTLR start "T__29"
-    public final void mT__29() throws RecognitionException {
-        try {
-            int _type = T__29;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:29:7: ( '!=' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:29:9: '!='
-            {
-            match("!="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__29"
-
-    // $ANTLR start "T__30"
-    public final void mT__30() throws RecognitionException {
-        try {
-            int _type = T__30;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:30:7: ( '<=' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:30:9: '<='
-            {
-            match("<="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__30"
-
-    // $ANTLR start "T__31"
-    public final void mT__31() throws RecognitionException {
-        try {
-            int _type = T__31;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:31:7: ( '>=' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:31:9: '>='
-            {
-            match(">="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__31"
-
-    // $ANTLR start "T__32"
-    public final void mT__32() throws RecognitionException {
-        try {
-            int _type = T__32;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:32:7: ( 'AND' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:32:9: 'AND'
-            {
-            match("AND"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__32"
-
-    // $ANTLR start "T__33"
-    public final void mT__33() throws RecognitionException {
-        try {
-            int _type = T__33;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:33:7: ( 'OR' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:33:9: 'OR'
-            {
-            match("OR"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__33"
-
-    // $ANTLR start "T__34"
-    public final void mT__34() throws RecognitionException {
-        try {
-            int _type = T__34;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:34:7: ( 'XOR' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:34:9: 'XOR'
-            {
-            match("XOR"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__34"
-
-    // $ANTLR start "RULE_ID"
-    public final void mRULE_ID() throws RecognitionException {
-        try {
-            int _type = RULE_ID;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266:11: ( '^' )?
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0=='^') ) {
-                alt1=1;
-            }
-            switch (alt1) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266: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.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop2:
-            do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-
-                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
-                    alt2=1;
-                }
-
-
-                switch (alt2) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop2;
-                }
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ID"
-
-    // $ANTLR start "RULE_INT"
-    public final void mRULE_INT() throws RecognitionException {
-        try {
-            int _type = RULE_INT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1268:10: ( ( '0' .. '9' )+ )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1268:12: ( '0' .. '9' )+
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1268:12: ( '0' .. '9' )+
-            int cnt3=0;
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-
-                if ( ((LA3_0>='0' && LA3_0<='9')) ) {
-                    alt3=1;
-                }
-
-
-                switch (alt3) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1268:13: '0' .. '9'
-            	    {
-            	    matchRange('0','9'); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt3 >= 1 ) break loop3;
-                        EarlyExitException eee =
-                            new EarlyExitException(3, input);
-                        throw eee;
-                }
-                cnt3++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_INT"
-
-    // $ANTLR start "RULE_STRING"
-    public final void mRULE_STRING() throws RecognitionException {
-        try {
-            int _type = RULE_STRING;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0=='\"') ) {
-                alt6=1;
-            }
-            else if ( (LA6_0=='\'') ) {
-                alt6=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
-                    {
-                    match('\"'); 
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop4:
-                    do {
-                        int alt4=3;
-                        int LA4_0 = input.LA(1);
-
-                        if ( (LA4_0=='\\') ) {
-                            alt4=1;
-                        }
-                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
-                            alt4=2;
-                        }
-
-
-                        switch (alt4) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:66: ~ ( ( '\\\\' | '\"' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop4;
-                        }
-                    } while (true);
-
-                    match('\"'); 
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
-                    {
-                    match('\''); 
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop5:
-                    do {
-                        int alt5=3;
-                        int LA5_0 = input.LA(1);
-
-                        if ( (LA5_0=='\\') ) {
-                            alt5=1;
-                        }
-                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
-                            alt5=2;
-                        }
-
-
-                        switch (alt5) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:137: ~ ( ( '\\\\' | '\\'' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop5;
-                        }
-                    } while (true);
-
-                    match('\''); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_STRING"
-
-    // $ANTLR start "RULE_ML_COMMENT"
-    public final void mRULE_ML_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_ML_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1272:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1272:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1272:24: ( options {greedy=false; } : . )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0=='*') ) {
-                    int LA7_1 = input.LA(2);
-
-                    if ( (LA7_1=='/') ) {
-                        alt7=2;
-                    }
-                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
-                        alt7=1;
-                    }
-
-
-                }
-                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
-                    alt7=1;
-                }
-
-
-                switch (alt7) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1272:52: .
-            	    {
-            	    matchAny(); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop7;
-                }
-            } while (true);
-
-            match("*/"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ML_COMMENT"
-
-    // $ANTLR start "RULE_SL_COMMENT"
-    public final void mRULE_SL_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_SL_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop8:
-            do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-
-                if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
-                    alt8=1;
-                }
-
-
-                switch (alt8) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:24: ~ ( ( '\\n' | '\\r' ) )
-            	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop8;
-                }
-            } while (true);
-
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:40: ( ( '\\r' )? '\\n' )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0=='\n'||LA10_0=='\r') ) {
-                alt10=1;
-            }
-            switch (alt10) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:41: ( '\\r' )? '\\n'
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:41: ( '\\r' )?
-                    int alt9=2;
-                    int LA9_0 = input.LA(1);
-
-                    if ( (LA9_0=='\r') ) {
-                        alt9=1;
-                    }
-                    switch (alt9) {
-                        case 1 :
-                            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:41: '\\r'
-                            {
-                            match('\r'); 
-
-                            }
-                            break;
-
-                    }
-
-                    match('\n'); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_SL_COMMENT"
-
-    // $ANTLR start "RULE_WS"
-    public final void mRULE_WS() throws RecognitionException {
-        try {
-            int _type = RULE_WS;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1276:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1276:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1276:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt11=0;
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:
-            	    {
-            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt11 >= 1 ) break loop11;
-                        EarlyExitException eee =
-                            new EarlyExitException(11, input);
-                        throw eee;
-                }
-                cnt11++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_WS"
-
-    // $ANTLR start "RULE_ANY_OTHER"
-    public final void mRULE_ANY_OTHER() throws RecognitionException {
-        try {
-            int _type = RULE_ANY_OTHER;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1278:16: ( . )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1278:18: .
-            {
-            matchAny(); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ANY_OTHER"
-
-    public void mTokens() throws RecognitionException {
-        // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=31;
-        alt12 = dfa12.predict(input);
-        switch (alt12) {
-            case 1 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:10: T__11
-                {
-                mT__11(); 
-
-                }
-                break;
-            case 2 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:16: T__12
-                {
-                mT__12(); 
-
-                }
-                break;
-            case 3 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:22: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 4 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:28: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 5 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:34: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 6 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:40: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 7 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:46: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 8 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:52: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 9 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:58: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 10 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:64: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 11 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:70: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 12 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:76: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 13 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:82: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 14 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:88: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 15 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:94: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 16 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:100: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 17 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:106: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 18 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:112: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 19 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:118: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 20 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:124: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 21 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:130: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 22 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:136: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 23 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:142: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 24 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:148: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 25 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:154: RULE_ID
-                {
-                mRULE_ID(); 
-
-                }
-                break;
-            case 26 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:162: RULE_INT
-                {
-                mRULE_INT(); 
-
-                }
-                break;
-            case 27 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:171: RULE_STRING
-                {
-                mRULE_STRING(); 
-
-                }
-                break;
-            case 28 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:183: RULE_ML_COMMENT
-                {
-                mRULE_ML_COMMENT(); 
-
-                }
-                break;
-            case 29 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:199: RULE_SL_COMMENT
-                {
-                mRULE_SL_COMMENT(); 
-
-                }
-                break;
-            case 30 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:215: RULE_WS
-                {
-                mRULE_WS(); 
-
-                }
-                break;
-            case 31 :
-                // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:223: RULE_ANY_OTHER
-                {
-                mRULE_ANY_OTHER(); 
-
-                }
-                break;
-
-        }
-
-    }
-
-
-    protected DFA12 dfa12 = new DFA12(this);
-    static final String DFA12_eotS =
-        "\3\uffff\2\40\2\uffff\1\40\1\45\4\uffff\1\54\2\uffff\1\60\1\62\1"+
-        "\uffff\1\34\3\40\2\uffff\2\34\4\uffff\1\40\1\uffff\1\40\2\uffff"+
-        "\1\40\20\uffff\1\40\1\77\1\40\3\uffff\2\40\1\103\1\104\1\uffff\1"+
-        "\105\1\106\1\40\4\uffff\1\110\1\uffff";
-    static final String DFA12_eofS =
-        "\111\uffff";
-    static final String DFA12_minS =
-        "\1\0\2\uffff\1\162\1\141\2\uffff\1\117\1\101\4\uffff\1\52\2\uffff"+
-        "\2\75\1\uffff\1\75\1\116\1\122\1\117\2\uffff\2\0\4\uffff\1\165\1"+
-        "\uffff\1\154\2\uffff\1\124\20\uffff\1\104\1\60\1\122\3\uffff\1\145"+
-        "\1\163\2\60\1\uffff\2\60\1\145\4\uffff\1\60\1\uffff";
-    static final String DFA12_maxS =
-        "\1\uffff\2\uffff\1\162\1\141\2\uffff\1\117\1\172\4\uffff\1\57\2"+
-        "\uffff\2\75\1\uffff\1\75\1\116\1\122\1\117\2\uffff\2\uffff\4\uffff"+
-        "\1\165\1\uffff\1\154\2\uffff\1\124\20\uffff\1\104\1\172\1\122\3"+
-        "\uffff\1\145\1\163\2\172\1\uffff\2\172\1\145\4\uffff\1\172\1\uffff";
-    static final String DFA12_acceptS =
-        "\1\uffff\1\1\1\2\2\uffff\1\5\1\6\2\uffff\1\11\1\12\1\13\1\14\1\uffff"+
-        "\1\16\1\17\2\uffff\1\22\4\uffff\1\31\1\32\2\uffff\1\36\1\37\1\1"+
-        "\1\2\1\uffff\1\31\1\uffff\1\5\1\6\1\uffff\1\10\1\11\1\12\1\13\1"+
-        "\14\1\34\1\35\1\15\1\16\1\17\1\25\1\20\1\24\1\21\1\22\1\23\3\uffff"+
-        "\1\32\1\33\1\36\4\uffff\1\27\3\uffff\1\7\1\26\1\30\1\3\1\uffff\1"+
-        "\4";
-    static final String DFA12_specialS =
-        "\1\1\30\uffff\1\0\1\2\56\uffff}>";
-    static final String[] DFA12_transitionS = {
-            "\11\34\2\33\2\34\1\33\22\34\1\33\1\23\1\31\2\34\1\16\1\34\1"+
-            "\32\1\11\1\12\1\14\1\17\1\13\1\1\1\2\1\15\12\30\1\6\1\34\1\21"+
-            "\1\22\1\20\1\5\1\34\1\24\14\27\1\7\1\25\10\27\1\26\2\27\3\34"+
-            "\1\10\1\27\1\34\5\27\1\4\15\27\1\3\6\27\uff85\34",
-            "",
-            "",
-            "\1\37",
-            "\1\41",
-            "",
-            "",
-            "\1\44",
-            "\32\40\4\uffff\1\40\1\uffff\32\40",
-            "",
-            "",
-            "",
-            "",
-            "\1\52\4\uffff\1\53",
-            "",
-            "",
-            "\1\57",
-            "\1\61",
-            "",
-            "\1\64",
-            "\1\65",
-            "\1\66",
-            "\1\67",
-            "",
-            "",
-            "\0\71",
-            "\0\71",
-            "",
-            "",
-            "",
-            "",
-            "\1\73",
-            "",
-            "\1\74",
-            "",
-            "",
-            "\1\75",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\76",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\100",
-            "",
-            "",
-            "",
-            "\1\101",
-            "\1\102",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\107",
-            "",
-            "",
-            "",
-            "",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            ""
-    };
-
-    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
-    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
-    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
-    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
-    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
-    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
-    static final short[][] DFA12_transition;
-
-    static {
-        int numStates = DFA12_transitionS.length;
-        DFA12_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
-        }
-    }
-
-    class DFA12 extends DFA {
-
-        public DFA12(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 12;
-            this.eot = DFA12_eot;
-            this.eof = DFA12_eof;
-            this.min = DFA12_min;
-            this.max = DFA12_max;
-            this.accept = DFA12_accept;
-            this.special = DFA12_special;
-            this.transition = DFA12_transition;
-        }
-        public String getDescription() {
-            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            IntStream input = _input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA12_25 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 57;}
-
-                        else s = 28;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA12_0 = input.LA(1);
-
-                        s = -1;
-                        if ( (LA12_0=='-') ) {s = 1;}
-
-                        else if ( (LA12_0=='.') ) {s = 2;}
-
-                        else if ( (LA12_0=='t') ) {s = 3;}
-
-                        else if ( (LA12_0=='f') ) {s = 4;}
-
-                        else if ( (LA12_0=='?') ) {s = 5;}
-
-                        else if ( (LA12_0==':') ) {s = 6;}
-
-                        else if ( (LA12_0=='N') ) {s = 7;}
-
-                        else if ( (LA12_0=='^') ) {s = 8;}
-
-                        else if ( (LA12_0=='(') ) {s = 9;}
-
-                        else if ( (LA12_0==')') ) {s = 10;}
-
-                        else if ( (LA12_0==',') ) {s = 11;}
-
-                        else if ( (LA12_0=='*') ) {s = 12;}
-
-                        else if ( (LA12_0=='/') ) {s = 13;}
-
-                        else if ( (LA12_0=='%') ) {s = 14;}
-
-                        else if ( (LA12_0=='+') ) {s = 15;}
-
-                        else if ( (LA12_0=='>') ) {s = 16;}
-
-                        else if ( (LA12_0=='<') ) {s = 17;}
-
-                        else if ( (LA12_0=='=') ) {s = 18;}
-
-                        else if ( (LA12_0=='!') ) {s = 19;}
-
-                        else if ( (LA12_0=='A') ) {s = 20;}
-
-                        else if ( (LA12_0=='O') ) {s = 21;}
-
-                        else if ( (LA12_0=='X') ) {s = 22;}
-
-                        else if ( ((LA12_0>='B' && LA12_0<='M')||(LA12_0>='P' && LA12_0<='W')||(LA12_0>='Y' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='e')||(LA12_0>='g' && LA12_0<='s')||(LA12_0>='u' && LA12_0<='z')) ) {s = 23;}
-
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;}
-
-                        else if ( (LA12_0=='\"') ) {s = 25;}
-
-                        else if ( (LA12_0=='\'') ) {s = 26;}
-
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 27;}
-
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||LA12_0==';'||LA12_0=='@'||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 28;}
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA12_26 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 57;}
-
-                        else s = 28;
-
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 12, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
- 
-
-}
\ No newline at end of file
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslParser.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslParser.java
deleted file mode 100644
index 33e0a2fe26ab9d3ddc49b43a9eaf403f92217147..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslParser.java
+++ /dev/null
@@ -1,3670 +0,0 @@
-package org.xtext.example.mydsl.parser.antlr.internal; 
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.common.util.Enumerator;
-import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import org.xtext.example.mydsl.services.MyDslGrammarAccess;
-
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalMyDslParser extends AbstractInternalAntlrParser {
-    public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_STRING", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'-'", "'.'", "'true'", "'false'", "'?'", "':'", "'NOT'", "'^'", "'('", "')'", "','", "'*'", "'/'", "'%'", "'+'", "'>'", "'<'", "'='", "'!='", "'<='", "'>='", "'AND'", "'OR'", "'XOR'"
-    };
-    public static final int RULE_ID=6;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int RULE_SL_COMMENT=8;
-    public static final int EOF=-1;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__30=30;
-    public static final int T__19=19;
-    public static final int T__31=31;
-    public static final int RULE_STRING=5;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__16=16;
-    public static final int T__34=34;
-    public static final int T__15=15;
-    public static final int T__18=18;
-    public static final int T__17=17;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int RULE_INT=4;
-    public static final int RULE_WS=9;
-
-    // delegates
-    // delegators
-
-
-        public InternalMyDslParser(TokenStream input) {
-            this(input, new RecognizerSharedState());
-        }
-        public InternalMyDslParser(TokenStream input, RecognizerSharedState state) {
-            super(input, state);
-             
-        }
-        
-
-    public String[] getTokenNames() { return InternalMyDslParser.tokenNames; }
-    public String getGrammarFileName() { return "../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g"; }
-
-
-
-     	private MyDslGrammarAccess grammarAccess;
-     	
-        public InternalMyDslParser(TokenStream input, MyDslGrammarAccess grammarAccess) {
-            this(input);
-            this.grammarAccess = grammarAccess;
-            registerRules(grammarAccess.getGrammar());
-        }
-        
-        @Override
-        protected String getFirstRuleName() {
-        	return "Model";	
-       	}
-       	
-       	@Override
-       	protected MyDslGrammarAccess getGrammarAccess() {
-       		return grammarAccess;
-       	}
-
-
-
-    // $ANTLR start "entryRuleModel"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:68:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ;
-    public final EObject entryRuleModel() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleModel = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:69:2: (iv_ruleModel= ruleModel EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:70:2: iv_ruleModel= ruleModel EOF
-            {
-             newCompositeNode(grammarAccess.getModelRule()); 
-            pushFollow(FOLLOW_ruleModel_in_entryRuleModel75);
-            iv_ruleModel=ruleModel();
-
-            state._fsp--;
-
-             current =iv_ruleModel; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleModel85); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleModel"
-
-
-    // $ANTLR start "ruleModel"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:77:1: ruleModel returns [EObject current=null] : ( (lv_terms_0_0= ruleIfElseExpression ) ) ;
-    public final EObject ruleModel() throws RecognitionException {
-        EObject current = null;
-
-        EObject lv_terms_0_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:80:28: ( ( (lv_terms_0_0= ruleIfElseExpression ) ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:81:1: ( (lv_terms_0_0= ruleIfElseExpression ) )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:81:1: ( (lv_terms_0_0= ruleIfElseExpression ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:82:1: (lv_terms_0_0= ruleIfElseExpression )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:82:1: (lv_terms_0_0= ruleIfElseExpression )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:83:3: lv_terms_0_0= ruleIfElseExpression
-            {
-             
-            	        newCompositeNode(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); 
-            	    
-            pushFollow(FOLLOW_ruleIfElseExpression_in_ruleModel130);
-            lv_terms_0_0=ruleIfElseExpression();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getModelRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"terms",
-                    		lv_terms_0_0, 
-                    		"IfElseExpression");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleModel"
-
-
-    // $ANTLR start "entryRuleDouble"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:107:1: entryRuleDouble returns [String current=null] : iv_ruleDouble= ruleDouble EOF ;
-    public final String entryRuleDouble() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDouble = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:108:2: (iv_ruleDouble= ruleDouble EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:109:2: iv_ruleDouble= ruleDouble EOF
-            {
-             newCompositeNode(grammarAccess.getDoubleRule()); 
-            pushFollow(FOLLOW_ruleDouble_in_entryRuleDouble166);
-            iv_ruleDouble=ruleDouble();
-
-            state._fsp--;
-
-             current =iv_ruleDouble.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDouble177); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDouble"
-
-
-    // $ANTLR start "ruleDouble"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:116:1: ruleDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleDouble() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_1=null;
-        Token this_INT_3=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:119:28: ( ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:1: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:1: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:2: (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:2: (kw= '-' )?
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0==11) ) {
-                alt1=1;
-            }
-            switch (alt1) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:121:2: kw= '-'
-                    {
-                    kw=(Token)match(input,11,FOLLOW_11_in_ruleDouble216); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_1=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDouble233); 
-
-            		current.merge(this_INT_1);
-                
-             
-                newLeafNode(this_INT_1, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,12,FOLLOW_12_in_ruleDouble251); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDoubleAccess().getFullStopKeyword_2()); 
-                
-            this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDouble266); 
-
-            		current.merge(this_INT_3);
-                
-             
-                newLeafNode(this_INT_3, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDouble"
-
-
-    // $ANTLR start "entryRuleInteger"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:154:1: entryRuleInteger returns [String current=null] : iv_ruleInteger= ruleInteger EOF ;
-    public final String entryRuleInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleInteger = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:155:2: (iv_ruleInteger= ruleInteger EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:156:2: iv_ruleInteger= ruleInteger EOF
-            {
-             newCompositeNode(grammarAccess.getIntegerRule()); 
-            pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger312);
-            iv_ruleInteger=ruleInteger();
-
-            state._fsp--;
-
-             current =iv_ruleInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger323); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleInteger"
-
-
-    // $ANTLR start "ruleInteger"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:163:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:166:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:167:1: ( (kw= '-' )? this_INT_1= RULE_INT )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:167:1: ( (kw= '-' )? this_INT_1= RULE_INT )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:167:2: (kw= '-' )? this_INT_1= RULE_INT
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:167:2: (kw= '-' )?
-            int alt2=2;
-            int LA2_0 = input.LA(1);
-
-            if ( (LA2_0==11) ) {
-                alt2=1;
-            }
-            switch (alt2) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:168:2: kw= '-'
-                    {
-                    kw=(Token)match(input,11,FOLLOW_11_in_ruleInteger362); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_1=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleInteger379); 
-
-            		current.merge(this_INT_1);
-                
-             
-                newLeafNode(this_INT_1, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleInteger"
-
-
-    // $ANTLR start "entryRuleEString"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:188:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
-    public final String entryRuleEString() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEString = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:189:2: (iv_ruleEString= ruleEString EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:190:2: iv_ruleEString= ruleEString EOF
-            {
-             newCompositeNode(grammarAccess.getEStringRule()); 
-            pushFollow(FOLLOW_ruleEString_in_entryRuleEString425);
-            iv_ruleEString=ruleEString();
-
-            state._fsp--;
-
-             current =iv_ruleEString.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEString436); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEString"
-
-
-    // $ANTLR start "ruleEString"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:197:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ;
-    public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_STRING_0=null;
-        Token this_ID_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:200:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:201:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:201:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0==RULE_STRING) ) {
-                alt3=1;
-            }
-            else if ( (LA3_0==RULE_ID) ) {
-                alt3=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:201:6: this_STRING_0= RULE_STRING
-                    {
-                    this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEString476); 
-
-                    		current.merge(this_STRING_0);
-                        
-                     
-                        newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:209:10: this_ID_1= RULE_ID
-                    {
-                    this_ID_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEString502); 
-
-                    		current.merge(this_ID_1);
-                        
-                     
-                        newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEString"
-
-
-    // $ANTLR start "entryRuleEBoolean"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:224:1: entryRuleEBoolean returns [String current=null] : iv_ruleEBoolean= ruleEBoolean EOF ;
-    public final String entryRuleEBoolean() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEBoolean = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:225:2: (iv_ruleEBoolean= ruleEBoolean EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:226:2: iv_ruleEBoolean= ruleEBoolean EOF
-            {
-             newCompositeNode(grammarAccess.getEBooleanRule()); 
-            pushFollow(FOLLOW_ruleEBoolean_in_entryRuleEBoolean548);
-            iv_ruleEBoolean=ruleEBoolean();
-
-            state._fsp--;
-
-             current =iv_ruleEBoolean.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEBoolean559); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEBoolean"
-
-
-    // $ANTLR start "ruleEBoolean"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:233:1: ruleEBoolean returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'true' | kw= 'false' ) ;
-    public final AntlrDatatypeRuleToken ruleEBoolean() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:236:28: ( (kw= 'true' | kw= 'false' ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:237:1: (kw= 'true' | kw= 'false' )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:237:1: (kw= 'true' | kw= 'false' )
-            int alt4=2;
-            int LA4_0 = input.LA(1);
-
-            if ( (LA4_0==13) ) {
-                alt4=1;
-            }
-            else if ( (LA4_0==14) ) {
-                alt4=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 4, 0, input);
-
-                throw nvae;
-            }
-            switch (alt4) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:238:2: kw= 'true'
-                    {
-                    kw=(Token)match(input,13,FOLLOW_13_in_ruleEBoolean597); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getEBooleanAccess().getTrueKeyword_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:245:2: kw= 'false'
-                    {
-                    kw=(Token)match(input,14,FOLLOW_14_in_ruleEBoolean616); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getEBooleanAccess().getFalseKeyword_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEBoolean"
-
-
-    // $ANTLR start "entryRuleRootExpression"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:258:1: entryRuleRootExpression returns [EObject current=null] : iv_ruleRootExpression= ruleRootExpression EOF ;
-    public final EObject entryRuleRootExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleRootExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:259:2: (iv_ruleRootExpression= ruleRootExpression EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:260:2: iv_ruleRootExpression= ruleRootExpression EOF
-            {
-             newCompositeNode(grammarAccess.getRootExpressionRule()); 
-            pushFollow(FOLLOW_ruleRootExpression_in_entryRuleRootExpression656);
-            iv_ruleRootExpression=ruleRootExpression();
-
-            state._fsp--;
-
-             current =iv_ruleRootExpression; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRootExpression666); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleRootExpression"
-
-
-    // $ANTLR start "ruleRootExpression"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:267:1: ruleRootExpression returns [EObject current=null] : this_IfElseExpression_0= ruleIfElseExpression ;
-    public final EObject ruleRootExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_IfElseExpression_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:270:28: (this_IfElseExpression_0= ruleIfElseExpression )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:272:5: this_IfElseExpression_0= ruleIfElseExpression
-            {
-             
-                    newCompositeNode(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); 
-                
-            pushFollow(FOLLOW_ruleIfElseExpression_in_ruleRootExpression712);
-            this_IfElseExpression_0=ruleIfElseExpression();
-
-            state._fsp--;
-
-             
-                    current = this_IfElseExpression_0; 
-                    afterParserOrEnumRuleCall();
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleRootExpression"
-
-
-    // $ANTLR start "entryRuleIfElseExpression"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:288:1: entryRuleIfElseExpression returns [EObject current=null] : iv_ruleIfElseExpression= ruleIfElseExpression EOF ;
-    public final EObject entryRuleIfElseExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleIfElseExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:289:2: (iv_ruleIfElseExpression= ruleIfElseExpression EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:290:2: iv_ruleIfElseExpression= ruleIfElseExpression EOF
-            {
-             newCompositeNode(grammarAccess.getIfElseExpressionRule()); 
-            pushFollow(FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression746);
-            iv_ruleIfElseExpression=ruleIfElseExpression();
-
-            state._fsp--;
-
-             current =iv_ruleIfElseExpression; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleIfElseExpression756); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleIfElseExpression"
-
-
-    // $ANTLR start "ruleIfElseExpression"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:297:1: ruleIfElseExpression returns [EObject current=null] : (this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? ) ;
-    public final EObject ruleIfElseExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        EObject this_BinaryBooleanExpression_0 = null;
-
-        EObject lv_trueExp_3_0 = null;
-
-        EObject lv_falseExp_5_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:300:28: ( (this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:301:1: (this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:301:1: (this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:302:5: this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )?
-            {
-             
-                    newCompositeNode(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); 
-                
-            pushFollow(FOLLOW_ruleBinaryBooleanExpression_in_ruleIfElseExpression803);
-            this_BinaryBooleanExpression_0=ruleBinaryBooleanExpression();
-
-            state._fsp--;
-
-             
-                    current = this_BinaryBooleanExpression_0; 
-                    afterParserOrEnumRuleCall();
-                
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:310:1: ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
-
-            if ( (LA5_0==15) ) {
-                alt5=1;
-            }
-            switch (alt5) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:310:2: () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:310:2: ()
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:311:5: 
-                    {
-
-                            current = forceCreateModelElementAndSet(
-                                grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0(),
-                                current);
-                        
-
-                    }
-
-                    otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleIfElseExpression824); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1());
-                        
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:320:1: ( (lv_trueExp_3_0= ruleIfElseExpression ) )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:321:1: (lv_trueExp_3_0= ruleIfElseExpression )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:321:1: (lv_trueExp_3_0= ruleIfElseExpression )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:322:3: lv_trueExp_3_0= ruleIfElseExpression
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); 
-                    	    
-                    pushFollow(FOLLOW_ruleIfElseExpression_in_ruleIfElseExpression845);
-                    lv_trueExp_3_0=ruleIfElseExpression();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"trueExp",
-                            		lv_trueExp_3_0, 
-                            		"IfElseExpression");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    otherlv_4=(Token)match(input,16,FOLLOW_16_in_ruleIfElseExpression857); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3());
-                        
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:342:1: ( (lv_falseExp_5_0= ruleIfElseExpression ) )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:343:1: (lv_falseExp_5_0= ruleIfElseExpression )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:343:1: (lv_falseExp_5_0= ruleIfElseExpression )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:344:3: lv_falseExp_5_0= ruleIfElseExpression
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); 
-                    	    
-                    pushFollow(FOLLOW_ruleIfElseExpression_in_ruleIfElseExpression878);
-                    lv_falseExp_5_0=ruleIfElseExpression();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"falseExp",
-                            		lv_falseExp_5_0, 
-                            		"IfElseExpression");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleIfElseExpression"
-
-
-    // $ANTLR start "entryRuleBinaryBooleanExpression"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:368:1: entryRuleBinaryBooleanExpression returns [EObject current=null] : iv_ruleBinaryBooleanExpression= ruleBinaryBooleanExpression EOF ;
-    public final EObject entryRuleBinaryBooleanExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBinaryBooleanExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:369:2: (iv_ruleBinaryBooleanExpression= ruleBinaryBooleanExpression EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:370:2: iv_ruleBinaryBooleanExpression= ruleBinaryBooleanExpression EOF
-            {
-             newCompositeNode(grammarAccess.getBinaryBooleanExpressionRule()); 
-            pushFollow(FOLLOW_ruleBinaryBooleanExpression_in_entryRuleBinaryBooleanExpression916);
-            iv_ruleBinaryBooleanExpression=ruleBinaryBooleanExpression();
-
-            state._fsp--;
-
-             current =iv_ruleBinaryBooleanExpression; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleBinaryBooleanExpression926); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBinaryBooleanExpression"
-
-
-    // $ANTLR start "ruleBinaryBooleanExpression"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:377:1: ruleBinaryBooleanExpression returns [EObject current=null] : (this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* ) ;
-    public final EObject ruleBinaryBooleanExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_UnaryBooleanExpression_0 = null;
-
-        Enumerator lv_operation_2_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:380:28: ( (this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:381:1: (this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:381:1: (this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:382:5: this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )*
-            {
-             
-                    newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); 
-                
-            pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_ruleBinaryBooleanExpression973);
-            this_UnaryBooleanExpression_0=ruleUnaryBooleanExpression();
-
-            state._fsp--;
-
-             
-                    current = this_UnaryBooleanExpression_0; 
-                    afterParserOrEnumRuleCall();
-                
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:390:1: ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )*
-            loop6:
-            do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
-
-                if ( ((LA6_0>=32 && LA6_0<=34)) ) {
-                    alt6=1;
-                }
-
-
-                switch (alt6) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:390:2: () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:390:2: ()
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:391:5: 
-            	    {
-
-            	            current = forceCreateModelElementAndSet(
-            	                grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0(),
-            	                current);
-            	        
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:396:2: ( (lv_operation_2_0= ruleBooleanOperation ) )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:397:1: (lv_operation_2_0= ruleBooleanOperation )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:397:1: (lv_operation_2_0= ruleBooleanOperation )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:398:3: lv_operation_2_0= ruleBooleanOperation
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_ruleBooleanOperation_in_ruleBinaryBooleanExpression1003);
-            	    lv_operation_2_0=ruleBooleanOperation();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getBinaryBooleanExpressionRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"operation",
-            	            		lv_operation_2_0, 
-            	            		"BooleanOperation");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:414:2: ( (lv_right_3_0= ruleUnaryBooleanExpression ) )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:415:1: (lv_right_3_0= ruleUnaryBooleanExpression )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:415:1: (lv_right_3_0= ruleUnaryBooleanExpression )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:416:3: lv_right_3_0= ruleUnaryBooleanExpression
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_ruleBinaryBooleanExpression1024);
-            	    lv_right_3_0=ruleUnaryBooleanExpression();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getBinaryBooleanExpressionRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"right",
-            	            		lv_right_3_0, 
-            	            		"UnaryBooleanExpression");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop6;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBinaryBooleanExpression"
-
-
-    // $ANTLR start "entryRuleUnaryBooleanExpression"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:440:1: entryRuleUnaryBooleanExpression returns [EObject current=null] : iv_ruleUnaryBooleanExpression= ruleUnaryBooleanExpression EOF ;
-    public final EObject entryRuleUnaryBooleanExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleUnaryBooleanExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:441:2: (iv_ruleUnaryBooleanExpression= ruleUnaryBooleanExpression EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:442:2: iv_ruleUnaryBooleanExpression= ruleUnaryBooleanExpression EOF
-            {
-             newCompositeNode(grammarAccess.getUnaryBooleanExpressionRule()); 
-            pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_entryRuleUnaryBooleanExpression1062);
-            iv_ruleUnaryBooleanExpression=ruleUnaryBooleanExpression();
-
-            state._fsp--;
-
-             current =iv_ruleUnaryBooleanExpression; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleUnaryBooleanExpression1072); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleUnaryBooleanExpression"
-
-
-    // $ANTLR start "ruleUnaryBooleanExpression"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:449:1: ruleUnaryBooleanExpression returns [EObject current=null] : ( (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) | this_Comparison_3= ruleComparison ) ;
-    public final EObject ruleUnaryBooleanExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        EObject this_Comparison_1 = null;
-
-        EObject this_Comparison_3 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:452:28: ( ( (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) | this_Comparison_3= ruleComparison ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:1: ( (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) | this_Comparison_3= ruleComparison )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:1: ( (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) | this_Comparison_3= ruleComparison )
-            int alt7=2;
-            int LA7_0 = input.LA(1);
-
-            if ( (LA7_0==17) ) {
-                alt7=1;
-            }
-            else if ( ((LA7_0>=RULE_INT && LA7_0<=RULE_ID)||LA7_0==11||(LA7_0>=13 && LA7_0<=14)||LA7_0==19) ) {
-                alt7=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 7, 0, input);
-
-                throw nvae;
-            }
-            switch (alt7) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:2: (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:2: (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:4: otherlv_0= 'NOT' this_Comparison_1= ruleComparison ()
-                    {
-                    otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleUnaryBooleanExpression1110); 
-
-                        	newLeafNode(otherlv_0, grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0());
-                        
-                     
-                            newCompositeNode(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); 
-                        
-                    pushFollow(FOLLOW_ruleComparison_in_ruleUnaryBooleanExpression1132);
-                    this_Comparison_1=ruleComparison();
-
-                    state._fsp--;
-
-                     
-                            current = this_Comparison_1; 
-                            afterParserOrEnumRuleCall();
-                        
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:466:1: ()
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:467:5: 
-                    {
-
-                            current = forceCreateModelElementAndSet(
-                                grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2(),
-                                current);
-                        
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:474:5: this_Comparison_3= ruleComparison
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleComparison_in_ruleUnaryBooleanExpression1169);
-                    this_Comparison_3=ruleComparison();
-
-                    state._fsp--;
-
-                     
-                            current = this_Comparison_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleUnaryBooleanExpression"
-
-
-    // $ANTLR start "entryRuleComparison"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:490:1: entryRuleComparison returns [EObject current=null] : iv_ruleComparison= ruleComparison EOF ;
-    public final EObject entryRuleComparison() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleComparison = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:491:2: (iv_ruleComparison= ruleComparison EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:492:2: iv_ruleComparison= ruleComparison EOF
-            {
-             newCompositeNode(grammarAccess.getComparisonRule()); 
-            pushFollow(FOLLOW_ruleComparison_in_entryRuleComparison1204);
-            iv_ruleComparison=ruleComparison();
-
-            state._fsp--;
-
-             current =iv_ruleComparison; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleComparison1214); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleComparison"
-
-
-    // $ANTLR start "ruleComparison"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:499:1: ruleComparison returns [EObject current=null] : (this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* ) ;
-    public final EObject ruleComparison() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_Term_0 = null;
-
-        Enumerator lv_operation_2_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:502:28: ( (this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:503:1: (this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:503:1: (this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:504:5: this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )*
-            {
-             
-                    newCompositeNode(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); 
-                
-            pushFollow(FOLLOW_ruleTerm_in_ruleComparison1261);
-            this_Term_0=ruleTerm();
-
-            state._fsp--;
-
-             
-                    current = this_Term_0; 
-                    afterParserOrEnumRuleCall();
-                
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:512:1: ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )*
-            loop8:
-            do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-
-                if ( ((LA8_0>=26 && LA8_0<=31)) ) {
-                    alt8=1;
-                }
-
-
-                switch (alt8) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:512:2: () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:512:2: ()
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:513:5: 
-            	    {
-
-            	            current = forceCreateModelElementAndSet(
-            	                grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0(),
-            	                current);
-            	        
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:518:2: ( (lv_operation_2_0= ruleCompareOperation ) )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:519:1: (lv_operation_2_0= ruleCompareOperation )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:519:1: (lv_operation_2_0= ruleCompareOperation )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:520:3: lv_operation_2_0= ruleCompareOperation
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_ruleCompareOperation_in_ruleComparison1291);
-            	    lv_operation_2_0=ruleCompareOperation();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getComparisonRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"operation",
-            	            		lv_operation_2_0, 
-            	            		"CompareOperation");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:536:2: ( (lv_right_3_0= ruleTerm ) )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:537:1: (lv_right_3_0= ruleTerm )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:537:1: (lv_right_3_0= ruleTerm )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:538:3: lv_right_3_0= ruleTerm
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_ruleTerm_in_ruleComparison1312);
-            	    lv_right_3_0=ruleTerm();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getComparisonRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"right",
-            	            		lv_right_3_0, 
-            	            		"Term");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop8;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleComparison"
-
-
-    // $ANTLR start "entryRuleTerm"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:562:1: entryRuleTerm returns [EObject current=null] : iv_ruleTerm= ruleTerm EOF ;
-    public final EObject entryRuleTerm() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleTerm = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:563:2: (iv_ruleTerm= ruleTerm EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:564:2: iv_ruleTerm= ruleTerm EOF
-            {
-             newCompositeNode(grammarAccess.getTermRule()); 
-            pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm1350);
-            iv_ruleTerm=ruleTerm();
-
-            state._fsp--;
-
-             current =iv_ruleTerm; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleTerm1360); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleTerm"
-
-
-    // $ANTLR start "ruleTerm"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:571:1: ruleTerm returns [EObject current=null] : (this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* ) ;
-    public final EObject ruleTerm() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_Product_0 = null;
-
-        Enumerator lv_operation_2_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:574:28: ( (this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:575:1: (this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:575:1: (this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:576:5: this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )*
-            {
-             
-                    newCompositeNode(grammarAccess.getTermAccess().getProductParserRuleCall_0()); 
-                
-            pushFollow(FOLLOW_ruleProduct_in_ruleTerm1407);
-            this_Product_0=ruleProduct();
-
-            state._fsp--;
-
-             
-                    current = this_Product_0; 
-                    afterParserOrEnumRuleCall();
-                
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:584:1: ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )*
-            loop9:
-            do {
-                int alt9=2;
-                int LA9_0 = input.LA(1);
-
-                if ( (LA9_0==11||LA9_0==25) ) {
-                    alt9=1;
-                }
-
-
-                switch (alt9) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:584:2: () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:584:2: ()
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:585:5: 
-            	    {
-
-            	            current = forceCreateModelElementAndSet(
-            	                grammarAccess.getTermAccess().getTermLeftAction_1_0(),
-            	                current);
-            	        
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:590:2: ( (lv_operation_2_0= ruleTermOperation ) )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:591:1: (lv_operation_2_0= ruleTermOperation )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:591:1: (lv_operation_2_0= ruleTermOperation )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:592:3: lv_operation_2_0= ruleTermOperation
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_ruleTermOperation_in_ruleTerm1437);
-            	    lv_operation_2_0=ruleTermOperation();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getTermRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"operation",
-            	            		lv_operation_2_0, 
-            	            		"TermOperation");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:608:2: ( (lv_right_3_0= ruleProduct ) )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:609:1: (lv_right_3_0= ruleProduct )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:609:1: (lv_right_3_0= ruleProduct )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:610:3: lv_right_3_0= ruleProduct
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_ruleProduct_in_ruleTerm1458);
-            	    lv_right_3_0=ruleProduct();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getTermRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"right",
-            	            		lv_right_3_0, 
-            	            		"Product");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop9;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleTerm"
-
-
-    // $ANTLR start "entryRuleProduct"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:634:1: entryRuleProduct returns [EObject current=null] : iv_ruleProduct= ruleProduct EOF ;
-    public final EObject entryRuleProduct() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProduct = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:635:2: (iv_ruleProduct= ruleProduct EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:636:2: iv_ruleProduct= ruleProduct EOF
-            {
-             newCompositeNode(grammarAccess.getProductRule()); 
-            pushFollow(FOLLOW_ruleProduct_in_entryRuleProduct1496);
-            iv_ruleProduct=ruleProduct();
-
-            state._fsp--;
-
-             current =iv_ruleProduct; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleProduct1506); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProduct"
-
-
-    // $ANTLR start "ruleProduct"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:643:1: ruleProduct returns [EObject current=null] : (this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* ) ;
-    public final EObject ruleProduct() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_Power_0 = null;
-
-        Enumerator lv_operation_2_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:646:28: ( (this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:647:1: (this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:647:1: (this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:648:5: this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )*
-            {
-             
-                    newCompositeNode(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); 
-                
-            pushFollow(FOLLOW_rulePower_in_ruleProduct1553);
-            this_Power_0=rulePower();
-
-            state._fsp--;
-
-             
-                    current = this_Power_0; 
-                    afterParserOrEnumRuleCall();
-                
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:656:1: ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )*
-            loop10:
-            do {
-                int alt10=2;
-                int LA10_0 = input.LA(1);
-
-                if ( ((LA10_0>=22 && LA10_0<=24)) ) {
-                    alt10=1;
-                }
-
-
-                switch (alt10) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:656:2: () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:656:2: ()
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:657:5: 
-            	    {
-
-            	            current = forceCreateModelElementAndSet(
-            	                grammarAccess.getProductAccess().getProductLeftAction_1_0(),
-            	                current);
-            	        
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:662:2: ( (lv_operation_2_0= ruleProductOperation ) )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:663:1: (lv_operation_2_0= ruleProductOperation )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:663:1: (lv_operation_2_0= ruleProductOperation )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:664:3: lv_operation_2_0= ruleProductOperation
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_ruleProductOperation_in_ruleProduct1583);
-            	    lv_operation_2_0=ruleProductOperation();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getProductRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"operation",
-            	            		lv_operation_2_0, 
-            	            		"ProductOperation");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:680:2: ( (lv_right_3_0= rulePower ) )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:681:1: (lv_right_3_0= rulePower )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:681:1: (lv_right_3_0= rulePower )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:682:3: lv_right_3_0= rulePower
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_rulePower_in_ruleProduct1604);
-            	    lv_right_3_0=rulePower();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getProductRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"right",
-            	            		lv_right_3_0, 
-            	            		"Power");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop10;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProduct"
-
-
-    // $ANTLR start "entryRulePower"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:706:1: entryRulePower returns [EObject current=null] : iv_rulePower= rulePower EOF ;
-    public final EObject entryRulePower() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_rulePower = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:707:2: (iv_rulePower= rulePower EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:708:2: iv_rulePower= rulePower EOF
-            {
-             newCompositeNode(grammarAccess.getPowerRule()); 
-            pushFollow(FOLLOW_rulePower_in_entryRulePower1642);
-            iv_rulePower=rulePower();
-
-            state._fsp--;
-
-             current =iv_rulePower; 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePower1652); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRulePower"
-
-
-    // $ANTLR start "rulePower"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:715:1: rulePower returns [EObject current=null] : (this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* ) ;
-    public final EObject rulePower() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_2=null;
-        EObject this_Atom_0 = null;
-
-        EObject lv_exponent_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:718:28: ( (this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:719:1: (this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:719:1: (this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:720:5: this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )*
-            {
-             
-                    newCompositeNode(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); 
-                
-            pushFollow(FOLLOW_ruleAtom_in_rulePower1699);
-            this_Atom_0=ruleAtom();
-
-            state._fsp--;
-
-             
-                    current = this_Atom_0; 
-                    afterParserOrEnumRuleCall();
-                
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:728:1: ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )*
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( (LA11_0==18) ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:728:2: () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:728:2: ()
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:729:5: 
-            	    {
-
-            	            current = forceCreateModelElementAndSet(
-            	                grammarAccess.getPowerAccess().getPowerBaseAction_1_0(),
-            	                current);
-            	        
-
-            	    }
-
-            	    otherlv_2=(Token)match(input,18,FOLLOW_18_in_rulePower1720); 
-
-            	        	newLeafNode(otherlv_2, grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1());
-            	        
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:738:1: ( (lv_exponent_3_0= ruleAtom ) )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:739:1: (lv_exponent_3_0= ruleAtom )
-            	    {
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:739:1: (lv_exponent_3_0= ruleAtom )
-            	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:740:3: lv_exponent_3_0= ruleAtom
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_ruleAtom_in_rulePower1741);
-            	    lv_exponent_3_0=ruleAtom();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPowerRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"exponent",
-            	            		lv_exponent_3_0, 
-            	            		"Atom");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop11;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "rulePower"
-
-
-    // $ANTLR start "entryRuleAtom"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:764:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ;
-    public final EObject entryRuleAtom() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleAtom = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:765:2: (iv_ruleAtom= ruleAtom EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:766:2: iv_ruleAtom= ruleAtom EOF
-            {
-             newCompositeNode(grammarAccess.getAtomRule()); 
-            pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom1779);
-            iv_ruleAtom=ruleAtom();
-
-            state._fsp--;
-
-             current =iv_ruleAtom; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAtom1789); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleAtom"
-
-
-    // $ANTLR start "ruleAtom"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:773:1: ruleAtom returns [EObject current=null] : (this_Literal_0= ruleLiteral | (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) | this_Function_4= ruleFunction ) ;
-    public final EObject ruleAtom() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        EObject this_Literal_0 = null;
-
-        EObject this_RootExpression_2 = null;
-
-        EObject this_Function_4 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:776:28: ( (this_Literal_0= ruleLiteral | (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) | this_Function_4= ruleFunction ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:777:1: (this_Literal_0= ruleLiteral | (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) | this_Function_4= ruleFunction )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:777:1: (this_Literal_0= ruleLiteral | (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) | this_Function_4= ruleFunction )
-            int alt12=3;
-            switch ( input.LA(1) ) {
-            case RULE_INT:
-            case RULE_STRING:
-            case 11:
-            case 13:
-            case 14:
-                {
-                alt12=1;
-                }
-                break;
-            case RULE_ID:
-                {
-                int LA12_2 = input.LA(2);
-
-                if ( (LA12_2==19) ) {
-                    alt12=3;
-                }
-                else if ( (LA12_2==EOF||LA12_2==11||(LA12_2>=15 && LA12_2<=16)||LA12_2==18||(LA12_2>=20 && LA12_2<=34)) ) {
-                    alt12=1;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 12, 2, input);
-
-                    throw nvae;
-                }
-                }
-                break;
-            case 19:
-                {
-                alt12=2;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 12, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt12) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:778:5: this_Literal_0= ruleLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleLiteral_in_ruleAtom1836);
-                    this_Literal_0=ruleLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_Literal_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:787:6: (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:787:6: (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:787:8: otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')'
-                    {
-                    otherlv_1=(Token)match(input,19,FOLLOW_19_in_ruleAtom1854); 
-
-                        	newLeafNode(otherlv_1, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0());
-                        
-                     
-                            newCompositeNode(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); 
-                        
-                    pushFollow(FOLLOW_ruleRootExpression_in_ruleAtom1876);
-                    this_RootExpression_2=ruleRootExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_RootExpression_2; 
-                            afterParserOrEnumRuleCall();
-                        
-                    otherlv_3=(Token)match(input,20,FOLLOW_20_in_ruleAtom1887); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2());
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:806:5: this_Function_4= ruleFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleFunction_in_ruleAtom1916);
-                    this_Function_4=ruleFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_Function_4; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleAtom"
-
-
-    // $ANTLR start "entryRuleFunction"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:822:1: entryRuleFunction returns [EObject current=null] : iv_ruleFunction= ruleFunction EOF ;
-    public final EObject entryRuleFunction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleFunction = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:823:2: (iv_ruleFunction= ruleFunction EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:824:2: iv_ruleFunction= ruleFunction EOF
-            {
-             newCompositeNode(grammarAccess.getFunctionRule()); 
-            pushFollow(FOLLOW_ruleFunction_in_entryRuleFunction1951);
-            iv_ruleFunction=ruleFunction();
-
-            state._fsp--;
-
-             current =iv_ruleFunction; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFunction1961); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleFunction"
-
-
-    // $ANTLR start "ruleFunction"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:831:1: ruleFunction returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')' ) ;
-    public final EObject ruleFunction() throws RecognitionException {
-        EObject current = null;
-
-        Token lv_name_0_0=null;
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        EObject lv_parameters_2_0 = null;
-
-        EObject lv_parameters_4_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:834:28: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')' ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:835:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')' )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:835:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')' )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:835:2: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')'
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:835:2: ( (lv_name_0_0= RULE_ID ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:836:1: (lv_name_0_0= RULE_ID )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:836:1: (lv_name_0_0= RULE_ID )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:837:3: lv_name_0_0= RULE_ID
-            {
-            lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFunction2003); 
-
-            			newLeafNode(lv_name_0_0, grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); 
-            		
-
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getFunctionRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_0_0, 
-                    		"ID");
-            	    
-
-            }
-
-
-            }
-
-            otherlv_1=(Token)match(input,19,FOLLOW_19_in_ruleFunction2020); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1());
-                
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:857:1: ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
-
-            if ( ((LA14_0>=RULE_INT && LA14_0<=RULE_ID)||LA14_0==11||(LA14_0>=13 && LA14_0<=14)||LA14_0==17||LA14_0==19) ) {
-                alt14=1;
-            }
-            switch (alt14) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:857:2: ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )*
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:857:2: ( (lv_parameters_2_0= ruleRootExpression ) )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:858:1: (lv_parameters_2_0= ruleRootExpression )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:858:1: (lv_parameters_2_0= ruleRootExpression )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:859:3: lv_parameters_2_0= ruleRootExpression
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); 
-                    	    
-                    pushFollow(FOLLOW_ruleRootExpression_in_ruleFunction2042);
-                    lv_parameters_2_0=ruleRootExpression();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getFunctionRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"parameters",
-                            		lv_parameters_2_0, 
-                            		"RootExpression");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:875:2: (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )*
-                    loop13:
-                    do {
-                        int alt13=2;
-                        int LA13_0 = input.LA(1);
-
-                        if ( (LA13_0==21) ) {
-                            alt13=1;
-                        }
-
-
-                        switch (alt13) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:875:4: otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) )
-                    	    {
-                    	    otherlv_3=(Token)match(input,21,FOLLOW_21_in_ruleFunction2055); 
-
-                    	        	newLeafNode(otherlv_3, grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0());
-                    	        
-                    	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:879:1: ( (lv_parameters_4_0= ruleRootExpression ) )
-                    	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:880:1: (lv_parameters_4_0= ruleRootExpression )
-                    	    {
-                    	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:880:1: (lv_parameters_4_0= ruleRootExpression )
-                    	    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:881:3: lv_parameters_4_0= ruleRootExpression
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); 
-                    	    	    
-                    	    pushFollow(FOLLOW_ruleRootExpression_in_ruleFunction2076);
-                    	    lv_parameters_4_0=ruleRootExpression();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getFunctionRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"parameters",
-                    	            		lv_parameters_4_0, 
-                    	            		"RootExpression");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop13;
-                        }
-                    } while (true);
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_5=(Token)match(input,20,FOLLOW_20_in_ruleFunction2092); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleFunction"
-
-
-    // $ANTLR start "entryRuleLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:909: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.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:910:2: (iv_ruleLiteral= ruleLiteral EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:911:2: iv_ruleLiteral= ruleLiteral EOF
-            {
-             newCompositeNode(grammarAccess.getLiteralRule()); 
-            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral2128);
-            iv_ruleLiteral=ruleLiteral();
-
-            state._fsp--;
-
-             current =iv_ruleLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral2138); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleLiteral"
-
-
-    // $ANTLR start "ruleLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:918:1: ruleLiteral returns [EObject current=null] : (this_NumberLiteral_0= ruleNumberLiteral | this_BooleanLiteral_1= ruleBooleanLiteral | this_FormalParameter_2= ruleFormalParameter ) ;
-    public final EObject ruleLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_NumberLiteral_0 = null;
-
-        EObject this_BooleanLiteral_1 = null;
-
-        EObject this_FormalParameter_2 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:921:28: ( (this_NumberLiteral_0= ruleNumberLiteral | this_BooleanLiteral_1= ruleBooleanLiteral | this_FormalParameter_2= ruleFormalParameter ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:922:1: (this_NumberLiteral_0= ruleNumberLiteral | this_BooleanLiteral_1= ruleBooleanLiteral | this_FormalParameter_2= ruleFormalParameter )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:922:1: (this_NumberLiteral_0= ruleNumberLiteral | this_BooleanLiteral_1= ruleBooleanLiteral | this_FormalParameter_2= ruleFormalParameter )
-            int alt15=3;
-            switch ( input.LA(1) ) {
-            case RULE_INT:
-            case 11:
-                {
-                alt15=1;
-                }
-                break;
-            case 13:
-            case 14:
-                {
-                alt15=2;
-                }
-                break;
-            case RULE_STRING:
-            case RULE_ID:
-                {
-                alt15=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 15, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt15) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:923:5: this_NumberLiteral_0= ruleNumberLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleNumberLiteral_in_ruleLiteral2185);
-                    this_NumberLiteral_0=ruleNumberLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_NumberLiteral_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:933:5: this_BooleanLiteral_1= ruleBooleanLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleBooleanLiteral_in_ruleLiteral2212);
-                    this_BooleanLiteral_1=ruleBooleanLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_BooleanLiteral_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:943:5: this_FormalParameter_2= ruleFormalParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleFormalParameter_in_ruleLiteral2239);
-                    this_FormalParameter_2=ruleFormalParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_FormalParameter_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleLiteral"
-
-
-    // $ANTLR start "entryRuleFormalParameter"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:959:1: entryRuleFormalParameter returns [EObject current=null] : iv_ruleFormalParameter= ruleFormalParameter EOF ;
-    public final EObject entryRuleFormalParameter() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleFormalParameter = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:960:2: (iv_ruleFormalParameter= ruleFormalParameter EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:961:2: iv_ruleFormalParameter= ruleFormalParameter EOF
-            {
-             newCompositeNode(grammarAccess.getFormalParameterRule()); 
-            pushFollow(FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter2274);
-            iv_ruleFormalParameter=ruleFormalParameter();
-
-            state._fsp--;
-
-             current =iv_ruleFormalParameter; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFormalParameter2284); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleFormalParameter"
-
-
-    // $ANTLR start "ruleFormalParameter"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:968:1: ruleFormalParameter returns [EObject current=null] : ( (lv_value_0_0= ruleEString ) ) ;
-    public final EObject ruleFormalParameter() throws RecognitionException {
-        EObject current = null;
-
-        AntlrDatatypeRuleToken lv_value_0_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:971:28: ( ( (lv_value_0_0= ruleEString ) ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:972:1: ( (lv_value_0_0= ruleEString ) )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:972:1: ( (lv_value_0_0= ruleEString ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:973:1: (lv_value_0_0= ruleEString )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:973:1: (lv_value_0_0= ruleEString )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:974:3: lv_value_0_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); 
-            	    
-            pushFollow(FOLLOW_ruleEString_in_ruleFormalParameter2329);
-            lv_value_0_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getFormalParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_0_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleFormalParameter"
-
-
-    // $ANTLR start "entryRuleBooleanLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:998:1: entryRuleBooleanLiteral returns [EObject current=null] : iv_ruleBooleanLiteral= ruleBooleanLiteral EOF ;
-    public final EObject entryRuleBooleanLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBooleanLiteral = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:999:2: (iv_ruleBooleanLiteral= ruleBooleanLiteral EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1000:2: iv_ruleBooleanLiteral= ruleBooleanLiteral EOF
-            {
-             newCompositeNode(grammarAccess.getBooleanLiteralRule()); 
-            pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral2364);
-            iv_ruleBooleanLiteral=ruleBooleanLiteral();
-
-            state._fsp--;
-
-             current =iv_ruleBooleanLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral2374); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBooleanLiteral"
-
-
-    // $ANTLR start "ruleBooleanLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1007:1: ruleBooleanLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleEBoolean ) ) ;
-    public final EObject ruleBooleanLiteral() throws RecognitionException {
-        EObject current = null;
-
-        AntlrDatatypeRuleToken lv_value_0_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1010:28: ( ( (lv_value_0_0= ruleEBoolean ) ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1011:1: ( (lv_value_0_0= ruleEBoolean ) )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1011:1: ( (lv_value_0_0= ruleEBoolean ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1012:1: (lv_value_0_0= ruleEBoolean )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1012:1: (lv_value_0_0= ruleEBoolean )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1013:3: lv_value_0_0= ruleEBoolean
-            {
-             
-            	        newCompositeNode(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); 
-            	    
-            pushFollow(FOLLOW_ruleEBoolean_in_ruleBooleanLiteral2419);
-            lv_value_0_0=ruleEBoolean();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBooleanLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_0_0, 
-                    		"EBoolean");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBooleanLiteral"
-
-
-    // $ANTLR start "entryRuleNumberLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1037:1: entryRuleNumberLiteral returns [EObject current=null] : iv_ruleNumberLiteral= ruleNumberLiteral EOF ;
-    public final EObject entryRuleNumberLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleNumberLiteral = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1038:2: (iv_ruleNumberLiteral= ruleNumberLiteral EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1039:2: iv_ruleNumberLiteral= ruleNumberLiteral EOF
-            {
-             newCompositeNode(grammarAccess.getNumberLiteralRule()); 
-            pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral2454);
-            iv_ruleNumberLiteral=ruleNumberLiteral();
-
-            state._fsp--;
-
-             current =iv_ruleNumberLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral2464); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleNumberLiteral"
-
-
-    // $ANTLR start "ruleNumberLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1046:1: ruleNumberLiteral returns [EObject current=null] : (this_IntLiteral_0= ruleIntLiteral | this_DoubleLiteral_1= ruleDoubleLiteral ) ;
-    public final EObject ruleNumberLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_IntLiteral_0 = null;
-
-        EObject this_DoubleLiteral_1 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1049:28: ( (this_IntLiteral_0= ruleIntLiteral | this_DoubleLiteral_1= ruleDoubleLiteral ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1050:1: (this_IntLiteral_0= ruleIntLiteral | this_DoubleLiteral_1= ruleDoubleLiteral )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1050:1: (this_IntLiteral_0= ruleIntLiteral | this_DoubleLiteral_1= ruleDoubleLiteral )
-            int alt16=2;
-            int LA16_0 = input.LA(1);
-
-            if ( (LA16_0==11) ) {
-                int LA16_1 = input.LA(2);
-
-                if ( (LA16_1==RULE_INT) ) {
-                    int LA16_2 = input.LA(3);
-
-                    if ( (LA16_2==12) ) {
-                        alt16=2;
-                    }
-                    else if ( (LA16_2==EOF||LA16_2==11||(LA16_2>=15 && LA16_2<=16)||LA16_2==18||(LA16_2>=20 && LA16_2<=34)) ) {
-                        alt16=1;
-                    }
-                    else {
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 16, 2, input);
-
-                        throw nvae;
-                    }
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 16, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else if ( (LA16_0==RULE_INT) ) {
-                int LA16_2 = input.LA(2);
-
-                if ( (LA16_2==12) ) {
-                    alt16=2;
-                }
-                else if ( (LA16_2==EOF||LA16_2==11||(LA16_2>=15 && LA16_2<=16)||LA16_2==18||(LA16_2>=20 && LA16_2<=34)) ) {
-                    alt16=1;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 16, 2, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 16, 0, input);
-
-                throw nvae;
-            }
-            switch (alt16) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1051:5: this_IntLiteral_0= ruleIntLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleIntLiteral_in_ruleNumberLiteral2511);
-                    this_IntLiteral_0=ruleIntLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_IntLiteral_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1061:5: this_DoubleLiteral_1= ruleDoubleLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleDoubleLiteral_in_ruleNumberLiteral2538);
-                    this_DoubleLiteral_1=ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_DoubleLiteral_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleNumberLiteral"
-
-
-    // $ANTLR start "entryRuleIntLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1077:1: entryRuleIntLiteral returns [EObject current=null] : iv_ruleIntLiteral= ruleIntLiteral EOF ;
-    public final EObject entryRuleIntLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleIntLiteral = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1078:2: (iv_ruleIntLiteral= ruleIntLiteral EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1079:2: iv_ruleIntLiteral= ruleIntLiteral EOF
-            {
-             newCompositeNode(grammarAccess.getIntLiteralRule()); 
-            pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral2573);
-            iv_ruleIntLiteral=ruleIntLiteral();
-
-            state._fsp--;
-
-             current =iv_ruleIntLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral2583); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleIntLiteral"
-
-
-    // $ANTLR start "ruleIntLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1086:1: ruleIntLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleInteger ) ) ;
-    public final EObject ruleIntLiteral() throws RecognitionException {
-        EObject current = null;
-
-        AntlrDatatypeRuleToken lv_value_0_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1089:28: ( ( (lv_value_0_0= ruleInteger ) ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1090:1: ( (lv_value_0_0= ruleInteger ) )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1090:1: ( (lv_value_0_0= ruleInteger ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1091:1: (lv_value_0_0= ruleInteger )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1091:1: (lv_value_0_0= ruleInteger )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1092:3: lv_value_0_0= ruleInteger
-            {
-             
-            	        newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); 
-            	    
-            pushFollow(FOLLOW_ruleInteger_in_ruleIntLiteral2628);
-            lv_value_0_0=ruleInteger();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getIntLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_0_0, 
-                    		"Integer");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleIntLiteral"
-
-
-    // $ANTLR start "entryRuleDoubleLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1116:1: entryRuleDoubleLiteral returns [EObject current=null] : iv_ruleDoubleLiteral= ruleDoubleLiteral EOF ;
-    public final EObject entryRuleDoubleLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDoubleLiteral = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1117:2: (iv_ruleDoubleLiteral= ruleDoubleLiteral EOF )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1118:2: iv_ruleDoubleLiteral= ruleDoubleLiteral EOF
-            {
-             newCompositeNode(grammarAccess.getDoubleLiteralRule()); 
-            pushFollow(FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral2663);
-            iv_ruleDoubleLiteral=ruleDoubleLiteral();
-
-            state._fsp--;
-
-             current =iv_ruleDoubleLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDoubleLiteral2673); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDoubleLiteral"
-
-
-    // $ANTLR start "ruleDoubleLiteral"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1125:1: ruleDoubleLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleDouble ) ) ;
-    public final EObject ruleDoubleLiteral() throws RecognitionException {
-        EObject current = null;
-
-        AntlrDatatypeRuleToken lv_value_0_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1128:28: ( ( (lv_value_0_0= ruleDouble ) ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1129:1: ( (lv_value_0_0= ruleDouble ) )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1129:1: ( (lv_value_0_0= ruleDouble ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1130:1: (lv_value_0_0= ruleDouble )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1130:1: (lv_value_0_0= ruleDouble )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1131:3: lv_value_0_0= ruleDouble
-            {
-             
-            	        newCompositeNode(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); 
-            	    
-            pushFollow(FOLLOW_ruleDouble_in_ruleDoubleLiteral2718);
-            lv_value_0_0=ruleDouble();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getDoubleLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_0_0, 
-                    		"Double");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDoubleLiteral"
-
-
-    // $ANTLR start "ruleProductOperation"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1155:1: ruleProductOperation returns [Enumerator current=null] : ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) ;
-    public final Enumerator ruleProductOperation() throws RecognitionException {
-        Enumerator current = null;
-
-        Token enumLiteral_0=null;
-        Token enumLiteral_1=null;
-        Token enumLiteral_2=null;
-
-         enterRule(); 
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1157:28: ( ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:1: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:1: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) )
-            int alt17=3;
-            switch ( input.LA(1) ) {
-            case 22:
-                {
-                alt17=1;
-                }
-                break;
-            case 23:
-                {
-                alt17=2;
-                }
-                break;
-            case 24:
-                {
-                alt17=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 17, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt17) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:2: (enumLiteral_0= '*' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:2: (enumLiteral_0= '*' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:4: enumLiteral_0= '*'
-                    {
-                    enumLiteral_0=(Token)match(input,22,FOLLOW_22_in_ruleProductOperation2767); 
-
-                            current = grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1164:6: (enumLiteral_1= '/' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1164:6: (enumLiteral_1= '/' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1164:8: enumLiteral_1= '/'
-                    {
-                    enumLiteral_1=(Token)match(input,23,FOLLOW_23_in_ruleProductOperation2784); 
-
-                            current = grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1170:6: (enumLiteral_2= '%' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1170:6: (enumLiteral_2= '%' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1170:8: enumLiteral_2= '%'
-                    {
-                    enumLiteral_2=(Token)match(input,24,FOLLOW_24_in_ruleProductOperation2801); 
-
-                            current = grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_2, grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProductOperation"
-
-
-    // $ANTLR start "ruleTermOperation"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1180:1: ruleTermOperation returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ;
-    public final Enumerator ruleTermOperation() throws RecognitionException {
-        Enumerator current = null;
-
-        Token enumLiteral_0=null;
-        Token enumLiteral_1=null;
-
-         enterRule(); 
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1182:28: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:1: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:1: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
-            int alt18=2;
-            int LA18_0 = input.LA(1);
-
-            if ( (LA18_0==25) ) {
-                alt18=1;
-            }
-            else if ( (LA18_0==11) ) {
-                alt18=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 18, 0, input);
-
-                throw nvae;
-            }
-            switch (alt18) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:2: (enumLiteral_0= '+' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:2: (enumLiteral_0= '+' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:4: enumLiteral_0= '+'
-                    {
-                    enumLiteral_0=(Token)match(input,25,FOLLOW_25_in_ruleTermOperation2846); 
-
-                            current = grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1189:6: (enumLiteral_1= '-' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1189:6: (enumLiteral_1= '-' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1189:8: enumLiteral_1= '-'
-                    {
-                    enumLiteral_1=(Token)match(input,11,FOLLOW_11_in_ruleTermOperation2863); 
-
-                            current = grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleTermOperation"
-
-
-    // $ANTLR start "ruleCompareOperation"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1199:1: ruleCompareOperation returns [Enumerator current=null] : ( (enumLiteral_0= '>' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>=' ) ) ;
-    public final Enumerator ruleCompareOperation() throws RecognitionException {
-        Enumerator current = null;
-
-        Token enumLiteral_0=null;
-        Token enumLiteral_1=null;
-        Token enumLiteral_2=null;
-        Token enumLiteral_3=null;
-        Token enumLiteral_4=null;
-        Token enumLiteral_5=null;
-
-         enterRule(); 
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1201:28: ( ( (enumLiteral_0= '>' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>=' ) ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:1: ( (enumLiteral_0= '>' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>=' ) )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:1: ( (enumLiteral_0= '>' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>=' ) )
-            int alt19=6;
-            switch ( input.LA(1) ) {
-            case 26:
-                {
-                alt19=1;
-                }
-                break;
-            case 27:
-                {
-                alt19=2;
-                }
-                break;
-            case 28:
-                {
-                alt19=3;
-                }
-                break;
-            case 29:
-                {
-                alt19=4;
-                }
-                break;
-            case 30:
-                {
-                alt19=5;
-                }
-                break;
-            case 31:
-                {
-                alt19=6;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 19, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt19) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:2: (enumLiteral_0= '>' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:2: (enumLiteral_0= '>' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:4: enumLiteral_0= '>'
-                    {
-                    enumLiteral_0=(Token)match(input,26,FOLLOW_26_in_ruleCompareOperation2908); 
-
-                            current = grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1208:6: (enumLiteral_1= '<' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1208:6: (enumLiteral_1= '<' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1208:8: enumLiteral_1= '<'
-                    {
-                    enumLiteral_1=(Token)match(input,27,FOLLOW_27_in_ruleCompareOperation2925); 
-
-                            current = grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1214:6: (enumLiteral_2= '=' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1214:6: (enumLiteral_2= '=' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1214:8: enumLiteral_2= '='
-                    {
-                    enumLiteral_2=(Token)match(input,28,FOLLOW_28_in_ruleCompareOperation2942); 
-
-                            current = grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_2, grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1220:6: (enumLiteral_3= '!=' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1220:6: (enumLiteral_3= '!=' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1220:8: enumLiteral_3= '!='
-                    {
-                    enumLiteral_3=(Token)match(input,29,FOLLOW_29_in_ruleCompareOperation2959); 
-
-                            current = grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_3, grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1226:6: (enumLiteral_4= '<=' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1226:6: (enumLiteral_4= '<=' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1226:8: enumLiteral_4= '<='
-                    {
-                    enumLiteral_4=(Token)match(input,30,FOLLOW_30_in_ruleCompareOperation2976); 
-
-                            current = grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_4, grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1232:6: (enumLiteral_5= '>=' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1232:6: (enumLiteral_5= '>=' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1232:8: enumLiteral_5= '>='
-                    {
-                    enumLiteral_5=(Token)match(input,31,FOLLOW_31_in_ruleCompareOperation2993); 
-
-                            current = grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_5, grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCompareOperation"
-
-
-    // $ANTLR start "ruleBooleanOperation"
-    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1242:1: ruleBooleanOperation returns [Enumerator current=null] : ( (enumLiteral_0= 'AND' ) | (enumLiteral_1= 'OR' ) | (enumLiteral_2= 'XOR' ) ) ;
-    public final Enumerator ruleBooleanOperation() throws RecognitionException {
-        Enumerator current = null;
-
-        Token enumLiteral_0=null;
-        Token enumLiteral_1=null;
-        Token enumLiteral_2=null;
-
-         enterRule(); 
-        try {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1244:28: ( ( (enumLiteral_0= 'AND' ) | (enumLiteral_1= 'OR' ) | (enumLiteral_2= 'XOR' ) ) )
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:1: ( (enumLiteral_0= 'AND' ) | (enumLiteral_1= 'OR' ) | (enumLiteral_2= 'XOR' ) )
-            {
-            // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:1: ( (enumLiteral_0= 'AND' ) | (enumLiteral_1= 'OR' ) | (enumLiteral_2= 'XOR' ) )
-            int alt20=3;
-            switch ( input.LA(1) ) {
-            case 32:
-                {
-                alt20=1;
-                }
-                break;
-            case 33:
-                {
-                alt20=2;
-                }
-                break;
-            case 34:
-                {
-                alt20=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 20, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt20) {
-                case 1 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:2: (enumLiteral_0= 'AND' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:2: (enumLiteral_0= 'AND' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:4: enumLiteral_0= 'AND'
-                    {
-                    enumLiteral_0=(Token)match(input,32,FOLLOW_32_in_ruleBooleanOperation3038); 
-
-                            current = grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1251:6: (enumLiteral_1= 'OR' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1251:6: (enumLiteral_1= 'OR' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1251:8: enumLiteral_1= 'OR'
-                    {
-                    enumLiteral_1=(Token)match(input,33,FOLLOW_33_in_ruleBooleanOperation3055); 
-
-                            current = grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1257:6: (enumLiteral_2= 'XOR' )
-                    {
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1257:6: (enumLiteral_2= 'XOR' )
-                    // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1257:8: enumLiteral_2= 'XOR'
-                    {
-                    enumLiteral_2=(Token)match(input,34,FOLLOW_34_in_ruleBooleanOperation3072); 
-
-                            current = grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_2, grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); 
-                        
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBooleanOperation"
-
-    // Delegated rules
-
-
- 
-
-    public static final BitSet FOLLOW_ruleModel_in_entryRuleModel75 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleModel85 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleModel130 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDouble_in_entryRuleDouble166 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDouble177 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_11_in_ruleDouble216 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDouble233 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_12_in_ruleDouble251 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDouble266 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger312 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleInteger323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_11_in_ruleInteger362 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleInteger379 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEString_in_entryRuleEString425 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleEString436 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEString476 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEString502 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEBoolean_in_entryRuleEBoolean548 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleEBoolean559 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_ruleEBoolean597 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_ruleEBoolean616 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRootExpression_in_entryRuleRootExpression656 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleRootExpression666 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleRootExpression712 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression746 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleIfElseExpression756 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBinaryBooleanExpression_in_ruleIfElseExpression803 = new BitSet(new long[]{0x0000000000008002L});
-    public static final BitSet FOLLOW_15_in_ruleIfElseExpression824 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleIfElseExpression845 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleIfElseExpression857 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleIfElseExpression878 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBinaryBooleanExpression_in_entryRuleBinaryBooleanExpression916 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleBinaryBooleanExpression926 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_ruleBinaryBooleanExpression973 = new BitSet(new long[]{0x0000000700000002L});
-    public static final BitSet FOLLOW_ruleBooleanOperation_in_ruleBinaryBooleanExpression1003 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_ruleBinaryBooleanExpression1024 = new BitSet(new long[]{0x0000000700000002L});
-    public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_entryRuleUnaryBooleanExpression1062 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleUnaryBooleanExpression1072 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_ruleUnaryBooleanExpression1110 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_ruleComparison_in_ruleUnaryBooleanExpression1132 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleComparison_in_ruleUnaryBooleanExpression1169 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleComparison_in_entryRuleComparison1204 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleComparison1214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTerm_in_ruleComparison1261 = new BitSet(new long[]{0x00000000FC000002L});
-    public static final BitSet FOLLOW_ruleCompareOperation_in_ruleComparison1291 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_ruleTerm_in_ruleComparison1312 = new BitSet(new long[]{0x00000000FC000002L});
-    public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm1350 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleTerm1360 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleProduct_in_ruleTerm1407 = new BitSet(new long[]{0x0000000002000802L});
-    public static final BitSet FOLLOW_ruleTermOperation_in_ruleTerm1437 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_ruleProduct_in_ruleTerm1458 = new BitSet(new long[]{0x0000000002000802L});
-    public static final BitSet FOLLOW_ruleProduct_in_entryRuleProduct1496 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleProduct1506 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePower_in_ruleProduct1553 = new BitSet(new long[]{0x0000000001C00002L});
-    public static final BitSet FOLLOW_ruleProductOperation_in_ruleProduct1583 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_rulePower_in_ruleProduct1604 = new BitSet(new long[]{0x0000000001C00002L});
-    public static final BitSet FOLLOW_rulePower_in_entryRulePower1642 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRulePower1652 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAtom_in_rulePower1699 = new BitSet(new long[]{0x0000000000040002L});
-    public static final BitSet FOLLOW_18_in_rulePower1720 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_ruleAtom_in_rulePower1741 = new BitSet(new long[]{0x0000000000040002L});
-    public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom1779 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAtom1789 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_ruleAtom1836 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_ruleAtom1854 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_ruleRootExpression_in_ruleAtom1876 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_20_in_ruleAtom1887 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFunction_in_ruleAtom1916 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction1951 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFunction1961 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFunction2003 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleFunction2020 = new BitSet(new long[]{0x00000000001A6870L});
-    public static final BitSet FOLLOW_ruleRootExpression_in_ruleFunction2042 = new BitSet(new long[]{0x0000000000300000L});
-    public static final BitSet FOLLOW_21_in_ruleFunction2055 = new BitSet(new long[]{0x00000000000A6870L});
-    public static final BitSet FOLLOW_ruleRootExpression_in_ruleFunction2076 = new BitSet(new long[]{0x0000000000300000L});
-    public static final BitSet FOLLOW_20_in_ruleFunction2092 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral2128 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral2138 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleLiteral2185 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral2212 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFormalParameter_in_ruleLiteral2239 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter2274 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFormalParameter2284 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEString_in_ruleFormalParameter2329 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral2364 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral2374 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEBoolean_in_ruleBooleanLiteral2419 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral2454 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral2464 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral2511 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDoubleLiteral_in_ruleNumberLiteral2538 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral2573 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral2583 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_ruleIntLiteral2628 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral2663 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDoubleLiteral2673 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDouble_in_ruleDoubleLiteral2718 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_ruleProductOperation2767 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_ruleProductOperation2784 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_ruleProductOperation2801 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_ruleTermOperation2846 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_11_in_ruleTermOperation2863 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_ruleCompareOperation2908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_ruleCompareOperation2925 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_ruleCompareOperation2942 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_ruleCompareOperation2959 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_ruleCompareOperation2976 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_ruleCompareOperation2993 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_ruleBooleanOperation3038 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_ruleBooleanOperation3055 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleBooleanOperation3072 = new BitSet(new long[]{0x0000000000000002L});
-
-}
\ No newline at end of file
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSemanticSequencer.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSemanticSequencer.java
deleted file mode 100644
index d6fb536445af22a0201ac6f820f1a53482f64376..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSemanticSequencer.java
+++ /dev/null
@@ -1,545 +0,0 @@
-package org.xtext.example.mydsl.serializer;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
-import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
-import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
-import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
-import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
-import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
-import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
-import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
-import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
-import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
-import org.xtext.example.mydsl.myDsl.BinaryBooleanExpression;
-import org.xtext.example.mydsl.myDsl.BooleanLiteral;
-import org.xtext.example.mydsl.myDsl.Comparison;
-import org.xtext.example.mydsl.myDsl.DoubleLiteral;
-import org.xtext.example.mydsl.myDsl.FormalParameter;
-import org.xtext.example.mydsl.myDsl.Function;
-import org.xtext.example.mydsl.myDsl.IfElseExpression;
-import org.xtext.example.mydsl.myDsl.IntLiteral;
-import org.xtext.example.mydsl.myDsl.Model;
-import org.xtext.example.mydsl.myDsl.MyDslPackage;
-import org.xtext.example.mydsl.myDsl.Power;
-import org.xtext.example.mydsl.myDsl.Product;
-import org.xtext.example.mydsl.myDsl.Term;
-import org.xtext.example.mydsl.myDsl.UnaryBooleanExpression;
-import org.xtext.example.mydsl.services.MyDslGrammarAccess;
-
-@SuppressWarnings("all")
-public class MyDslSemanticSequencer extends AbstractDelegatingSemanticSequencer {
-
-	@Inject
-	private MyDslGrammarAccess grammarAccess;
-	
-	public void createSequence(EObject context, EObject semanticObject) {
-		if(semanticObject.eClass().getEPackage() == MyDslPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
-			case MyDslPackage.BINARY_BOOLEAN_EXPRESSION:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_BinaryBooleanExpression(context, (BinaryBooleanExpression) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.BOOLEAN_LITERAL:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getBooleanLiteralRule() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getLiteralRule() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_BooleanLiteral(context, (BooleanLiteral) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.COMPARISON:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_Comparison(context, (Comparison) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.DOUBLE_LITERAL:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getDoubleLiteralRule() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getLiteralRule() ||
-				   context == grammarAccess.getNumberLiteralRule() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_DoubleLiteral(context, (DoubleLiteral) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.FORMAL_PARAMETER:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getFormalParameterRule() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getLiteralRule() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_FormalParameter(context, (FormalParameter) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.FUNCTION:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getFunctionRule() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_Function(context, (Function) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.IF_ELSE_EXPRESSION:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_IfElseExpression(context, (IfElseExpression) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.INT_LITERAL:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getIntLiteralRule() ||
-				   context == grammarAccess.getLiteralRule() ||
-				   context == grammarAccess.getNumberLiteralRule() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_IntLiteral(context, (IntLiteral) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.MODEL:
-				if(context == grammarAccess.getModelRule()) {
-					sequence_Model(context, (Model) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.POWER:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_Power(context, (Power) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.PRODUCT:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_Product(context, (Product) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.TERM:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_Term(context, (Term) semanticObject); 
-					return; 
-				}
-				else break;
-			case MyDslPackage.UNARY_BOOLEAN_EXPRESSION:
-				if(context == grammarAccess.getAtomRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionRule() ||
-				   context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() ||
-				   context == grammarAccess.getComparisonRule() ||
-				   context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() ||
-				   context == grammarAccess.getIfElseExpressionRule() ||
-				   context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() ||
-				   context == grammarAccess.getPowerRule() ||
-				   context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() ||
-				   context == grammarAccess.getProductRule() ||
-				   context == grammarAccess.getProductAccess().getProductLeftAction_1_0() ||
-				   context == grammarAccess.getRootExpressionRule() ||
-				   context == grammarAccess.getTermRule() ||
-				   context == grammarAccess.getTermAccess().getTermLeftAction_1_0() ||
-				   context == grammarAccess.getUnaryBooleanExpressionRule() ||
-				   context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) {
-					sequence_UnaryBooleanExpression(context, (UnaryBooleanExpression) semanticObject); 
-					return; 
-				}
-				else break;
-			}
-		if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
-	}
-	
-	/**
-	 * Constraint:
-	 *     (left=BinaryBooleanExpression_BinaryBooleanExpression_1_0 operation=BooleanOperation right=UnaryBooleanExpression)
-	 */
-	protected void sequence_BinaryBooleanExpression(EObject context, BinaryBooleanExpression semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__OPERATION) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__OPERATION));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0(), semanticObject.getOperation());
-		feeder.accept(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     value=EBoolean
-	 */
-	protected void sequence_BooleanLiteral(EObject context, BooleanLiteral semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.BOOLEAN_LITERAL__VALUE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.BOOLEAN_LITERAL__VALUE));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0(), semanticObject.isValue());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     (left=Comparison_Comparison_1_0 operation=CompareOperation right=Term)
-	 */
-	protected void sequence_Comparison(EObject context, Comparison semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.COMPARISON__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.COMPARISON__LEFT));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.COMPARISON__OPERATION) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.COMPARISON__OPERATION));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.COMPARISON__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.COMPARISON__RIGHT));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0(), semanticObject.getOperation());
-		feeder.accept(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     value=Double
-	 */
-	protected void sequence_DoubleLiteral(EObject context, DoubleLiteral semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.DOUBLE_LITERAL__VALUE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.DOUBLE_LITERAL__VALUE));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0(), semanticObject.getValue());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     value=EString
-	 */
-	protected void sequence_FormalParameter(EObject context, FormalParameter semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.FORMAL_PARAMETER__VALUE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.FORMAL_PARAMETER__VALUE));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0(), semanticObject.getValue());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     (name=ID (parameters+=RootExpression parameters+=RootExpression*)?)
-	 */
-	protected void sequence_Function(EObject context, Function semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     (condition=IfElseExpression_IfElseExpression_1_0 trueExp=IfElseExpression falseExp=IfElseExpression)
-	 */
-	protected void sequence_IfElseExpression(EObject context, IfElseExpression semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__CONDITION) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__CONDITION));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0(), semanticObject.getCondition());
-		feeder.accept(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0(), semanticObject.getTrueExp());
-		feeder.accept(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0(), semanticObject.getFalseExp());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     value=Integer
-	 */
-	protected void sequence_IntLiteral(EObject context, IntLiteral semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.INT_LITERAL__VALUE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.INT_LITERAL__VALUE));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0(), semanticObject.getValue());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     terms=IfElseExpression
-	 */
-	protected void sequence_Model(EObject context, Model semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.MODEL__TERMS) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.MODEL__TERMS));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0(), semanticObject.getTerms());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     (base=Power_Power_1_0 exponent=Atom)
-	 */
-	protected void sequence_Power(EObject context, Power semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.POWER__BASE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.POWER__BASE));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.POWER__EXPONENT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.POWER__EXPONENT));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getPowerAccess().getPowerBaseAction_1_0(), semanticObject.getBase());
-		feeder.accept(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0(), semanticObject.getExponent());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     (left=Product_Product_1_0 operation=ProductOperation right=Power)
-	 */
-	protected void sequence_Product(EObject context, Product semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.PRODUCT__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.PRODUCT__LEFT));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.PRODUCT__OPERATION) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.PRODUCT__OPERATION));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.PRODUCT__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.PRODUCT__RIGHT));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getProductAccess().getProductLeftAction_1_0(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0(), semanticObject.getOperation());
-		feeder.accept(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     (left=Term_Term_1_0 operation=TermOperation right=Product)
-	 */
-	protected void sequence_Term(EObject context, Term semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.TERM__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.TERM__LEFT));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.TERM__OPERATION) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.TERM__OPERATION));
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.TERM__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.TERM__RIGHT));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getTermAccess().getTermLeftAction_1_0(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0(), semanticObject.getOperation());
-		feeder.accept(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Constraint:
-	 *     inner=UnaryBooleanExpression_UnaryBooleanExpression_0_2
-	 */
-	protected void sequence_UnaryBooleanExpression(EObject context, UnaryBooleanExpression semanticObject) {
-		if(errorAcceptor != null) {
-			if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER));
-		}
-		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
-		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
-		feeder.accept(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2(), semanticObject.getInner());
-		feeder.finish();
-	}
-}
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSyntacticSequencer.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSyntacticSequencer.java
deleted file mode 100644
index 6353eaa9dcb5842c1e460c118187224e189ab4a2..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSyntacticSequencer.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.xtext.example.mydsl.serializer;
-
-import com.google.inject.Inject;
-import java.util.List;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.IGrammarAccess;
-import org.eclipse.xtext.RuleCall;
-import org.eclipse.xtext.nodemodel.INode;
-import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
-import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
-import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
-import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
-import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
-import org.xtext.example.mydsl.services.MyDslGrammarAccess;
-
-@SuppressWarnings("all")
-public class MyDslSyntacticSequencer extends AbstractSyntacticSequencer {
-
-	protected MyDslGrammarAccess grammarAccess;
-	protected AbstractElementAlias match_Atom_LeftParenthesisKeyword_1_0_a;
-	protected AbstractElementAlias match_Atom_LeftParenthesisKeyword_1_0_p;
-	
-	@Inject
-	protected void init(IGrammarAccess access) {
-		grammarAccess = (MyDslGrammarAccess) access;
-		match_Atom_LeftParenthesisKeyword_1_0_a = new TokenAlias(true, true, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0());
-		match_Atom_LeftParenthesisKeyword_1_0_p = new TokenAlias(true, false, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0());
-	}
-	
-	@Override
-	protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
-		return "";
-	}
-	
-	
-	@Override
-	protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		if (transition.getAmbiguousSyntaxes().isEmpty()) return;
-		List<INode> transitionNodes = collectNodes(fromNode, toNode);
-		for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
-			List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
-			if(match_Atom_LeftParenthesisKeyword_1_0_a.equals(syntax))
-				emit_Atom_LeftParenthesisKeyword_1_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
-			else if(match_Atom_LeftParenthesisKeyword_1_0_p.equals(syntax))
-				emit_Atom_LeftParenthesisKeyword_1_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
-			else acceptNodes(getLastNavigableState(), syntaxNodes);
-		}
-	}
-
-	/**
-	 * Syntax:
-	 *     '('*
-	 */
-	protected void emit_Atom_LeftParenthesisKeyword_1_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
-		acceptNodes(transition, nodes);
-	}
-	
-	/**
-	 * Syntax:
-	 *     '('+
-	 */
-	protected void emit_Atom_LeftParenthesisKeyword_1_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
-		acceptNodes(transition, nodes);
-	}
-	
-}
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/services/MyDslGrammarAccess.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/services/MyDslGrammarAccess.java
deleted file mode 100644
index 8f633c595471278a914bac38b1ddd2c02a76833b..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/services/MyDslGrammarAccess.java
+++ /dev/null
@@ -1,1144 +0,0 @@
-/*
-* generated by Xtext
-*/
-
-package org.xtext.example.mydsl.services;
-
-import com.google.inject.Singleton;
-import com.google.inject.Inject;
-
-import java.util.List;
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.service.GrammarProvider;
-import org.eclipse.xtext.service.AbstractElementFinder.*;
-
-import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
-
-@Singleton
-public class MyDslGrammarAccess extends AbstractGrammarElementFinder {
-	
-	
-	public class ModelElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Model");
-		private final Assignment cTermsAssignment = (Assignment)rule.eContents().get(1);
-		private final RuleCall cTermsIfElseExpressionParserRuleCall_0 = (RuleCall)cTermsAssignment.eContents().get(0);
-		
-		//Model:
-		//	terms=IfElseExpression;
-		public ParserRule getRule() { return rule; }
-
-		//terms=IfElseExpression
-		public Assignment getTermsAssignment() { return cTermsAssignment; }
-
-		//IfElseExpression
-		public RuleCall getTermsIfElseExpressionParserRuleCall_0() { return cTermsIfElseExpressionParserRuleCall_0; }
-	}
-
-	public class DoubleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Double");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
-		private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
-		
-		//Double returns ecore::EBigDecimal:
-		//	"-"? INT "." // (('e'|'E') '-'? INT)?
-		//
-		//	INT;
-		public ParserRule getRule() { return rule; }
-
-		//"-"? INT "." // (('e'|'E') '-'? INT)?
-		//
-		//INT
-		public Group getGroup() { return cGroup; }
-
-		//"-"?
-		public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
-
-		//"."
-		public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
-
-		//// (('e'|'E') '-'? INT)?
-		//
-		//INT
-		public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; }
-	}
-
-	public class IntegerElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Integer");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
-		
-		//Integer returns ecore::EBigInteger:
-		//	"-"? INT;
-		public ParserRule getRule() { return rule; }
-
-		//"-"? INT
-		public Group getGroup() { return cGroup; }
-
-		//"-"?
-		public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
-	}
-
-	public class EStringElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EString");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//EString returns ecore::EString:
-		//	STRING | ID;
-		public ParserRule getRule() { return rule; }
-
-		//STRING | ID
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//STRING
-		public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; }
-
-		//ID
-		public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; }
-	}
-
-	public class EBooleanElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBoolean");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Keyword cTrueKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
-		private final Keyword cFalseKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
-		
-		//EBoolean returns ecore::EBoolean:
-		//	"true" | "false";
-		public ParserRule getRule() { return rule; }
-
-		//"true" | "false"
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//"true"
-		public Keyword getTrueKeyword_0() { return cTrueKeyword_0; }
-
-		//"false"
-		public Keyword getFalseKeyword_1() { return cFalseKeyword_1; }
-	}
-
-	public class RootExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RootExpression");
-		private final RuleCall cIfElseExpressionParserRuleCall = (RuleCall)rule.eContents().get(1);
-		
-		//RootExpression returns Expression:
-		//	IfElseExpression;
-		public ParserRule getRule() { return rule; }
-
-		//IfElseExpression
-		public RuleCall getIfElseExpressionParserRuleCall() { return cIfElseExpressionParserRuleCall; }
-	}
-
-	public class IfElseExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IfElseExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cBinaryBooleanExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Action cIfElseExpressionConditionAction_1_0 = (Action)cGroup_1.eContents().get(0);
-		private final Keyword cQuestionMarkKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
-		private final Assignment cTrueExpAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
-		private final RuleCall cTrueExpIfElseExpressionParserRuleCall_1_2_0 = (RuleCall)cTrueExpAssignment_1_2.eContents().get(0);
-		private final Keyword cColonKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3);
-		private final Assignment cFalseExpAssignment_1_4 = (Assignment)cGroup_1.eContents().get(4);
-		private final RuleCall cFalseExpIfElseExpressionParserRuleCall_1_4_0 = (RuleCall)cFalseExpAssignment_1_4.eContents().get(0);
-		
-		//IfElseExpression returns Expression:
-		//	BinaryBooleanExpression ({IfElseExpression.condition=current} "?" trueExp=IfElseExpression ":"
-		//	falseExp=IfElseExpression)?;
-		public ParserRule getRule() { return rule; }
-
-		//BinaryBooleanExpression ({IfElseExpression.condition=current} "?" trueExp=IfElseExpression ":"
-		//falseExp=IfElseExpression)?
-		public Group getGroup() { return cGroup; }
-
-		//BinaryBooleanExpression
-		public RuleCall getBinaryBooleanExpressionParserRuleCall_0() { return cBinaryBooleanExpressionParserRuleCall_0; }
-
-		//({IfElseExpression.condition=current} "?" trueExp=IfElseExpression ":" falseExp=IfElseExpression)?
-		public Group getGroup_1() { return cGroup_1; }
-
-		//{IfElseExpression.condition=current}
-		public Action getIfElseExpressionConditionAction_1_0() { return cIfElseExpressionConditionAction_1_0; }
-
-		//"?"
-		public Keyword getQuestionMarkKeyword_1_1() { return cQuestionMarkKeyword_1_1; }
-
-		//trueExp=IfElseExpression
-		public Assignment getTrueExpAssignment_1_2() { return cTrueExpAssignment_1_2; }
-
-		//IfElseExpression
-		public RuleCall getTrueExpIfElseExpressionParserRuleCall_1_2_0() { return cTrueExpIfElseExpressionParserRuleCall_1_2_0; }
-
-		//":"
-		public Keyword getColonKeyword_1_3() { return cColonKeyword_1_3; }
-
-		//falseExp=IfElseExpression
-		public Assignment getFalseExpAssignment_1_4() { return cFalseExpAssignment_1_4; }
-
-		//IfElseExpression
-		public RuleCall getFalseExpIfElseExpressionParserRuleCall_1_4_0() { return cFalseExpIfElseExpressionParserRuleCall_1_4_0; }
-	}
-
-	public class BinaryBooleanExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BinaryBooleanExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cUnaryBooleanExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Action cBinaryBooleanExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
-		private final Assignment cOperationAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
-		private final RuleCall cOperationBooleanOperationEnumRuleCall_1_1_0 = (RuleCall)cOperationAssignment_1_1.eContents().get(0);
-		private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
-		private final RuleCall cRightUnaryBooleanExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
-		
-		//BinaryBooleanExpression returns Expression:
-		//	UnaryBooleanExpression ({BinaryBooleanExpression.left=current} operation=BooleanOperation
-		//	right=UnaryBooleanExpression)*;
-		public ParserRule getRule() { return rule; }
-
-		//UnaryBooleanExpression ({BinaryBooleanExpression.left=current} operation=BooleanOperation right=UnaryBooleanExpression)*
-		public Group getGroup() { return cGroup; }
-
-		//UnaryBooleanExpression
-		public RuleCall getUnaryBooleanExpressionParserRuleCall_0() { return cUnaryBooleanExpressionParserRuleCall_0; }
-
-		//({BinaryBooleanExpression.left=current} operation=BooleanOperation right=UnaryBooleanExpression)*
-		public Group getGroup_1() { return cGroup_1; }
-
-		//{BinaryBooleanExpression.left=current}
-		public Action getBinaryBooleanExpressionLeftAction_1_0() { return cBinaryBooleanExpressionLeftAction_1_0; }
-
-		//operation=BooleanOperation
-		public Assignment getOperationAssignment_1_1() { return cOperationAssignment_1_1; }
-
-		//BooleanOperation
-		public RuleCall getOperationBooleanOperationEnumRuleCall_1_1_0() { return cOperationBooleanOperationEnumRuleCall_1_1_0; }
-
-		//right=UnaryBooleanExpression
-		public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
-
-		//UnaryBooleanExpression
-		public RuleCall getRightUnaryBooleanExpressionParserRuleCall_1_2_0() { return cRightUnaryBooleanExpressionParserRuleCall_1_2_0; }
-	}
-
-	public class UnaryBooleanExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnaryBooleanExpression");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
-		private final Keyword cNOTKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
-		private final RuleCall cComparisonParserRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1);
-		private final Action cUnaryBooleanExpressionInnerAction_0_2 = (Action)cGroup_0.eContents().get(2);
-		private final RuleCall cComparisonParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//UnaryBooleanExpression returns Expression:
-		//	"NOT" Comparison {UnaryBooleanExpression.inner=current} | Comparison;
-		public ParserRule getRule() { return rule; }
-
-		//"NOT" Comparison {UnaryBooleanExpression.inner=current} | Comparison
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//"NOT" Comparison {UnaryBooleanExpression.inner=current}
-		public Group getGroup_0() { return cGroup_0; }
-
-		//"NOT"
-		public Keyword getNOTKeyword_0_0() { return cNOTKeyword_0_0; }
-
-		//Comparison
-		public RuleCall getComparisonParserRuleCall_0_1() { return cComparisonParserRuleCall_0_1; }
-
-		//{UnaryBooleanExpression.inner=current}
-		public Action getUnaryBooleanExpressionInnerAction_0_2() { return cUnaryBooleanExpressionInnerAction_0_2; }
-
-		//Comparison
-		public RuleCall getComparisonParserRuleCall_1() { return cComparisonParserRuleCall_1; }
-	}
-
-	public class ComparisonElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Comparison");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cTermParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Action cComparisonLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
-		private final Assignment cOperationAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
-		private final RuleCall cOperationCompareOperationEnumRuleCall_1_1_0 = (RuleCall)cOperationAssignment_1_1.eContents().get(0);
-		private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
-		private final RuleCall cRightTermParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
-		
-		//Comparison returns Expression:
-		//	Term ({Comparison.left=current} operation=CompareOperation right=Term)*;
-		public ParserRule getRule() { return rule; }
-
-		//Term ({Comparison.left=current} operation=CompareOperation right=Term)*
-		public Group getGroup() { return cGroup; }
-
-		//Term
-		public RuleCall getTermParserRuleCall_0() { return cTermParserRuleCall_0; }
-
-		//({Comparison.left=current} operation=CompareOperation right=Term)*
-		public Group getGroup_1() { return cGroup_1; }
-
-		//{Comparison.left=current}
-		public Action getComparisonLeftAction_1_0() { return cComparisonLeftAction_1_0; }
-
-		//operation=CompareOperation
-		public Assignment getOperationAssignment_1_1() { return cOperationAssignment_1_1; }
-
-		//CompareOperation
-		public RuleCall getOperationCompareOperationEnumRuleCall_1_1_0() { return cOperationCompareOperationEnumRuleCall_1_1_0; }
-
-		//right=Term
-		public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
-
-		//Term
-		public RuleCall getRightTermParserRuleCall_1_2_0() { return cRightTermParserRuleCall_1_2_0; }
-	}
-
-	public class TermElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Term");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cProductParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Action cTermLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
-		private final Assignment cOperationAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
-		private final RuleCall cOperationTermOperationEnumRuleCall_1_1_0 = (RuleCall)cOperationAssignment_1_1.eContents().get(0);
-		private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
-		private final RuleCall cRightProductParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
-		
-		//Term returns Expression:
-		//	Product ({Term.left=current} operation=TermOperation right=Product)*;
-		public ParserRule getRule() { return rule; }
-
-		//Product ({Term.left=current} operation=TermOperation right=Product)*
-		public Group getGroup() { return cGroup; }
-
-		//Product
-		public RuleCall getProductParserRuleCall_0() { return cProductParserRuleCall_0; }
-
-		//({Term.left=current} operation=TermOperation right=Product)*
-		public Group getGroup_1() { return cGroup_1; }
-
-		//{Term.left=current}
-		public Action getTermLeftAction_1_0() { return cTermLeftAction_1_0; }
-
-		//operation=TermOperation
-		public Assignment getOperationAssignment_1_1() { return cOperationAssignment_1_1; }
-
-		//TermOperation
-		public RuleCall getOperationTermOperationEnumRuleCall_1_1_0() { return cOperationTermOperationEnumRuleCall_1_1_0; }
-
-		//right=Product
-		public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
-
-		//Product
-		public RuleCall getRightProductParserRuleCall_1_2_0() { return cRightProductParserRuleCall_1_2_0; }
-	}
-
-	public class ProductElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Product");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cPowerParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Action cProductLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
-		private final Assignment cOperationAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
-		private final RuleCall cOperationProductOperationEnumRuleCall_1_1_0 = (RuleCall)cOperationAssignment_1_1.eContents().get(0);
-		private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
-		private final RuleCall cRightPowerParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
-		
-		//Product returns Expression:
-		//	Power ({Product.left=current} operation=ProductOperation right=Power)*;
-		public ParserRule getRule() { return rule; }
-
-		//Power ({Product.left=current} operation=ProductOperation right=Power)*
-		public Group getGroup() { return cGroup; }
-
-		//Power
-		public RuleCall getPowerParserRuleCall_0() { return cPowerParserRuleCall_0; }
-
-		//({Product.left=current} operation=ProductOperation right=Power)*
-		public Group getGroup_1() { return cGroup_1; }
-
-		//{Product.left=current}
-		public Action getProductLeftAction_1_0() { return cProductLeftAction_1_0; }
-
-		//operation=ProductOperation
-		public Assignment getOperationAssignment_1_1() { return cOperationAssignment_1_1; }
-
-		//ProductOperation
-		public RuleCall getOperationProductOperationEnumRuleCall_1_1_0() { return cOperationProductOperationEnumRuleCall_1_1_0; }
-
-		//right=Power
-		public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
-
-		//Power
-		public RuleCall getRightPowerParserRuleCall_1_2_0() { return cRightPowerParserRuleCall_1_2_0; }
-	}
-
-	public class PowerElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Power");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cAtomParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Action cPowerBaseAction_1_0 = (Action)cGroup_1.eContents().get(0);
-		private final Keyword cCircumflexAccentKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
-		private final Assignment cExponentAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
-		private final RuleCall cExponentAtomParserRuleCall_1_2_0 = (RuleCall)cExponentAssignment_1_2.eContents().get(0);
-		
-		//Power returns Expression:
-		//	Atom ({Power.base=current} "^" exponent=Atom)*;
-		public ParserRule getRule() { return rule; }
-
-		//Atom ({Power.base=current} "^" exponent=Atom)*
-		public Group getGroup() { return cGroup; }
-
-		//Atom
-		public RuleCall getAtomParserRuleCall_0() { return cAtomParserRuleCall_0; }
-
-		//({Power.base=current} "^" exponent=Atom)*
-		public Group getGroup_1() { return cGroup_1; }
-
-		//{Power.base=current}
-		public Action getPowerBaseAction_1_0() { return cPowerBaseAction_1_0; }
-
-		//"^"
-		public Keyword getCircumflexAccentKeyword_1_1() { return cCircumflexAccentKeyword_1_1; }
-
-		//exponent=Atom
-		public Assignment getExponentAssignment_1_2() { return cExponentAssignment_1_2; }
-
-		//Atom
-		public RuleCall getExponentAtomParserRuleCall_1_2_0() { return cExponentAtomParserRuleCall_1_2_0; }
-	}
-
-	public class AtomElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Atom");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
-		private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
-		private final RuleCall cRootExpressionParserRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
-		private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
-		private final RuleCall cFunctionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		
-		//Atom returns Expression:
-		//	Literal | "(" RootExpression ")" | Function;
-		public ParserRule getRule() { return rule; }
-
-		//Literal | "(" RootExpression ")" | Function
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//Literal
-		public RuleCall getLiteralParserRuleCall_0() { return cLiteralParserRuleCall_0; }
-
-		//"(" RootExpression ")"
-		public Group getGroup_1() { return cGroup_1; }
-
-		//"("
-		public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; }
-
-		//RootExpression
-		public RuleCall getRootExpressionParserRuleCall_1_1() { return cRootExpressionParserRuleCall_1_1; }
-
-		//")"
-		public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; }
-
-		//Function
-		public RuleCall getFunctionParserRuleCall_2() { return cFunctionParserRuleCall_2; }
-	}
-
-	public class FunctionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Function");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Assignment cParametersAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
-		private final RuleCall cParametersRootExpressionParserRuleCall_2_0_0 = (RuleCall)cParametersAssignment_2_0.eContents().get(0);
-		private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
-		private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
-		private final Assignment cParametersAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
-		private final RuleCall cParametersRootExpressionParserRuleCall_2_1_1_0 = (RuleCall)cParametersAssignment_2_1_1.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		
-		//Function:
-		//	name=ID "(" (parameters+=RootExpression ("," parameters+=RootExpression)*)? ")";
-		public ParserRule getRule() { return rule; }
-
-		//name=ID "(" (parameters+=RootExpression ("," parameters+=RootExpression)*)? ")"
-		public Group getGroup() { return cGroup; }
-
-		//name=ID
-		public Assignment getNameAssignment_0() { return cNameAssignment_0; }
-
-		//ID
-		public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
-
-		//"("
-		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
-
-		//(parameters+=RootExpression ("," parameters+=RootExpression)*)?
-		public Group getGroup_2() { return cGroup_2; }
-
-		//parameters+=RootExpression
-		public Assignment getParametersAssignment_2_0() { return cParametersAssignment_2_0; }
-
-		//RootExpression
-		public RuleCall getParametersRootExpressionParserRuleCall_2_0_0() { return cParametersRootExpressionParserRuleCall_2_0_0; }
-
-		//("," parameters+=RootExpression)*
-		public Group getGroup_2_1() { return cGroup_2_1; }
-
-		//","
-		public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; }
-
-		//parameters+=RootExpression
-		public Assignment getParametersAssignment_2_1_1() { return cParametersAssignment_2_1_1; }
-
-		//RootExpression
-		public RuleCall getParametersRootExpressionParserRuleCall_2_1_1_0() { return cParametersRootExpressionParserRuleCall_2_1_1_0; }
-
-		//")"
-		public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
-	}
-
-	public class LiteralElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Literal");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cNumberLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cBooleanLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cFormalParameterParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		
-		//Literal returns Expression:
-		//	NumberLiteral | BooleanLiteral | FormalParameter;
-		public ParserRule getRule() { return rule; }
-
-		//NumberLiteral | BooleanLiteral | FormalParameter
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//NumberLiteral
-		public RuleCall getNumberLiteralParserRuleCall_0() { return cNumberLiteralParserRuleCall_0; }
-
-		//BooleanLiteral
-		public RuleCall getBooleanLiteralParserRuleCall_1() { return cBooleanLiteralParserRuleCall_1; }
-
-		//FormalParameter
-		public RuleCall getFormalParameterParserRuleCall_2() { return cFormalParameterParserRuleCall_2; }
-	}
-
-	public class FormalParameterElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FormalParameter");
-		private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
-		private final RuleCall cValueEStringParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
-		
-		//FormalParameter:
-		//	value=EString;
-		public ParserRule getRule() { return rule; }
-
-		//value=EString
-		public Assignment getValueAssignment() { return cValueAssignment; }
-
-		//EString
-		public RuleCall getValueEStringParserRuleCall_0() { return cValueEStringParserRuleCall_0; }
-	}
-
-	public class BooleanLiteralElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanLiteral");
-		private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
-		private final RuleCall cValueEBooleanParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
-		
-		//BooleanLiteral:
-		//	value=EBoolean;
-		public ParserRule getRule() { return rule; }
-
-		//value=EBoolean
-		public Assignment getValueAssignment() { return cValueAssignment; }
-
-		//EBoolean
-		public RuleCall getValueEBooleanParserRuleCall_0() { return cValueEBooleanParserRuleCall_0; }
-	}
-
-	public class NumberLiteralElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NumberLiteral");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cIntLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cDoubleLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//NumberLiteral returns Expression:
-		//	IntLiteral | DoubleLiteral;
-		public ParserRule getRule() { return rule; }
-
-		//IntLiteral | DoubleLiteral
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//IntLiteral
-		public RuleCall getIntLiteralParserRuleCall_0() { return cIntLiteralParserRuleCall_0; }
-
-		//DoubleLiteral
-		public RuleCall getDoubleLiteralParserRuleCall_1() { return cDoubleLiteralParserRuleCall_1; }
-	}
-
-	public class IntLiteralElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IntLiteral");
-		private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
-		private final RuleCall cValueIntegerParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
-		
-		//IntLiteral:
-		//	value=Integer;
-		public ParserRule getRule() { return rule; }
-
-		//value=Integer
-		public Assignment getValueAssignment() { return cValueAssignment; }
-
-		//Integer
-		public RuleCall getValueIntegerParserRuleCall_0() { return cValueIntegerParserRuleCall_0; }
-	}
-
-	public class DoubleLiteralElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DoubleLiteral");
-		private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
-		private final RuleCall cValueDoubleParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
-		
-		//DoubleLiteral:
-		//	value=Double;
-		public ParserRule getRule() { return rule; }
-
-		//value=Double
-		public Assignment getValueAssignment() { return cValueAssignment; }
-
-		//Double
-		public RuleCall getValueDoubleParserRuleCall_0() { return cValueDoubleParserRuleCall_0; }
-	}
-	
-	
-	public class ProductOperationElements extends AbstractEnumRuleElementFinder {
-		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "ProductOperation");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final EnumLiteralDeclaration cMULTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
-		private final Keyword cMULTAsteriskKeyword_0_0 = (Keyword)cMULTEnumLiteralDeclaration_0.eContents().get(0);
-		private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
-		private final Keyword cDIVSolidusKeyword_1_0 = (Keyword)cDIVEnumLiteralDeclaration_1.eContents().get(0);
-		private final EnumLiteralDeclaration cMODEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
-		private final Keyword cMODPercentSignKeyword_2_0 = (Keyword)cMODEnumLiteralDeclaration_2.eContents().get(0);
-		
-		//enum ProductOperation:
-		//	MULT="*" | DIV="/" | MOD="%";
-		public EnumRule getRule() { return rule; }
-
-		//MULT="*" | DIV="/" | MOD="%"
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//MULT="*"
-		public EnumLiteralDeclaration getMULTEnumLiteralDeclaration_0() { return cMULTEnumLiteralDeclaration_0; }
-
-		//"*"
-		public Keyword getMULTAsteriskKeyword_0_0() { return cMULTAsteriskKeyword_0_0; }
-
-		//DIV="/"
-		public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_1() { return cDIVEnumLiteralDeclaration_1; }
-
-		//"/"
-		public Keyword getDIVSolidusKeyword_1_0() { return cDIVSolidusKeyword_1_0; }
-
-		//MOD="%"
-		public EnumLiteralDeclaration getMODEnumLiteralDeclaration_2() { return cMODEnumLiteralDeclaration_2; }
-
-		//"%"
-		public Keyword getMODPercentSignKeyword_2_0() { return cMODPercentSignKeyword_2_0; }
-	}
-
-	public class TermOperationElements extends AbstractEnumRuleElementFinder {
-		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "TermOperation");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
-		private final Keyword cADDPlusSignKeyword_0_0 = (Keyword)cADDEnumLiteralDeclaration_0.eContents().get(0);
-		private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
-		private final Keyword cSUBHyphenMinusKeyword_1_0 = (Keyword)cSUBEnumLiteralDeclaration_1.eContents().get(0);
-		
-		//enum TermOperation:
-		//	ADD="+" | SUB="-";
-		public EnumRule getRule() { return rule; }
-
-		//ADD="+" | SUB="-"
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//ADD="+"
-		public EnumLiteralDeclaration getADDEnumLiteralDeclaration_0() { return cADDEnumLiteralDeclaration_0; }
-
-		//"+"
-		public Keyword getADDPlusSignKeyword_0_0() { return cADDPlusSignKeyword_0_0; }
-
-		//SUB="-"
-		public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_1() { return cSUBEnumLiteralDeclaration_1; }
-
-		//"-"
-		public Keyword getSUBHyphenMinusKeyword_1_0() { return cSUBHyphenMinusKeyword_1_0; }
-	}
-
-	public class CompareOperationElements extends AbstractEnumRuleElementFinder {
-		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "CompareOperation");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
-		private final Keyword cGREATERGreaterThanSignKeyword_0_0 = (Keyword)cGREATEREnumLiteralDeclaration_0.eContents().get(0);
-		private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
-		private final Keyword cLESSLessThanSignKeyword_1_0 = (Keyword)cLESSEnumLiteralDeclaration_1.eContents().get(0);
-		private final EnumLiteralDeclaration cEQUALSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
-		private final Keyword cEQUALSEqualsSignKeyword_2_0 = (Keyword)cEQUALSEnumLiteralDeclaration_2.eContents().get(0);
-		private final EnumLiteralDeclaration cNOTEQUALEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
-		private final Keyword cNOTEQUALExclamationMarkEqualsSignKeyword_3_0 = (Keyword)cNOTEQUALEnumLiteralDeclaration_3.eContents().get(0);
-		private final EnumLiteralDeclaration cLESSEQUALEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
-		private final Keyword cLESSEQUALLessThanSignEqualsSignKeyword_4_0 = (Keyword)cLESSEQUALEnumLiteralDeclaration_4.eContents().get(0);
-		private final EnumLiteralDeclaration cGREATEREQUALEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
-		private final Keyword cGREATEREQUALGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATEREQUALEnumLiteralDeclaration_5.eContents().get(0);
-		
-		//enum CompareOperation:
-		//	GREATER=">" | LESS="<" | EQUALS="=" | NOTEQUAL="!=" | LESSEQUAL="<=" | GREATEREQUAL=">=";
-		public EnumRule getRule() { return rule; }
-
-		//GREATER=">" | LESS="<" | EQUALS="=" | NOTEQUAL="!=" | LESSEQUAL="<=" | GREATEREQUAL=">="
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//GREATER=">"
-		public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_0() { return cGREATEREnumLiteralDeclaration_0; }
-
-		//">"
-		public Keyword getGREATERGreaterThanSignKeyword_0_0() { return cGREATERGreaterThanSignKeyword_0_0; }
-
-		//LESS="<"
-		public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_1() { return cLESSEnumLiteralDeclaration_1; }
-
-		//"<"
-		public Keyword getLESSLessThanSignKeyword_1_0() { return cLESSLessThanSignKeyword_1_0; }
-
-		//EQUALS="="
-		public EnumLiteralDeclaration getEQUALSEnumLiteralDeclaration_2() { return cEQUALSEnumLiteralDeclaration_2; }
-
-		//"="
-		public Keyword getEQUALSEqualsSignKeyword_2_0() { return cEQUALSEqualsSignKeyword_2_0; }
-
-		//NOTEQUAL="!="
-		public EnumLiteralDeclaration getNOTEQUALEnumLiteralDeclaration_3() { return cNOTEQUALEnumLiteralDeclaration_3; }
-
-		//"!="
-		public Keyword getNOTEQUALExclamationMarkEqualsSignKeyword_3_0() { return cNOTEQUALExclamationMarkEqualsSignKeyword_3_0; }
-
-		//LESSEQUAL="<="
-		public EnumLiteralDeclaration getLESSEQUALEnumLiteralDeclaration_4() { return cLESSEQUALEnumLiteralDeclaration_4; }
-
-		//"<="
-		public Keyword getLESSEQUALLessThanSignEqualsSignKeyword_4_0() { return cLESSEQUALLessThanSignEqualsSignKeyword_4_0; }
-
-		//GREATEREQUAL=">="
-		public EnumLiteralDeclaration getGREATEREQUALEnumLiteralDeclaration_5() { return cGREATEREQUALEnumLiteralDeclaration_5; }
-
-		//">="
-		public Keyword getGREATEREQUALGreaterThanSignEqualsSignKeyword_5_0() { return cGREATEREQUALGreaterThanSignEqualsSignKeyword_5_0; }
-	}
-
-	public class BooleanOperationElements extends AbstractEnumRuleElementFinder {
-		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanOperation");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final EnumLiteralDeclaration cANDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
-		private final Keyword cANDANDKeyword_0_0 = (Keyword)cANDEnumLiteralDeclaration_0.eContents().get(0);
-		private final EnumLiteralDeclaration cOREnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
-		private final Keyword cORORKeyword_1_0 = (Keyword)cOREnumLiteralDeclaration_1.eContents().get(0);
-		private final EnumLiteralDeclaration cXOREnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
-		private final Keyword cXORXORKeyword_2_0 = (Keyword)cXOREnumLiteralDeclaration_2.eContents().get(0);
-		
-		//enum BooleanOperation:
-		//	AND | OR | XOR;
-		public EnumRule getRule() { return rule; }
-
-		//AND | OR | XOR
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//AND
-		public EnumLiteralDeclaration getANDEnumLiteralDeclaration_0() { return cANDEnumLiteralDeclaration_0; }
-
-		//"AND"
-		public Keyword getANDANDKeyword_0_0() { return cANDANDKeyword_0_0; }
-
-		//OR
-		public EnumLiteralDeclaration getOREnumLiteralDeclaration_1() { return cOREnumLiteralDeclaration_1; }
-
-		//"OR"
-		public Keyword getORORKeyword_1_0() { return cORORKeyword_1_0; }
-
-		//XOR
-		public EnumLiteralDeclaration getXOREnumLiteralDeclaration_2() { return cXOREnumLiteralDeclaration_2; }
-
-		//"XOR"
-		public Keyword getXORXORKeyword_2_0() { return cXORXORKeyword_2_0; }
-	}
-	
-	private ModelElements pModel;
-	private DoubleElements pDouble;
-	private IntegerElements pInteger;
-	private EStringElements pEString;
-	private EBooleanElements pEBoolean;
-	private ProductOperationElements unknownRuleProductOperation;
-	private TermOperationElements unknownRuleTermOperation;
-	private CompareOperationElements unknownRuleCompareOperation;
-	private BooleanOperationElements unknownRuleBooleanOperation;
-	private RootExpressionElements pRootExpression;
-	private IfElseExpressionElements pIfElseExpression;
-	private BinaryBooleanExpressionElements pBinaryBooleanExpression;
-	private UnaryBooleanExpressionElements pUnaryBooleanExpression;
-	private ComparisonElements pComparison;
-	private TermElements pTerm;
-	private ProductElements pProduct;
-	private PowerElements pPower;
-	private AtomElements pAtom;
-	private FunctionElements pFunction;
-	private LiteralElements pLiteral;
-	private FormalParameterElements pFormalParameter;
-	private BooleanLiteralElements pBooleanLiteral;
-	private NumberLiteralElements pNumberLiteral;
-	private IntLiteralElements pIntLiteral;
-	private DoubleLiteralElements pDoubleLiteral;
-	
-	private final Grammar grammar;
-
-	private TerminalsGrammarAccess gaTerminals;
-
-	@Inject
-	public MyDslGrammarAccess(GrammarProvider grammarProvider,
-		TerminalsGrammarAccess gaTerminals) {
-		this.grammar = internalFindGrammar(grammarProvider);
-		this.gaTerminals = gaTerminals;
-	}
-	
-	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
-		Grammar grammar = grammarProvider.getGrammar(this);
-		while (grammar != null) {
-			if ("org.xtext.example.mydsl.MyDsl".equals(grammar.getName())) {
-				return grammar;
-			}
-			List<Grammar> grammars = grammar.getUsedGrammars();
-			if (!grammars.isEmpty()) {
-				grammar = grammars.iterator().next();
-			} else {
-				return null;
-			}
-		}
-		return grammar;
-	}
-	
-	
-	public Grammar getGrammar() {
-		return grammar;
-	}
-	
-
-	public TerminalsGrammarAccess getTerminalsGrammarAccess() {
-		return gaTerminals;
-	}
-
-	
-	//Model:
-	//	terms=IfElseExpression;
-	public ModelElements getModelAccess() {
-		return (pModel != null) ? pModel : (pModel = new ModelElements());
-	}
-	
-	public ParserRule getModelRule() {
-		return getModelAccess().getRule();
-	}
-
-	//Double returns ecore::EBigDecimal:
-	//	"-"? INT "." // (('e'|'E') '-'? INT)?
-	//
-	//	INT;
-	public DoubleElements getDoubleAccess() {
-		return (pDouble != null) ? pDouble : (pDouble = new DoubleElements());
-	}
-	
-	public ParserRule getDoubleRule() {
-		return getDoubleAccess().getRule();
-	}
-
-	//Integer returns ecore::EBigInteger:
-	//	"-"? INT;
-	public IntegerElements getIntegerAccess() {
-		return (pInteger != null) ? pInteger : (pInteger = new IntegerElements());
-	}
-	
-	public ParserRule getIntegerRule() {
-		return getIntegerAccess().getRule();
-	}
-
-	//EString returns ecore::EString:
-	//	STRING | ID;
-	public EStringElements getEStringAccess() {
-		return (pEString != null) ? pEString : (pEString = new EStringElements());
-	}
-	
-	public ParserRule getEStringRule() {
-		return getEStringAccess().getRule();
-	}
-
-	//EBoolean returns ecore::EBoolean:
-	//	"true" | "false";
-	public EBooleanElements getEBooleanAccess() {
-		return (pEBoolean != null) ? pEBoolean : (pEBoolean = new EBooleanElements());
-	}
-	
-	public ParserRule getEBooleanRule() {
-		return getEBooleanAccess().getRule();
-	}
-
-	//enum ProductOperation:
-	//	MULT="*" | DIV="/" | MOD="%";
-	public ProductOperationElements getProductOperationAccess() {
-		return (unknownRuleProductOperation != null) ? unknownRuleProductOperation : (unknownRuleProductOperation = new ProductOperationElements());
-	}
-	
-	public EnumRule getProductOperationRule() {
-		return getProductOperationAccess().getRule();
-	}
-
-	//enum TermOperation:
-	//	ADD="+" | SUB="-";
-	public TermOperationElements getTermOperationAccess() {
-		return (unknownRuleTermOperation != null) ? unknownRuleTermOperation : (unknownRuleTermOperation = new TermOperationElements());
-	}
-	
-	public EnumRule getTermOperationRule() {
-		return getTermOperationAccess().getRule();
-	}
-
-	//enum CompareOperation:
-	//	GREATER=">" | LESS="<" | EQUALS="=" | NOTEQUAL="!=" | LESSEQUAL="<=" | GREATEREQUAL=">=";
-	public CompareOperationElements getCompareOperationAccess() {
-		return (unknownRuleCompareOperation != null) ? unknownRuleCompareOperation : (unknownRuleCompareOperation = new CompareOperationElements());
-	}
-	
-	public EnumRule getCompareOperationRule() {
-		return getCompareOperationAccess().getRule();
-	}
-
-	//enum BooleanOperation:
-	//	AND | OR | XOR;
-	public BooleanOperationElements getBooleanOperationAccess() {
-		return (unknownRuleBooleanOperation != null) ? unknownRuleBooleanOperation : (unknownRuleBooleanOperation = new BooleanOperationElements());
-	}
-	
-	public EnumRule getBooleanOperationRule() {
-		return getBooleanOperationAccess().getRule();
-	}
-
-	//RootExpression returns Expression:
-	//	IfElseExpression;
-	public RootExpressionElements getRootExpressionAccess() {
-		return (pRootExpression != null) ? pRootExpression : (pRootExpression = new RootExpressionElements());
-	}
-	
-	public ParserRule getRootExpressionRule() {
-		return getRootExpressionAccess().getRule();
-	}
-
-	//IfElseExpression returns Expression:
-	//	BinaryBooleanExpression ({IfElseExpression.condition=current} "?" trueExp=IfElseExpression ":"
-	//	falseExp=IfElseExpression)?;
-	public IfElseExpressionElements getIfElseExpressionAccess() {
-		return (pIfElseExpression != null) ? pIfElseExpression : (pIfElseExpression = new IfElseExpressionElements());
-	}
-	
-	public ParserRule getIfElseExpressionRule() {
-		return getIfElseExpressionAccess().getRule();
-	}
-
-	//BinaryBooleanExpression returns Expression:
-	//	UnaryBooleanExpression ({BinaryBooleanExpression.left=current} operation=BooleanOperation
-	//	right=UnaryBooleanExpression)*;
-	public BinaryBooleanExpressionElements getBinaryBooleanExpressionAccess() {
-		return (pBinaryBooleanExpression != null) ? pBinaryBooleanExpression : (pBinaryBooleanExpression = new BinaryBooleanExpressionElements());
-	}
-	
-	public ParserRule getBinaryBooleanExpressionRule() {
-		return getBinaryBooleanExpressionAccess().getRule();
-	}
-
-	//UnaryBooleanExpression returns Expression:
-	//	"NOT" Comparison {UnaryBooleanExpression.inner=current} | Comparison;
-	public UnaryBooleanExpressionElements getUnaryBooleanExpressionAccess() {
-		return (pUnaryBooleanExpression != null) ? pUnaryBooleanExpression : (pUnaryBooleanExpression = new UnaryBooleanExpressionElements());
-	}
-	
-	public ParserRule getUnaryBooleanExpressionRule() {
-		return getUnaryBooleanExpressionAccess().getRule();
-	}
-
-	//Comparison returns Expression:
-	//	Term ({Comparison.left=current} operation=CompareOperation right=Term)*;
-	public ComparisonElements getComparisonAccess() {
-		return (pComparison != null) ? pComparison : (pComparison = new ComparisonElements());
-	}
-	
-	public ParserRule getComparisonRule() {
-		return getComparisonAccess().getRule();
-	}
-
-	//Term returns Expression:
-	//	Product ({Term.left=current} operation=TermOperation right=Product)*;
-	public TermElements getTermAccess() {
-		return (pTerm != null) ? pTerm : (pTerm = new TermElements());
-	}
-	
-	public ParserRule getTermRule() {
-		return getTermAccess().getRule();
-	}
-
-	//Product returns Expression:
-	//	Power ({Product.left=current} operation=ProductOperation right=Power)*;
-	public ProductElements getProductAccess() {
-		return (pProduct != null) ? pProduct : (pProduct = new ProductElements());
-	}
-	
-	public ParserRule getProductRule() {
-		return getProductAccess().getRule();
-	}
-
-	//Power returns Expression:
-	//	Atom ({Power.base=current} "^" exponent=Atom)*;
-	public PowerElements getPowerAccess() {
-		return (pPower != null) ? pPower : (pPower = new PowerElements());
-	}
-	
-	public ParserRule getPowerRule() {
-		return getPowerAccess().getRule();
-	}
-
-	//Atom returns Expression:
-	//	Literal | "(" RootExpression ")" | Function;
-	public AtomElements getAtomAccess() {
-		return (pAtom != null) ? pAtom : (pAtom = new AtomElements());
-	}
-	
-	public ParserRule getAtomRule() {
-		return getAtomAccess().getRule();
-	}
-
-	//Function:
-	//	name=ID "(" (parameters+=RootExpression ("," parameters+=RootExpression)*)? ")";
-	public FunctionElements getFunctionAccess() {
-		return (pFunction != null) ? pFunction : (pFunction = new FunctionElements());
-	}
-	
-	public ParserRule getFunctionRule() {
-		return getFunctionAccess().getRule();
-	}
-
-	//Literal returns Expression:
-	//	NumberLiteral | BooleanLiteral | FormalParameter;
-	public LiteralElements getLiteralAccess() {
-		return (pLiteral != null) ? pLiteral : (pLiteral = new LiteralElements());
-	}
-	
-	public ParserRule getLiteralRule() {
-		return getLiteralAccess().getRule();
-	}
-
-	//FormalParameter:
-	//	value=EString;
-	public FormalParameterElements getFormalParameterAccess() {
-		return (pFormalParameter != null) ? pFormalParameter : (pFormalParameter = new FormalParameterElements());
-	}
-	
-	public ParserRule getFormalParameterRule() {
-		return getFormalParameterAccess().getRule();
-	}
-
-	//BooleanLiteral:
-	//	value=EBoolean;
-	public BooleanLiteralElements getBooleanLiteralAccess() {
-		return (pBooleanLiteral != null) ? pBooleanLiteral : (pBooleanLiteral = new BooleanLiteralElements());
-	}
-	
-	public ParserRule getBooleanLiteralRule() {
-		return getBooleanLiteralAccess().getRule();
-	}
-
-	//NumberLiteral returns Expression:
-	//	IntLiteral | DoubleLiteral;
-	public NumberLiteralElements getNumberLiteralAccess() {
-		return (pNumberLiteral != null) ? pNumberLiteral : (pNumberLiteral = new NumberLiteralElements());
-	}
-	
-	public ParserRule getNumberLiteralRule() {
-		return getNumberLiteralAccess().getRule();
-	}
-
-	//IntLiteral:
-	//	value=Integer;
-	public IntLiteralElements getIntLiteralAccess() {
-		return (pIntLiteral != null) ? pIntLiteral : (pIntLiteral = new IntLiteralElements());
-	}
-	
-	public ParserRule getIntLiteralRule() {
-		return getIntLiteralAccess().getRule();
-	}
-
-	//DoubleLiteral:
-	//	value=Double;
-	public DoubleLiteralElements getDoubleLiteralAccess() {
-		return (pDoubleLiteral != null) ? pDoubleLiteral : (pDoubleLiteral = new DoubleLiteralElements());
-	}
-	
-	public ParserRule getDoubleLiteralRule() {
-		return getDoubleLiteralAccess().getRule();
-	}
-
-	//terminal ID:
-	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
-	public TerminalRule getIDRule() {
-		return gaTerminals.getIDRule();
-	} 
-
-	//terminal INT returns ecore::EInt:
-	//	"0".."9"+;
-	public TerminalRule getINTRule() {
-		return gaTerminals.getINTRule();
-	} 
-
-	//terminal STRING:
-	//	"\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
-	//	"n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
-	public TerminalRule getSTRINGRule() {
-		return gaTerminals.getSTRINGRule();
-	} 
-
-	//terminal ML_COMMENT:
-	//	"/ *"->"* /";
-	public TerminalRule getML_COMMENTRule() {
-		return gaTerminals.getML_COMMENTRule();
-	} 
-
-	//terminal SL_COMMENT:
-	//	"//" !("\n" | "\r")* ("\r"? "\n")?;
-	public TerminalRule getSL_COMMENTRule() {
-		return gaTerminals.getSL_COMMENTRule();
-	} 
-
-	//terminal WS:
-	//	(" " | "\t" | "\r" | "\n")+;
-	public TerminalRule getWSRule() {
-		return gaTerminals.getWSRule();
-	} 
-
-	//terminal ANY_OTHER:
-	//	.;
-	public TerminalRule getANY_OTHERRule() {
-		return gaTerminals.getANY_OTHERRule();
-	} 
-}
diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/validation/AbstractMyDslJavaValidator.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/validation/AbstractMyDslJavaValidator.java
deleted file mode 100644
index 7a1bb29e15be9f96515b8484e04cc4606fd7fdde..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/validation/AbstractMyDslJavaValidator.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.xtext.example.mydsl.validation;
- 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
-
-public class AbstractMyDslJavaValidator extends AbstractDeclarativeValidator {
-
-	@Override
-	protected List<EPackage> getEPackages() {
-	    List<EPackage> result = new ArrayList<EPackage>();
-	    result.add(org.xtext.example.mydsl.myDsl.MyDslPackage.eINSTANCE);
-		return result;
-	}
-
-}
diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2 b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
deleted file mode 100644
index 471ab6238eadff4163a98b8b07fa0b00ce21d9d0..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
+++ /dev/null
@@ -1,143 +0,0 @@
-module org.xtext.example.mydsl.GenerateMyDsl
-
-import org.eclipse.emf.mwe.utils.*
-import org.eclipse.xtext.generator.*
-import org.eclipse.xtext.ui.generator.*
-
-var grammarURI = "classpath:/org/xtext/example/mydsl/MyDsl.xtext"
-var file.extensions = "mydsl"
-var projectName = "org.xtext.example.mydsl"
-var runtimeProject = "../${projectName}"
-
-Workflow {
-    bean = StandaloneSetup {
-            scanClassPath = true
-            platformUri = "${runtimeProject}/.."
-            // The following two lines can be removed, if Xbase is not used.
-            registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
-            registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
-        }
-    
-        component = DirectoryCleaner {
-            directory = "${runtimeProject}/src-gen"
-        }
-    
-        component = DirectoryCleaner {
-            directory = "${runtimeProject}.ui/src-gen"
-        }
-    
-        component = Generator {
-            pathRtProject = runtimeProject
-            pathUiProject = "${runtimeProject}.ui"
-            pathTestProject = "${runtimeProject}.tests"
-            projectNameRt = projectName
-            projectNameUi = "${projectName}.ui"
-            language = {
-                uri = grammarURI
-                fileExtensions = file.extensions
-    
-                // Java API to access grammar elements (required by several other fragments)
-                fragment = grammarAccess.GrammarAccessFragment {}
-    
-    		// formatter API 
-			fragment = ecore2xtext.FormatterFragment {}
-                // generates Java API for the generated EPackages
-                fragment = ecore.EcoreGeneratorFragment {
-                // referencedGenModels = "
-                //  platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel,
-                //  platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel
-                // "
-                }
-                // the Ecore2Xtext specific terminal converter
-				fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment {}
-    
-                // Serializer 2.0
-                fragment = serializer.SerializerFragment {
-                	generateStub = false
-                }
-                
-                // the serialization component (1.0)
-                // fragment = parseTreeConstructor.ParseTreeConstructorFragment {}
-    
-                // a custom ResourceFactory for use with EMF
-                fragment = resourceFactory.ResourceFactoryFragment {
-                    fileExtensions = file.extensions
-                }
-    
-                // The antlr parser generator fragment.
-                fragment = parser.antlr.XtextAntlrGeneratorFragment {
-                //  options = {
-                //      backtrack = true
-                //  }
-                }
-    
-                // java-based API for validation
-                fragment = validation.JavaValidatorFragment {
-                //    composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-                //    composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
-                }
-    
-                // scoping and exporting API
-                // fragment = scoping.ImportURIScopingFragment {}
-                // fragment = exporting.SimpleNamesFragment {}
-    
-                // scoping and exporting API
-                fragment = scoping.ImportNamespacesScopingFragment {}
-                fragment = exporting.QualifiedNamesFragment {}
-                fragment = builder.BuilderIntegrationFragment {}
-    
-                // generator API
-                fragment = generator.GeneratorFragment {
-                    generateMwe = false
-                    generateJavaMain = false
-                }
-    
-                // formatter API
-                fragment = formatting.FormatterFragment {}
-    
-                // labeling API
-                fragment = labeling.LabelProviderFragment {}
-    
-                // outline API
-                fragment = outline.OutlineTreeProviderFragment {}
-                fragment = outline.QuickOutlineFragment {}
-    
-                // quickfix API
-                fragment = quickfix.QuickfixProviderFragment {}
-    
-                // content assist API
-                fragment = contentAssist.JavaBasedContentAssistFragment {}
-    
-                // generates a more lightweight Antlr parser and lexer tailored for content assist
-                fragment = parser.antlr.XtextAntlrUiGeneratorFragment {}
-    
-                // generates junit test support classes into Generator#pathTestProject
-                fragment = junit.Junit4Fragment {}
-    
-                // project wizard (optional)
-                // fragment = projectWizard.SimpleProjectWizardFragment {
-                //      generatorProjectName = "${projectName}"
-                //      modelFileExtension = file.extensions
-                // }
-    
-                // rename refactoring
-                fragment = refactoring.RefactorElementNameFragment {}
-    
-                // provides the necessary bindings for java types integration
-                fragment = types.TypesGeneratorFragment {}
-    
-                // generates the required bindings only if the grammar inherits from Xbase
-                fragment = xbase.XbaseGeneratorFragment {}
-    
-                // provides a preference page for template proposals
-                fragment = templates.CodetemplatesGeneratorFragment {}
-    
-                // provides a compare view
-                fragment = compare.CompareFragment {
-                     fileExtensions = file.extensions
-                }
-    
-            }
-        }
-}
-
diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext
deleted file mode 100644
index e0d2a67cd4d7550beac7061e809c9e383fc002a4..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext
+++ /dev/null
@@ -1,93 +0,0 @@
-grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
-import "http://www.eclipse.org/emf/2002/Ecore" as ecore
-generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
-
-Model:
-	terms=IfElseExpression;
-
-Double returns ecore::EBigDecimal: 
-	'-'? INT '.' INT // (('e'|'E') '-'? INT)?
-;
-
-Integer returns ecore::EBigInteger :
-	'-'? INT
-;
- 
-EString returns ecore::EString :
-	STRING | ID
-; 
-
-EBoolean returns ecore::EBoolean:
-	'true' | 'false'
-;
- 
-enum ProductOperation:
-	MULT='*'|DIV='/'|MOD='%'
-; 
- 
-enum TermOperation:
-	ADD='+' | SUB='-' 
-;
-
-enum CompareOperation:
-	GREATER='>' | LESS='<'|EQUALS='='|NOTEQUAL='!='|LESSEQUAL='<=' | GREATEREQUAL='>='
-; 
- 
-enum BooleanOperation:
-	AND='AND' | OR='OR' | XOR='XOR'
-;
-
-RootExpression returns Expression:
-	IfElseExpression;
-
-IfElseExpression returns Expression:
-	BinaryBooleanExpression ({IfElseExpression.condition=current} '?' trueExp=IfElseExpression ':' falseExp=IfElseExpression)?;
-
-BinaryBooleanExpression returns Expression:
-	UnaryBooleanExpression ({BinaryBooleanExpression.left=current} operation=BooleanOperation right=UnaryBooleanExpression)*;
-
-UnaryBooleanExpression returns Expression:
-	('NOT' Comparison {UnaryBooleanExpression.inner=current}) | Comparison;
-
-Comparison returns Expression:
-	Term ({Comparison.left=current} operation=CompareOperation right=Term)*;
- 
-Term returns Expression:
-	Product ({Term.left=current} operation=TermOperation right=Product)*;
-
-Product returns Expression:
-	Power ({Product.left=current} operation=ProductOperation right=Power)*;
-
-Power returns Expression:
-	Atom ({Power.base=current} '^' exponent=Atom)*;
-
-Atom returns Expression:
-	Literal | '(' RootExpression ')' | Function;
-
-Function returns Function:
-	name=ID '(' (parameters+=RootExpression (',' parameters+=RootExpression)*)? ')';
-	
-Literal returns Expression:
-	NumberLiteral | BooleanLiteral | FormalParameter
-;	
-
-FormalParameter:
-	value=EString
-;
-
-BooleanLiteral:
-	value=EBoolean
-;
-
-NumberLiteral returns Expression:
-	IntLiteral | DoubleLiteral
-;
-
-IntLiteral:
-	value=Integer
-;
-
-DoubleLiteral:
-	value=Double
-;
-
diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDslRuntimeModule.java b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDslRuntimeModule.java
deleted file mode 100644
index 3867acb269f292d22596b6f7a40eaca2316183de..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDslRuntimeModule.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl;
-
-/**
- * Use this class to register components to be used at runtime / without the Equinox extension registry.
- */
-public class MyDslRuntimeModule extends org.xtext.example.mydsl.AbstractMyDslRuntimeModule {
-
-}
diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDslStandaloneSetup.java b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDslStandaloneSetup.java
deleted file mode 100644
index 864cb5b7243c0027718ebe020642d09023b2ec9f..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDslStandaloneSetup.java
+++ /dev/null
@@ -1,14 +0,0 @@
-
-package org.xtext.example.mydsl;
-
-/**
- * Initialization support for running Xtext languages 
- * without equinox extension registry
- */
-public class MyDslStandaloneSetup extends MyDslStandaloneSetupGenerated{
-
-	public static void doSetup() {
-		new MyDslStandaloneSetup().createInjectorAndDoEMFRegistration();
-	}
-}
-
diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/formatting/MyDslFormatter.java b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/formatting/MyDslFormatter.java
deleted file mode 100644
index 5f740944d7fb321d28b56b05fe565acd219f27f0..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/formatting/MyDslFormatter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl.formatting;
-
-import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter;
-import org.eclipse.xtext.formatting.impl.FormattingConfig;
-
-/**
- * This class contains custom formatting description.
- * 
- * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#formatting
- * on how and when to use it 
- * 
- * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
- */
-public class MyDslFormatter extends AbstractDeclarativeFormatter {
-	
-	@Override
-	protected void configureFormatting(FormattingConfig c) {
-// It's usually a good idea to activate the following three statements.
-// They will add and preserve newlines around comments
-//		c.setLinewrap(0, 1, 2).before(getGrammarAccess().getSL_COMMENTRule());
-//		c.setLinewrap(0, 1, 2).before(getGrammarAccess().getML_COMMENTRule());
-//		c.setLinewrap(0, 1, 1).after(getGrammarAccess().getML_COMMENTRule());
-	}
-}
diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/generator/MyDslGenerator.xtend b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/generator/MyDslGenerator.xtend
deleted file mode 100644
index b8abd8f9b127354f5c65b4eb5e9af48763c41fab..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/generator/MyDslGenerator.xtend
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl.generator
-
-import org.eclipse.emf.ecore.resource.Resource
-import org.eclipse.xtext.generator.IGenerator
-import org.eclipse.xtext.generator.IFileSystemAccess
-
-class MyDslGenerator implements IGenerator {
-	
-	override void doGenerate(Resource resource, IFileSystemAccess fsa) {
-		//TODO implement me
-	}
-}
diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/old b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/old
deleted file mode 100644
index 9302cb5640996c73bede39c544dae55635370238..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/old
+++ /dev/null
@@ -1,40 +0,0 @@
-grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
-import "http://www.eclipse.org/emf/2002/Ecore" as ecore
-generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
-
-Model:
-	terms+=Term;
-
-Term returns Expression:
-	Types ({Term.left=current} 
-	Operations=Operations
- 	right=Types)*
-;
-
-Types returns Expression:
-	Arithmetics | Strings | '(' Term ')'
-;
-
-Arithmetics returns Expression:
-	{Expression}
-  DECIMAL ;
-  
-Strings returns Expression:
-	{Expression}
-	E_STRING
-;
-
-DECIMAL returns ecore::EBigDecimal : '-'? INT ('.' INT)? ;
- 
-E_STRING returns ecore::EString:
-	STRING | ID;
- 
-Operations returns Expression:
-	termOperations = OperationsType;
-	
-enum OperationsType:
-	ADD='+' | SUB='-' | MULT='*'|DIV='/'|MOD='%' |
-	GREATER='>' | LESS='<'|EQUALS='='|NOTEQUAL='!='|LESSEQUAL='<=' | GREATEREQUAL='>='
-	| AND='AND' | OR='OR' | XOR='XOR';
-
- 
\ No newline at end of file
diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/scoping/MyDslScopeProvider.java b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/scoping/MyDslScopeProvider.java
deleted file mode 100644
index af5c5094c7050c8510d8b9a45ae05a570bb93e89..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/scoping/MyDslScopeProvider.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl.scoping;
-
-import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
-
-/**
- * This class contains custom scoping description.
- * 
- * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#scoping
- * on how and when to use it 
- *
- */
-public class MyDslScopeProvider extends AbstractDeclarativeScopeProvider {
-
-}
diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/validation/MyDslJavaValidator.java b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/validation/MyDslJavaValidator.java
deleted file mode 100644
index ea0ab44f1b9b7c64444866ca585e2cc070592f0c..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/validation/MyDslJavaValidator.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.xtext.example.mydsl.validation;
- 
-
-public class MyDslJavaValidator extends AbstractMyDslJavaValidator {
-
-//	@Check
-//	public void checkGreetingStartsWithCapital(Greeting greeting) {
-//		if (!Character.isUpperCase(greeting.getName().charAt(0))) {
-//			warning("Name should start with a capital", MyDslPackage.Literals.GREETING__NAME);
-//		}
-//	}
-
-}
diff --git a/org.xtext.example.mydsl/xtend-gen/org/xtext/example/mydsl/generator/.MyDslGenerator.java._trace b/org.xtext.example.mydsl/xtend-gen/org/xtext/example/mydsl/generator/.MyDslGenerator.java._trace
deleted file mode 100644
index b7f09c4edd113396d7a7fbeb39c22fb69e1ca5b9..0000000000000000000000000000000000000000
Binary files a/org.xtext.example.mydsl/xtend-gen/org/xtext/example/mydsl/generator/.MyDslGenerator.java._trace and /dev/null differ
diff --git a/org.xtext.example.mydsl/xtend-gen/org/xtext/example/mydsl/generator/MyDslGenerator.java b/org.xtext.example.mydsl/xtend-gen/org/xtext/example/mydsl/generator/MyDslGenerator.java
deleted file mode 100644
index fc8be53aa07ccebf12ebf463d54eed7e8860ec32..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl/xtend-gen/org/xtext/example/mydsl/generator/MyDslGenerator.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.xtext.example.mydsl.generator;
-
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.xtext.generator.IFileSystemAccess;
-import org.eclipse.xtext.generator.IGenerator;
-
-@SuppressWarnings("all")
-public class MyDslGenerator implements IGenerator {
-  public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
-  }
-}
diff --git a/org.xtext.example.mydsl1.sdk/.project b/org.xtext.example.mydsl1.sdk/.project
deleted file mode 100644
index 5ce31b58b20649cf2c997e2ba32636a58ffa8978..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.sdk/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.xtext.example.mydsl1.sdk</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.xtext.example.mydsl1.sdk/build.properties b/org.xtext.example.mydsl1.sdk/build.properties
deleted file mode 100644
index 43c54c1435ee5e276c270e1d2c0661bc55456409..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.sdk/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes =feature.xml
diff --git a/org.xtext.example.mydsl1.sdk/feature.xml b/org.xtext.example.mydsl1.sdk/feature.xml
deleted file mode 100644
index d862c1267edf051689e0e4e9be511de57a005f11..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.sdk/feature.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.xtext.example.mydsl1.sdk"
-	label="MyDsl1 SDK Feature "
-	version="1.0.0.qualifier">
-	<plugin
-			id="org.xtext.example.mydsl1"
-			download-size="0"
-			install-size="0"
-			version="0.0.0"
-			unpack="false"/>
-	<plugin
-			id="org.xtext.example.mydsl1.ui"
-			download-size="0"
-			install-size="0"
-			version="0.0.0"
-			unpack="false"/>
-</feature>
diff --git a/org.xtext.example.mydsl1.tests/.classpath b/org.xtext.example.mydsl1.tests/.classpath
deleted file mode 100644
index e5fbd3dd27a3e2272ac7e61c9bea0a3249387ca8..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.tests/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.xtext.example.mydsl1.tests/.project b/org.xtext.example.mydsl1.tests/.project
deleted file mode 100644
index c0003e90b2057718f7622a5d9a67c740e1f40830..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.xtext.example.mydsl1.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.xtext.example.mydsl1.tests/META-INF/MANIFEST.MF b/org.xtext.example.mydsl1.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index e67e25152b02bd18d516a2712727b86be906f1b6..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.xtext.example.mydsl1.tests
-Bundle-Vendor: My Company
-Bundle-Version: 1.0.0.qualifier
-Bundle-SymbolicName: org.xtext.example.mydsl1.tests; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.xtext.example.mydsl1,
- org.xtext.example.mydsl1.ui,
- org.eclipse.core.runtime,
- org.eclipse.xtext.junit4,
- org.eclipse.ui.workbench;resolution:=optional
-Import-Package: org.apache.log4j,
- org.junit;version="4.5.0",
- org.junit.runner;version="4.5.0",
- org.junit.runner.manipulation;version="4.5.0",
- org.junit.runner.notification;version="4.5.0",
- org.junit.runners;version="4.5.0",
- org.junit.runners.model;version="4.5.0",
- org.hamcrest.core
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/org.xtext.example.mydsl1.tests/build.properties b/org.xtext.example.mydsl1.tests/build.properties
deleted file mode 100644
index e10dcceb6a3b0a473cf9e86fb9c6047abb97541d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.tests/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/,\
-          src-gen/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
\ No newline at end of file
diff --git a/org.xtext.example.mydsl1.tests/org.xtext.example.mydsl1.tests.launch b/org.xtext.example.mydsl1.tests/org.xtext.example.mydsl1.tests.launch
deleted file mode 100644
index db3ad7e0620fc5ba68220df5035bb9fd10b81bc3..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.tests/org.xtext.example.mydsl1.tests.launch
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.xtext.example.mydsl1.tests"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.xtext.example.mydsl1.tests"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.xtext.example.mydsl1.tests"/>
-</launchConfiguration>
diff --git a/org.xtext.example.mydsl1.ui/.classpath b/org.xtext.example.mydsl1.ui/.classpath
deleted file mode 100644
index e5fbd3dd27a3e2272ac7e61c9bea0a3249387ca8..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.xtext.example.mydsl1.ui/.project b/org.xtext.example.mydsl1.ui/.project
deleted file mode 100644
index 66d5fd8e69a730b725d9dabfe1c66b0d02001b56..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.xtext.example.mydsl1.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.xtext.example.mydsl1.ui/META-INF/MANIFEST.MF b/org.xtext.example.mydsl1.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index ede997c7a42ed54de09b31453c74829bb572d456..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.xtext.example.mydsl1.ui
-Bundle-Vendor: My Company
-Bundle-Version: 1.0.0.qualifier
-Bundle-SymbolicName: org.xtext.example.mydsl1.ui; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.xtext.example.mydsl1;visibility:=reexport,
- org.eclipse.xtext.ui,
- org.eclipse.ui.editors;bundle-version="3.5.0",
- org.eclipse.ui.ide;bundle-version="3.5.0",
- org.eclipse.xtext.ui.shared,
- org.eclipse.ui,
- org.antlr.runtime,
- org.eclipse.compare,
- org.eclipse.xtext.builder
-Import-Package: org.apache.log4j
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.xtext.example.mydsl1.ui.contentassist,
- org.xtext.example.mydsl1.ui.contentassist.antlr
-Bundle-Activator: org.xtext.example.mydsl1.ui.internal.MyDsl1Activator
diff --git a/org.xtext.example.mydsl1.ui/build.properties b/org.xtext.example.mydsl1.ui/build.properties
deleted file mode 100644
index e10dcceb6a3b0a473cf9e86fb9c6047abb97541d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/,\
-          src-gen/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
\ No newline at end of file
diff --git a/org.xtext.example.mydsl1.ui/plugin.xml b/org.xtext.example.mydsl1.ui/plugin.xml
deleted file mode 100644
index ef01f88faa1b080f6bfdbabc9e10541e33b2dc94..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/plugin.xml
+++ /dev/null
@@ -1,258 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-    <extension
-            point="org.eclipse.ui.editors">
-        <editor
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
-            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
-            default="true"
-            extensions="mydsl1"
-            id="org.xtext.example.mydsl1.MyDsl1"
-            name="MyDsl1 Editor">
-        </editor>
-    </extension>
-    <extension
-        point="org.eclipse.ui.handlers">
-        <handler
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
-            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
-            <activeWhen>
-                <reference
-                    definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-        <handler
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
-            commandId="org.xtext.example.mydsl1.MyDsl1.validate">
-         <activeWhen>
-            <reference
-                    definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-            </reference>
-         </activeWhen>
-      </handler>
-    </extension>
-    <extension point="org.eclipse.core.expressions.definitions">
-        <definition id="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-            <and>
-                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
-                <with variable="activeEditor">
-                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
-                        value="org.xtext.example.mydsl1.MyDsl1" 
-                        forcePluginActivation="true"/>
-                </with>        
-            </and>
-        </definition>
-    </extension>
-    <extension
-            point="org.eclipse.ui.preferencePages">
-        <page
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-            id="org.xtext.example.mydsl1.MyDsl1"
-            name="MyDsl1">
-            <keywordReference id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"/>
-        </page>
-        <page
-            category="org.xtext.example.mydsl1.MyDsl1"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
-            id="org.xtext.example.mydsl1.MyDsl1.coloring"
-            name="Syntax Coloring">
-            <keywordReference id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"/>
-        </page>
-        <page
-            category="org.xtext.example.mydsl1.MyDsl1"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
-            id="org.xtext.example.mydsl1.MyDsl1.templates"
-            name="Templates">
-            <keywordReference id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"/>
-        </page>
-    </extension>
-    <extension
-            point="org.eclipse.ui.propertyPages">
-        <page
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-            id="org.xtext.example.mydsl1.MyDsl1"
-            name="MyDsl1">
-            <keywordReference id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"/>
-            <enabledWhen>
-	            <adapt type="org.eclipse.core.resources.IProject"/>
-			</enabledWhen>
-	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
-        </page>
-    </extension>
-    <extension
-        point="org.eclipse.ui.keywords">
-        <keyword
-            id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"
-            label="MyDsl1"/>
-    </extension>
-    <extension
-         point="org.eclipse.ui.commands">
-      <command
-            description="Trigger expensive validation"
-            id="org.xtext.example.mydsl1.MyDsl1.validate"
-            name="Validate">
-      </command>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-        <menuContribution
-            locationURI="popup:#TextEditorContext?after=group.edit">
-             <command
-                 commandId="org.xtext.example.mydsl1.MyDsl1.validate"
-                 style="push"
-                 tooltip="Trigger expensive validation">
-            <visibleWhen checkEnabled="false">
-                <reference
-                    definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-                </reference>
-            </visibleWhen>
-         </command>  
-         </menuContribution>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
-			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
-				<visibleWhen checkEnabled="false">
-                	<reference definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-                	</reference>
-            	</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<extension point="org.eclipse.ui.handlers">
-	    <handler
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
-            commandId="org.eclipse.xtext.ui.editor.FindReferences">
-            <activeWhen>
-                <reference
-                    definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-    </extension>   
-
-<!-- adding resource factories -->
-
-	<extension
-		point="org.eclipse.emf.ecore.extension_parser">
-		<parser
-			class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
-			type="mydsl1">
-		</parser>
-	</extension>
-	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
-        <resourceServiceProvider
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
-            uriExtension="mydsl1">
-        </resourceServiceProvider>
-    </extension>
-
-
-    <!-- marker definitions for org.xtext.example.mydsl1.MyDsl1 -->
-    <extension
-            id="mydsl1.check.fast"
-            name="MyDsl1 Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.fast"/>
-        <persistent value="true"/>
-    </extension>
-    <extension
-            id="mydsl1.check.normal"
-            name="MyDsl1 Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.normal"/>
-        <persistent value="true"/>
-    </extension>
-    <extension
-            id="mydsl1.check.expensive"
-            name="MyDsl1 Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.expensive"/>
-        <persistent value="true"/>
-    </extension>
-
-	<!-- Quick Outline -->
-	<extension
-		point="org.eclipse.ui.handlers">
-		<handler 
-			class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
-			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
-			<activeWhen>
-				<reference
-					definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-	<extension
-		point="org.eclipse.ui.commands">
-		<command
-			description="Open the quick outline."
-			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-			name="Quick Outline">
-		</command>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution
-			locationURI="popup:#TextEditorContext?after=group.open">
-			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-				style="push"
-				tooltip="Open Quick Outline">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened"/>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-
-  <extension point="org.eclipse.compare.contentViewers">
-    <viewer id="org.xtext.example.mydsl1.MyDsl1.compare.contentViewers"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-            extensions="mydsl1">
-    </viewer>
-  </extension>
-  <extension point="org.eclipse.compare.contentMergeViewers">
-    <viewer id="org.xtext.example.mydsl1.MyDsl1.compare.contentMergeViewers"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-            extensions="mydsl1" label="MyDsl1 Compare">
-     </viewer>
-  </extension>
-  <extension point="org.eclipse.ui.editors.documentProviders">
-    <provider id="org.xtext.example.mydsl1.MyDsl1.editors.documentProviders"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
-            extensions="mydsl1">
-    </provider>
-  </extension>
-    <!-- quickfix marker resolution generator for org.xtext.example.mydsl1.MyDsl1 -->
-    <extension
-            point="org.eclipse.ui.ide.markerResolution">
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl1.ui.mydsl1.check.fast">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl1.ui.mydsl1.check.normal">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl1.ui.mydsl1.check.expensive">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-    </extension>
-
-</plugin>
diff --git a/org.xtext.example.mydsl1.ui/plugin.xml_gen b/org.xtext.example.mydsl1.ui/plugin.xml_gen
deleted file mode 100644
index ef01f88faa1b080f6bfdbabc9e10541e33b2dc94..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/plugin.xml_gen
+++ /dev/null
@@ -1,258 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-    <extension
-            point="org.eclipse.ui.editors">
-        <editor
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
-            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
-            default="true"
-            extensions="mydsl1"
-            id="org.xtext.example.mydsl1.MyDsl1"
-            name="MyDsl1 Editor">
-        </editor>
-    </extension>
-    <extension
-        point="org.eclipse.ui.handlers">
-        <handler
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
-            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
-            <activeWhen>
-                <reference
-                    definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-        <handler
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
-            commandId="org.xtext.example.mydsl1.MyDsl1.validate">
-         <activeWhen>
-            <reference
-                    definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-            </reference>
-         </activeWhen>
-      </handler>
-    </extension>
-    <extension point="org.eclipse.core.expressions.definitions">
-        <definition id="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-            <and>
-                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
-                <with variable="activeEditor">
-                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
-                        value="org.xtext.example.mydsl1.MyDsl1" 
-                        forcePluginActivation="true"/>
-                </with>        
-            </and>
-        </definition>
-    </extension>
-    <extension
-            point="org.eclipse.ui.preferencePages">
-        <page
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-            id="org.xtext.example.mydsl1.MyDsl1"
-            name="MyDsl1">
-            <keywordReference id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"/>
-        </page>
-        <page
-            category="org.xtext.example.mydsl1.MyDsl1"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
-            id="org.xtext.example.mydsl1.MyDsl1.coloring"
-            name="Syntax Coloring">
-            <keywordReference id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"/>
-        </page>
-        <page
-            category="org.xtext.example.mydsl1.MyDsl1"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
-            id="org.xtext.example.mydsl1.MyDsl1.templates"
-            name="Templates">
-            <keywordReference id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"/>
-        </page>
-    </extension>
-    <extension
-            point="org.eclipse.ui.propertyPages">
-        <page
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-            id="org.xtext.example.mydsl1.MyDsl1"
-            name="MyDsl1">
-            <keywordReference id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"/>
-            <enabledWhen>
-	            <adapt type="org.eclipse.core.resources.IProject"/>
-			</enabledWhen>
-	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
-        </page>
-    </extension>
-    <extension
-        point="org.eclipse.ui.keywords">
-        <keyword
-            id="org.xtext.example.mydsl1.ui.keyword_MyDsl1"
-            label="MyDsl1"/>
-    </extension>
-    <extension
-         point="org.eclipse.ui.commands">
-      <command
-            description="Trigger expensive validation"
-            id="org.xtext.example.mydsl1.MyDsl1.validate"
-            name="Validate">
-      </command>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-        <menuContribution
-            locationURI="popup:#TextEditorContext?after=group.edit">
-             <command
-                 commandId="org.xtext.example.mydsl1.MyDsl1.validate"
-                 style="push"
-                 tooltip="Trigger expensive validation">
-            <visibleWhen checkEnabled="false">
-                <reference
-                    definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-                </reference>
-            </visibleWhen>
-         </command>  
-         </menuContribution>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
-			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
-				<visibleWhen checkEnabled="false">
-                	<reference definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-                	</reference>
-            	</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<extension point="org.eclipse.ui.handlers">
-	    <handler
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
-            commandId="org.eclipse.xtext.ui.editor.FindReferences">
-            <activeWhen>
-                <reference
-                    definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-    </extension>   
-
-<!-- adding resource factories -->
-
-	<extension
-		point="org.eclipse.emf.ecore.extension_parser">
-		<parser
-			class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
-			type="mydsl1">
-		</parser>
-	</extension>
-	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
-        <resourceServiceProvider
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
-            uriExtension="mydsl1">
-        </resourceServiceProvider>
-    </extension>
-
-
-    <!-- marker definitions for org.xtext.example.mydsl1.MyDsl1 -->
-    <extension
-            id="mydsl1.check.fast"
-            name="MyDsl1 Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.fast"/>
-        <persistent value="true"/>
-    </extension>
-    <extension
-            id="mydsl1.check.normal"
-            name="MyDsl1 Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.normal"/>
-        <persistent value="true"/>
-    </extension>
-    <extension
-            id="mydsl1.check.expensive"
-            name="MyDsl1 Problem"
-            point="org.eclipse.core.resources.markers">
-        <super type="org.eclipse.xtext.ui.check.expensive"/>
-        <persistent value="true"/>
-    </extension>
-
-	<!-- Quick Outline -->
-	<extension
-		point="org.eclipse.ui.handlers">
-		<handler 
-			class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
-			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
-			<activeWhen>
-				<reference
-					definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-	<extension
-		point="org.eclipse.ui.commands">
-		<command
-			description="Open the quick outline."
-			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-			name="Quick Outline">
-		</command>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution
-			locationURI="popup:#TextEditorContext?after=group.open">
-			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-				style="push"
-				tooltip="Open Quick Outline">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="org.xtext.example.mydsl1.MyDsl1.Editor.opened"/>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-
-  <extension point="org.eclipse.compare.contentViewers">
-    <viewer id="org.xtext.example.mydsl1.MyDsl1.compare.contentViewers"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-            extensions="mydsl1">
-    </viewer>
-  </extension>
-  <extension point="org.eclipse.compare.contentMergeViewers">
-    <viewer id="org.xtext.example.mydsl1.MyDsl1.compare.contentMergeViewers"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-            extensions="mydsl1" label="MyDsl1 Compare">
-     </viewer>
-  </extension>
-  <extension point="org.eclipse.ui.editors.documentProviders">
-    <provider id="org.xtext.example.mydsl1.MyDsl1.editors.documentProviders"
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
-            extensions="mydsl1">
-    </provider>
-  </extension>
-    <!-- quickfix marker resolution generator for org.xtext.example.mydsl1.MyDsl1 -->
-    <extension
-            point="org.eclipse.ui.ide.markerResolution">
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl1.ui.mydsl1.check.fast">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl1.ui.mydsl1.check.normal">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-        <markerResolutionGenerator
-            class="org.xtext.example.mydsl1.ui.MyDsl1ExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-            markerType="org.xtext.example.mydsl1.ui.mydsl1.check.expensive">
-            <attribute
-                name="FIXABLE_KEY"
-                value="true">
-            </attribute>
-        </markerResolutionGenerator>
-    </extension>
-
-</plugin>
diff --git a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/AbstractMyDsl1UiModule.java b/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/AbstractMyDsl1UiModule.java
deleted file mode 100644
index 9eb88bf276d180a4bc379db3b369dde970d10dc0..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/AbstractMyDsl1UiModule.java
+++ /dev/null
@@ -1,122 +0,0 @@
-
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl1.ui;
-
-import org.eclipse.xtext.ui.DefaultUiModule;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Manual modifications go to {org.xtext.example.mydsl1.ui.MyDsl1UiModule}
- */
-@SuppressWarnings("all")
-public abstract class AbstractMyDsl1UiModule extends DefaultUiModule {
-	
-	public AbstractMyDsl1UiModule(AbstractUIPlugin plugin) {
-		super(plugin);
-	}
-	
-	
-	// contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
-	public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
-		return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
-		return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public void configureHighlightingLexer(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.xtext.example.mydsl1.parser.antlr.internal.InternalMyDsl1Lexer.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
-	public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
-		return org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
-	public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
-		return org.xtext.example.mydsl1.ui.labeling.MyDsl1LabelProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
-	public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.xtext.example.mydsl1.ui.labeling.MyDsl1DescriptionLabelProvider.class);
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
-		return org.xtext.example.mydsl1.ui.outline.MyDsl1OutlineTreeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
-		return org.xtext.example.mydsl1.ui.outline.MyDsl1OutlineTreeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.contentAssist.JavaBasedContentAssistFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
-		return org.xtext.example.mydsl1.ui.contentassist.MyDsl1ProposalProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
-		return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
-		return org.xtext.example.mydsl1.ui.contentassist.antlr.MyDsl1Parser.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
-	public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
-		binder.bind(org.xtext.example.mydsl1.ui.contentassist.antlr.internal.InternalMyDsl1Lexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.xtext.example.mydsl1.ui.contentassist.antlr.internal.InternalMyDsl1Lexer.class));
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
-	public void configureContentAssistLexer(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.xtext.example.mydsl1.ui.contentassist.antlr.internal.InternalMyDsl1Lexer.class);
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.compare.CompareFragment
-	public Class<? extends org.eclipse.compare.IViewerCreator> bindIViewerCreator() {
-		return org.eclipse.xtext.ui.compare.DefaultViewerCreator.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.clustering.CurrentDescriptions.ResourceSetAware.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
-		return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
-		return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
-	}
-
-	// contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
-	public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
-		return org.xtext.example.mydsl1.ui.quickfix.MyDsl1QuickfixProvider.class;
-	}
-
-
-}
diff --git a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/MyDsl1ExecutableExtensionFactory.java b/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/MyDsl1ExecutableExtensionFactory.java
deleted file mode 100644
index e577ec3941545d3d425be4cebd3d590a49cdefd2..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/MyDsl1ExecutableExtensionFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl1.ui;
-
-import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
-import org.osgi.framework.Bundle;
-
-import com.google.inject.Injector;
-
-import org.xtext.example.mydsl1.ui.internal.MyDsl1Activator;
-
-/**
- * This class was generated. Customizations should only happen in a newly
- * introduced subclass. 
- */
-public class MyDsl1ExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
-
-	@Override
-	protected Bundle getBundle() {
-		return MyDsl1Activator.getInstance().getBundle();
-	}
-	
-	@Override
-	protected Injector getInjector() {
-		return MyDsl1Activator.getInstance().getInjector(MyDsl1Activator.ORG_XTEXT_EXAMPLE_MYDSL1_MYDSL1);
-	}
-	
-}
diff --git a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/AbstractMyDsl1ProposalProvider.java b/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/AbstractMyDsl1ProposalProvider.java
deleted file mode 100644
index 4b77828e5060f955a83e01c033b8436b558f30b9..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/AbstractMyDsl1ProposalProvider.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl1.ui.contentassist;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
-import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
-import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
-
-/**
- * Represents a generated, default implementation of interface {@link IProposalProvider}.
- * Methods are dynamically dispatched on the first parameter, i.e., you can override them 
- * with a more concrete subtype. 
- */
-@SuppressWarnings("all")
-public class AbstractMyDsl1ProposalProvider extends TerminalsProposalProvider {
-		
-	public void completeExplicitFunction_Specification(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeExplicitFunction_Expression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeTermExpression_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeTermExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeTermExpression2_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeTermExpression2_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeTermExpression2_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeProductExpression_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeProductExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeProductExpression2_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeProductExpression2_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeProductExpression2_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeCompareExpression_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeCompareExpression_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeCompareExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completePowerExpression_Base(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completePowerExpression_Exponent(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeBooleanOperatorExpression_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeBooleanOperatorExpression_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeBooleanOperatorExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeNotExpression_Inner(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeNegativeExpression_Inner(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeIfElseExpression_IfExpression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeIfElseExpression_ElseExpression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeIfElseExpression_ConditionExpression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeFunction_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeFunction_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeParenthesis_InnerExpression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeStringLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeBoolLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void completeIntLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDoubleLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeFormalParameter_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeProbabilityMassFunction_Sample(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeBoxedPDF_Sample(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeNormalDistribution_Mu(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeNormalDistribution_Sigma(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeExponentialDistribution_Rate(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeSample_Probability(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeSample_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeContinuousSample_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeContinuousSample_Probability(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-    
-	public void complete_ExplicitFunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Expression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Term(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Product(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Power(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Unary(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_BooleanExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_EString(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_TermExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_TermExpression2(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_ProductExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_ProductExpression2(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_CompareExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_PowerExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_BooleanOperatorExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_NotExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_NegativeExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_IfElseExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Function(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Parenthesis(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Literal_Impl(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_StringLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_BoolLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_IntLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DoubleLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_FormalParameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_ProbabilityMassFunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_BoxedPDF(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_NormalDistribution(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_ExponentialDistribution(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_TermOperations(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_ProductOperations(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_CompareOperations(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_BooleanOperations(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_EBoolean(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_EBigInteger(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_EBigDecimal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Sample(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_EObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_ContinuousSample(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-}
diff --git a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/MyDsl1Parser.java b/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/MyDsl1Parser.java
deleted file mode 100644
index bc7acefac1f67fe8ea9fb6c475676869afe813a7..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/MyDsl1Parser.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl1.ui.contentassist.antlr;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.HashMap;
-
-import org.antlr.runtime.RecognitionException;
-import org.eclipse.xtext.AbstractElement;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-
-import com.google.inject.Inject;
-
-import org.xtext.example.mydsl1.services.MyDsl1GrammarAccess;
-
-public class MyDsl1Parser extends AbstractContentAssistParser {
-	
-	@Inject
-	private MyDsl1GrammarAccess grammarAccess;
-	
-	private Map<AbstractElement, String> nameMappings;
-	
-	@Override
-	protected org.xtext.example.mydsl1.ui.contentassist.antlr.internal.InternalMyDsl1Parser createParser() {
-		org.xtext.example.mydsl1.ui.contentassist.antlr.internal.InternalMyDsl1Parser result = new org.xtext.example.mydsl1.ui.contentassist.antlr.internal.InternalMyDsl1Parser(null);
-		result.setGrammarAccess(grammarAccess);
-		return result;
-	}
-	
-	@Override
-	protected String getRuleName(AbstractElement element) {
-		if (nameMappings == null) {
-			nameMappings = new HashMap<AbstractElement, String>() {
-				private static final long serialVersionUID = 1L;
-				{
-					put(grammarAccess.getExpressionAccess().getAlternatives(), "rule__Expression__Alternatives");
-					put(grammarAccess.getTermAccess().getAlternatives(), "rule__Term__Alternatives");
-					put(grammarAccess.getProductAccess().getAlternatives(), "rule__Product__Alternatives");
-					put(grammarAccess.getPowerAccess().getAlternatives(), "rule__Power__Alternatives");
-					put(grammarAccess.getUnaryAccess().getAlternatives(), "rule__Unary__Alternatives");
-					put(grammarAccess.getBooleanExpressionAccess().getAlternatives(), "rule__BooleanExpression__Alternatives");
-					put(grammarAccess.getEStringAccess().getAlternatives(), "rule__EString__Alternatives");
-					put(grammarAccess.getEBooleanAccess().getAlternatives(), "rule__EBoolean__Alternatives");
-					put(grammarAccess.getExplicitFunctionAccess().getGroup(), "rule__ExplicitFunction__Group__0");
-					put(grammarAccess.getExplicitFunctionAccess().getGroup_3(), "rule__ExplicitFunction__Group_3__0");
-					put(grammarAccess.getExplicitFunctionAccess().getGroup_4(), "rule__ExplicitFunction__Group_4__0");
-					put(grammarAccess.getTermExpressionAccess().getGroup(), "rule__TermExpression__Group__0");
-					put(grammarAccess.getTermExpressionAccess().getGroup_3(), "rule__TermExpression__Group_3__0");
-					put(grammarAccess.getTermExpression2Access().getGroup(), "rule__TermExpression2__Group__0");
-					put(grammarAccess.getProductExpressionAccess().getGroup(), "rule__ProductExpression__Group__0");
-					put(grammarAccess.getProductExpressionAccess().getGroup_3(), "rule__ProductExpression__Group_3__0");
-					put(grammarAccess.getProductExpression2Access().getGroup(), "rule__ProductExpression2__Group__0");
-					put(grammarAccess.getCompareExpressionAccess().getGroup(), "rule__CompareExpression__Group__0");
-					put(grammarAccess.getPowerExpressionAccess().getGroup(), "rule__PowerExpression__Group__0");
-					put(grammarAccess.getBooleanOperatorExpressionAccess().getGroup(), "rule__BooleanOperatorExpression__Group__0");
-					put(grammarAccess.getNotExpressionAccess().getGroup(), "rule__NotExpression__Group__0");
-					put(grammarAccess.getNegativeExpressionAccess().getGroup(), "rule__NegativeExpression__Group__0");
-					put(grammarAccess.getIfElseExpressionAccess().getGroup(), "rule__IfElseExpression__Group__0");
-					put(grammarAccess.getFunctionAccess().getGroup(), "rule__Function__Group__0");
-					put(grammarAccess.getFunctionAccess().getGroup_4(), "rule__Function__Group_4__0");
-					put(grammarAccess.getFunctionAccess().getGroup_4_3(), "rule__Function__Group_4_3__0");
-					put(grammarAccess.getParenthesisAccess().getGroup(), "rule__Parenthesis__Group__0");
-					put(grammarAccess.getLiteral_ImplAccess().getGroup(), "rule__Literal_Impl__Group__0");
-					put(grammarAccess.getStringLiteralAccess().getGroup(), "rule__StringLiteral__Group__0");
-					put(grammarAccess.getBoolLiteralAccess().getGroup(), "rule__BoolLiteral__Group__0");
-					put(grammarAccess.getIntLiteralAccess().getGroup(), "rule__IntLiteral__Group__0");
-					put(grammarAccess.getDoubleLiteralAccess().getGroup(), "rule__DoubleLiteral__Group__0");
-					put(grammarAccess.getFormalParameterAccess().getGroup(), "rule__FormalParameter__Group__0");
-					put(grammarAccess.getProbabilityMassFunctionAccess().getGroup(), "rule__ProbabilityMassFunction__Group__0");
-					put(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3(), "rule__ProbabilityMassFunction__Group_3__0");
-					put(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3_3(), "rule__ProbabilityMassFunction__Group_3_3__0");
-					put(grammarAccess.getBoxedPDFAccess().getGroup(), "rule__BoxedPDF__Group__0");
-					put(grammarAccess.getBoxedPDFAccess().getGroup_3(), "rule__BoxedPDF__Group_3__0");
-					put(grammarAccess.getBoxedPDFAccess().getGroup_3_3(), "rule__BoxedPDF__Group_3_3__0");
-					put(grammarAccess.getNormalDistributionAccess().getGroup(), "rule__NormalDistribution__Group__0");
-					put(grammarAccess.getExponentialDistributionAccess().getGroup(), "rule__ExponentialDistribution__Group__0");
-					put(grammarAccess.getEBigIntegerAccess().getGroup(), "rule__EBigInteger__Group__0");
-					put(grammarAccess.getEBigDecimalAccess().getGroup(), "rule__EBigDecimal__Group__0");
-					put(grammarAccess.getSampleAccess().getGroup(), "rule__Sample__Group__0");
-					put(grammarAccess.getEObjectAccess().getGroup(), "rule__EObject__Group__0");
-					put(grammarAccess.getContinuousSampleAccess().getGroup(), "rule__ContinuousSample__Group__0");
-					put(grammarAccess.getExplicitFunctionAccess().getSpecificationAssignment_3_1(), "rule__ExplicitFunction__SpecificationAssignment_3_1");
-					put(grammarAccess.getExplicitFunctionAccess().getExpressionAssignment_4_1(), "rule__ExplicitFunction__ExpressionAssignment_4_1");
-					put(grammarAccess.getTermExpressionAccess().getOperationAssignment_3_1(), "rule__TermExpression__OperationAssignment_3_1");
-					put(grammarAccess.getTermExpressionAccess().getRightAssignment_3_2(), "rule__TermExpression__RightAssignment_3_2");
-					put(grammarAccess.getTermExpression2Access().getLeftAssignment_0(), "rule__TermExpression2__LeftAssignment_0");
-					put(grammarAccess.getTermExpression2Access().getOperationAssignment_1(), "rule__TermExpression2__OperationAssignment_1");
-					put(grammarAccess.getTermExpression2Access().getRightAssignment_2(), "rule__TermExpression2__RightAssignment_2");
-					put(grammarAccess.getProductExpressionAccess().getOperationAssignment_3_1(), "rule__ProductExpression__OperationAssignment_3_1");
-					put(grammarAccess.getProductExpressionAccess().getRightAssignment_3_2(), "rule__ProductExpression__RightAssignment_3_2");
-					put(grammarAccess.getProductExpression2Access().getLeftAssignment_0(), "rule__ProductExpression2__LeftAssignment_0");
-					put(grammarAccess.getProductExpression2Access().getOperationAssignment_1(), "rule__ProductExpression2__OperationAssignment_1");
-					put(grammarAccess.getProductExpression2Access().getRightAssignment_2(), "rule__ProductExpression2__RightAssignment_2");
-					put(grammarAccess.getCompareExpressionAccess().getOperationAssignment_3(), "rule__CompareExpression__OperationAssignment_3");
-					put(grammarAccess.getCompareExpressionAccess().getLeftAssignment_5(), "rule__CompareExpression__LeftAssignment_5");
-					put(grammarAccess.getCompareExpressionAccess().getRightAssignment_7(), "rule__CompareExpression__RightAssignment_7");
-					put(grammarAccess.getPowerExpressionAccess().getBaseAssignment_3(), "rule__PowerExpression__BaseAssignment_3");
-					put(grammarAccess.getPowerExpressionAccess().getExponentAssignment_5(), "rule__PowerExpression__ExponentAssignment_5");
-					put(grammarAccess.getBooleanOperatorExpressionAccess().getOperationAssignment_3(), "rule__BooleanOperatorExpression__OperationAssignment_3");
-					put(grammarAccess.getBooleanOperatorExpressionAccess().getLeftAssignment_5(), "rule__BooleanOperatorExpression__LeftAssignment_5");
-					put(grammarAccess.getBooleanOperatorExpressionAccess().getRightAssignment_7(), "rule__BooleanOperatorExpression__RightAssignment_7");
-					put(grammarAccess.getNotExpressionAccess().getInnerAssignment_3(), "rule__NotExpression__InnerAssignment_3");
-					put(grammarAccess.getNegativeExpressionAccess().getInnerAssignment_3(), "rule__NegativeExpression__InnerAssignment_3");
-					put(grammarAccess.getIfElseExpressionAccess().getIfExpressionAssignment_3(), "rule__IfElseExpression__IfExpressionAssignment_3");
-					put(grammarAccess.getIfElseExpressionAccess().getElseExpressionAssignment_5(), "rule__IfElseExpression__ElseExpressionAssignment_5");
-					put(grammarAccess.getIfElseExpressionAccess().getConditionExpressionAssignment_7(), "rule__IfElseExpression__ConditionExpressionAssignment_7");
-					put(grammarAccess.getFunctionAccess().getIdAssignment_3(), "rule__Function__IdAssignment_3");
-					put(grammarAccess.getFunctionAccess().getParametersAssignment_4_2(), "rule__Function__ParametersAssignment_4_2");
-					put(grammarAccess.getFunctionAccess().getParametersAssignment_4_3_1(), "rule__Function__ParametersAssignment_4_3_1");
-					put(grammarAccess.getParenthesisAccess().getInnerExpressionAssignment_3(), "rule__Parenthesis__InnerExpressionAssignment_3");
-					put(grammarAccess.getStringLiteralAccess().getValueAssignment_3(), "rule__StringLiteral__ValueAssignment_3");
-					put(grammarAccess.getBoolLiteralAccess().getValueAssignment_0(), "rule__BoolLiteral__ValueAssignment_0");
-					put(grammarAccess.getIntLiteralAccess().getValueAssignment_3(), "rule__IntLiteral__ValueAssignment_3");
-					put(grammarAccess.getDoubleLiteralAccess().getValueAssignment_3(), "rule__DoubleLiteral__ValueAssignment_3");
-					put(grammarAccess.getFormalParameterAccess().getNameAssignment_2(), "rule__FormalParameter__NameAssignment_2");
-					put(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_2(), "rule__ProbabilityMassFunction__SampleAssignment_3_2");
-					put(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_3_1(), "rule__ProbabilityMassFunction__SampleAssignment_3_3_1");
-					put(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_2(), "rule__BoxedPDF__SampleAssignment_3_2");
-					put(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_3_1(), "rule__BoxedPDF__SampleAssignment_3_3_1");
-					put(grammarAccess.getNormalDistributionAccess().getMuAssignment_3(), "rule__NormalDistribution__MuAssignment_3");
-					put(grammarAccess.getNormalDistributionAccess().getSigmaAssignment_5(), "rule__NormalDistribution__SigmaAssignment_5");
-					put(grammarAccess.getExponentialDistributionAccess().getRateAssignment_3(), "rule__ExponentialDistribution__RateAssignment_3");
-					put(grammarAccess.getSampleAccess().getProbabilityAssignment_3(), "rule__Sample__ProbabilityAssignment_3");
-					put(grammarAccess.getSampleAccess().getValueAssignment_5(), "rule__Sample__ValueAssignment_5");
-					put(grammarAccess.getContinuousSampleAccess().getValueAssignment_3(), "rule__ContinuousSample__ValueAssignment_3");
-					put(grammarAccess.getContinuousSampleAccess().getProbabilityAssignment_5(), "rule__ContinuousSample__ProbabilityAssignment_5");
-				}
-			};
-		}
-		return nameMappings.get(element);
-	}
-	
-	@Override
-	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
-		try {
-			org.xtext.example.mydsl1.ui.contentassist.antlr.internal.InternalMyDsl1Parser typedParser = (org.xtext.example.mydsl1.ui.contentassist.antlr.internal.InternalMyDsl1Parser) parser;
-			typedParser.entryRuleExplicitFunction();
-			return typedParser.getFollowElements();
-		} catch(RecognitionException ex) {
-			throw new RuntimeException(ex);
-		}		
-	}
-	
-	@Override
-	protected String[] getInitialHiddenTokens() {
-		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
-	}
-	
-	public MyDsl1GrammarAccess getGrammarAccess() {
-		return this.grammarAccess;
-	}
-	
-	public void setGrammarAccess(MyDsl1GrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-}
diff --git a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g b/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g
deleted file mode 100644
index aff9d09d2366e0598f26fa92a28ca3622bbc45ca..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g
+++ /dev/null
@@ -1,8017 +0,0 @@
-/*
-* generated by Xtext
-*/
-grammar InternalMyDsl1;
-
-options {
-	superClass=AbstractInternalContentAssistParser;
-	
-}
-
-@lexer::header {
-package org.xtext.example.mydsl1.ui.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
-}
-
-@parser::header {
-package org.xtext.example.mydsl1.ui.contentassist.antlr.internal; 
-
-import java.io.InputStream;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
-import org.xtext.example.mydsl1.services.MyDsl1GrammarAccess;
-
-}
-
-@parser::members {
- 
- 	private MyDsl1GrammarAccess grammarAccess;
- 	
-    public void setGrammarAccess(MyDsl1GrammarAccess grammarAccess) {
-    	this.grammarAccess = grammarAccess;
-    }
-    
-    @Override
-    protected Grammar getGrammar() {
-    	return grammarAccess.getGrammar();
-    }
-    
-    @Override
-    protected String getValueForTokenName(String tokenName) {
-    	return tokenName;
-    }
-
-}
-
-
-
-
-// Entry rule entryRuleExplicitFunction
-entryRuleExplicitFunction 
-:
-{ before(grammarAccess.getExplicitFunctionRule()); }
-	 ruleExplicitFunction
-{ after(grammarAccess.getExplicitFunctionRule()); } 
-	 EOF 
-;
-
-// Rule ExplicitFunction
-ruleExplicitFunction
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getGroup()); }
-(rule__ExplicitFunction__Group__0)
-{ after(grammarAccess.getExplicitFunctionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleExpression
-entryRuleExpression 
-:
-{ before(grammarAccess.getExpressionRule()); }
-	 ruleExpression
-{ after(grammarAccess.getExpressionRule()); } 
-	 EOF 
-;
-
-// Rule Expression
-ruleExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getExpressionAccess().getAlternatives()); }
-(rule__Expression__Alternatives)
-{ after(grammarAccess.getExpressionAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTerm
-entryRuleTerm 
-:
-{ before(grammarAccess.getTermRule()); }
-	 ruleTerm
-{ after(grammarAccess.getTermRule()); } 
-	 EOF 
-;
-
-// Rule Term
-ruleTerm
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTermAccess().getAlternatives()); }
-(rule__Term__Alternatives)
-{ after(grammarAccess.getTermAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleProduct
-entryRuleProduct 
-:
-{ before(grammarAccess.getProductRule()); }
-	 ruleProduct
-{ after(grammarAccess.getProductRule()); } 
-	 EOF 
-;
-
-// Rule Product
-ruleProduct
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getProductAccess().getAlternatives()); }
-(rule__Product__Alternatives)
-{ after(grammarAccess.getProductAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRulePower
-entryRulePower 
-:
-{ before(grammarAccess.getPowerRule()); }
-	 rulePower
-{ after(grammarAccess.getPowerRule()); } 
-	 EOF 
-;
-
-// Rule Power
-rulePower
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPowerAccess().getAlternatives()); }
-(rule__Power__Alternatives)
-{ after(grammarAccess.getPowerAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleUnary
-entryRuleUnary 
-:
-{ before(grammarAccess.getUnaryRule()); }
-	 ruleUnary
-{ after(grammarAccess.getUnaryRule()); } 
-	 EOF 
-;
-
-// Rule Unary
-ruleUnary
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getUnaryAccess().getAlternatives()); }
-(rule__Unary__Alternatives)
-{ after(grammarAccess.getUnaryAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleBooleanExpression
-entryRuleBooleanExpression 
-:
-{ before(grammarAccess.getBooleanExpressionRule()); }
-	 ruleBooleanExpression
-{ after(grammarAccess.getBooleanExpressionRule()); } 
-	 EOF 
-;
-
-// Rule BooleanExpression
-ruleBooleanExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getBooleanExpressionAccess().getAlternatives()); }
-(rule__BooleanExpression__Alternatives)
-{ after(grammarAccess.getBooleanExpressionAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleEString
-entryRuleEString 
-:
-{ before(grammarAccess.getEStringRule()); }
-	 ruleEString
-{ after(grammarAccess.getEStringRule()); } 
-	 EOF 
-;
-
-// Rule EString
-ruleEString
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getEStringAccess().getAlternatives()); }
-(rule__EString__Alternatives)
-{ after(grammarAccess.getEStringAccess().getAlternatives()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTermExpression
-entryRuleTermExpression 
-:
-{ before(grammarAccess.getTermExpressionRule()); }
-	 ruleTermExpression
-{ after(grammarAccess.getTermExpressionRule()); } 
-	 EOF 
-;
-
-// Rule TermExpression
-ruleTermExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTermExpressionAccess().getGroup()); }
-(rule__TermExpression__Group__0)
-{ after(grammarAccess.getTermExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTermExpression2
-entryRuleTermExpression2 
-:
-{ before(grammarAccess.getTermExpression2Rule()); }
-	 ruleTermExpression2
-{ after(grammarAccess.getTermExpression2Rule()); } 
-	 EOF 
-;
-
-// Rule TermExpression2
-ruleTermExpression2
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTermExpression2Access().getGroup()); }
-(rule__TermExpression2__Group__0)
-{ after(grammarAccess.getTermExpression2Access().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleProductExpression
-entryRuleProductExpression 
-:
-{ before(grammarAccess.getProductExpressionRule()); }
-	 ruleProductExpression
-{ after(grammarAccess.getProductExpressionRule()); } 
-	 EOF 
-;
-
-// Rule ProductExpression
-ruleProductExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getProductExpressionAccess().getGroup()); }
-(rule__ProductExpression__Group__0)
-{ after(grammarAccess.getProductExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleProductExpression2
-entryRuleProductExpression2 
-:
-{ before(grammarAccess.getProductExpression2Rule()); }
-	 ruleProductExpression2
-{ after(grammarAccess.getProductExpression2Rule()); } 
-	 EOF 
-;
-
-// Rule ProductExpression2
-ruleProductExpression2
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getProductExpression2Access().getGroup()); }
-(rule__ProductExpression2__Group__0)
-{ after(grammarAccess.getProductExpression2Access().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleCompareExpression
-entryRuleCompareExpression 
-:
-{ before(grammarAccess.getCompareExpressionRule()); }
-	 ruleCompareExpression
-{ after(grammarAccess.getCompareExpressionRule()); } 
-	 EOF 
-;
-
-// Rule CompareExpression
-ruleCompareExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getGroup()); }
-(rule__CompareExpression__Group__0)
-{ after(grammarAccess.getCompareExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRulePowerExpression
-entryRulePowerExpression 
-:
-{ before(grammarAccess.getPowerExpressionRule()); }
-	 rulePowerExpression
-{ after(grammarAccess.getPowerExpressionRule()); } 
-	 EOF 
-;
-
-// Rule PowerExpression
-rulePowerExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getGroup()); }
-(rule__PowerExpression__Group__0)
-{ after(grammarAccess.getPowerExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleBooleanOperatorExpression
-entryRuleBooleanOperatorExpression 
-:
-{ before(grammarAccess.getBooleanOperatorExpressionRule()); }
-	 ruleBooleanOperatorExpression
-{ after(grammarAccess.getBooleanOperatorExpressionRule()); } 
-	 EOF 
-;
-
-// Rule BooleanOperatorExpression
-ruleBooleanOperatorExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getGroup()); }
-(rule__BooleanOperatorExpression__Group__0)
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleNotExpression
-entryRuleNotExpression 
-:
-{ before(grammarAccess.getNotExpressionRule()); }
-	 ruleNotExpression
-{ after(grammarAccess.getNotExpressionRule()); } 
-	 EOF 
-;
-
-// Rule NotExpression
-ruleNotExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getNotExpressionAccess().getGroup()); }
-(rule__NotExpression__Group__0)
-{ after(grammarAccess.getNotExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleNegativeExpression
-entryRuleNegativeExpression 
-:
-{ before(grammarAccess.getNegativeExpressionRule()); }
-	 ruleNegativeExpression
-{ after(grammarAccess.getNegativeExpressionRule()); } 
-	 EOF 
-;
-
-// Rule NegativeExpression
-ruleNegativeExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getNegativeExpressionAccess().getGroup()); }
-(rule__NegativeExpression__Group__0)
-{ after(grammarAccess.getNegativeExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleIfElseExpression
-entryRuleIfElseExpression 
-:
-{ before(grammarAccess.getIfElseExpressionRule()); }
-	 ruleIfElseExpression
-{ after(grammarAccess.getIfElseExpressionRule()); } 
-	 EOF 
-;
-
-// Rule IfElseExpression
-ruleIfElseExpression
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getGroup()); }
-(rule__IfElseExpression__Group__0)
-{ after(grammarAccess.getIfElseExpressionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleFunction
-entryRuleFunction 
-:
-{ before(grammarAccess.getFunctionRule()); }
-	 ruleFunction
-{ after(grammarAccess.getFunctionRule()); } 
-	 EOF 
-;
-
-// Rule Function
-ruleFunction
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getFunctionAccess().getGroup()); }
-(rule__Function__Group__0)
-{ after(grammarAccess.getFunctionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleParenthesis
-entryRuleParenthesis 
-:
-{ before(grammarAccess.getParenthesisRule()); }
-	 ruleParenthesis
-{ after(grammarAccess.getParenthesisRule()); } 
-	 EOF 
-;
-
-// Rule Parenthesis
-ruleParenthesis
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getParenthesisAccess().getGroup()); }
-(rule__Parenthesis__Group__0)
-{ after(grammarAccess.getParenthesisAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleLiteral_Impl
-entryRuleLiteral_Impl 
-:
-{ before(grammarAccess.getLiteral_ImplRule()); }
-	 ruleLiteral_Impl
-{ after(grammarAccess.getLiteral_ImplRule()); } 
-	 EOF 
-;
-
-// Rule Literal_Impl
-ruleLiteral_Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getLiteral_ImplAccess().getGroup()); }
-(rule__Literal_Impl__Group__0)
-{ after(grammarAccess.getLiteral_ImplAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleStringLiteral
-entryRuleStringLiteral 
-:
-{ before(grammarAccess.getStringLiteralRule()); }
-	 ruleStringLiteral
-{ after(grammarAccess.getStringLiteralRule()); } 
-	 EOF 
-;
-
-// Rule StringLiteral
-ruleStringLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getStringLiteralAccess().getGroup()); }
-(rule__StringLiteral__Group__0)
-{ after(grammarAccess.getStringLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleBoolLiteral
-entryRuleBoolLiteral 
-:
-{ before(grammarAccess.getBoolLiteralRule()); }
-	 ruleBoolLiteral
-{ after(grammarAccess.getBoolLiteralRule()); } 
-	 EOF 
-;
-
-// Rule BoolLiteral
-ruleBoolLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getBoolLiteralAccess().getGroup()); }
-(rule__BoolLiteral__Group__0)
-{ after(grammarAccess.getBoolLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleIntLiteral
-entryRuleIntLiteral 
-:
-{ before(grammarAccess.getIntLiteralRule()); }
-	 ruleIntLiteral
-{ after(grammarAccess.getIntLiteralRule()); } 
-	 EOF 
-;
-
-// Rule IntLiteral
-ruleIntLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getIntLiteralAccess().getGroup()); }
-(rule__IntLiteral__Group__0)
-{ after(grammarAccess.getIntLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleDoubleLiteral
-entryRuleDoubleLiteral 
-:
-{ before(grammarAccess.getDoubleLiteralRule()); }
-	 ruleDoubleLiteral
-{ after(grammarAccess.getDoubleLiteralRule()); } 
-	 EOF 
-;
-
-// Rule DoubleLiteral
-ruleDoubleLiteral
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDoubleLiteralAccess().getGroup()); }
-(rule__DoubleLiteral__Group__0)
-{ after(grammarAccess.getDoubleLiteralAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleFormalParameter
-entryRuleFormalParameter 
-:
-{ before(grammarAccess.getFormalParameterRule()); }
-	 ruleFormalParameter
-{ after(grammarAccess.getFormalParameterRule()); } 
-	 EOF 
-;
-
-// Rule FormalParameter
-ruleFormalParameter
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getFormalParameterAccess().getGroup()); }
-(rule__FormalParameter__Group__0)
-{ after(grammarAccess.getFormalParameterAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleProbabilityMassFunction
-entryRuleProbabilityMassFunction 
-:
-{ before(grammarAccess.getProbabilityMassFunctionRule()); }
-	 ruleProbabilityMassFunction
-{ after(grammarAccess.getProbabilityMassFunctionRule()); } 
-	 EOF 
-;
-
-// Rule ProbabilityMassFunction
-ruleProbabilityMassFunction
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getGroup()); }
-(rule__ProbabilityMassFunction__Group__0)
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleBoxedPDF
-entryRuleBoxedPDF 
-:
-{ before(grammarAccess.getBoxedPDFRule()); }
-	 ruleBoxedPDF
-{ after(grammarAccess.getBoxedPDFRule()); } 
-	 EOF 
-;
-
-// Rule BoxedPDF
-ruleBoxedPDF
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getGroup()); }
-(rule__BoxedPDF__Group__0)
-{ after(grammarAccess.getBoxedPDFAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleNormalDistribution
-entryRuleNormalDistribution 
-:
-{ before(grammarAccess.getNormalDistributionRule()); }
-	 ruleNormalDistribution
-{ after(grammarAccess.getNormalDistributionRule()); } 
-	 EOF 
-;
-
-// Rule NormalDistribution
-ruleNormalDistribution
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getGroup()); }
-(rule__NormalDistribution__Group__0)
-{ after(grammarAccess.getNormalDistributionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleExponentialDistribution
-entryRuleExponentialDistribution 
-:
-{ before(grammarAccess.getExponentialDistributionRule()); }
-	 ruleExponentialDistribution
-{ after(grammarAccess.getExponentialDistributionRule()); } 
-	 EOF 
-;
-
-// Rule ExponentialDistribution
-ruleExponentialDistribution
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getExponentialDistributionAccess().getGroup()); }
-(rule__ExponentialDistribution__Group__0)
-{ after(grammarAccess.getExponentialDistributionAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleTermOperations
-entryRuleTermOperations 
-:
-{ before(grammarAccess.getTermOperationsRule()); }
-	 ruleTermOperations
-{ after(grammarAccess.getTermOperationsRule()); } 
-	 EOF 
-;
-
-// Rule TermOperations
-ruleTermOperations
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getTermOperationsAccess().getTermOperationsKeyword()); }
-
-	'TermOperations' 
-
-{ after(grammarAccess.getTermOperationsAccess().getTermOperationsKeyword()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleProductOperations
-entryRuleProductOperations 
-:
-{ before(grammarAccess.getProductOperationsRule()); }
-	 ruleProductOperations
-{ after(grammarAccess.getProductOperationsRule()); } 
-	 EOF 
-;
-
-// Rule ProductOperations
-ruleProductOperations
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getProductOperationsAccess().getProductOperationsKeyword()); }
-
-	'ProductOperations' 
-
-{ after(grammarAccess.getProductOperationsAccess().getProductOperationsKeyword()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleCompareOperations
-entryRuleCompareOperations 
-:
-{ before(grammarAccess.getCompareOperationsRule()); }
-	 ruleCompareOperations
-{ after(grammarAccess.getCompareOperationsRule()); } 
-	 EOF 
-;
-
-// Rule CompareOperations
-ruleCompareOperations
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getCompareOperationsAccess().getCompareOperationsKeyword()); }
-
-	'CompareOperations' 
-
-{ after(grammarAccess.getCompareOperationsAccess().getCompareOperationsKeyword()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleBooleanOperations
-entryRuleBooleanOperations 
-:
-{ before(grammarAccess.getBooleanOperationsRule()); }
-	 ruleBooleanOperations
-{ after(grammarAccess.getBooleanOperationsRule()); } 
-	 EOF 
-;
-
-// Rule BooleanOperations
-ruleBooleanOperations
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getBooleanOperationsAccess().getBooleanOperationsKeyword()); }
-
-	'BooleanOperations' 
-
-{ after(grammarAccess.getBooleanOperationsAccess().getBooleanOperationsKeyword()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-// Entry rule entryRuleEBigInteger
-entryRuleEBigInteger 
-:
-{ before(grammarAccess.getEBigIntegerRule()); }
-	 ruleEBigInteger
-{ after(grammarAccess.getEBigIntegerRule()); } 
-	 EOF 
-;
-
-// Rule EBigInteger
-ruleEBigInteger
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getEBigIntegerAccess().getGroup()); }
-(rule__EBigInteger__Group__0)
-{ after(grammarAccess.getEBigIntegerAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleEBigDecimal
-entryRuleEBigDecimal 
-:
-{ before(grammarAccess.getEBigDecimalRule()); }
-	 ruleEBigDecimal
-{ after(grammarAccess.getEBigDecimalRule()); } 
-	 EOF 
-;
-
-// Rule EBigDecimal
-ruleEBigDecimal
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getEBigDecimalAccess().getGroup()); }
-(rule__EBigDecimal__Group__0)
-{ after(grammarAccess.getEBigDecimalAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-// Entry rule entryRuleSample
-entryRuleSample 
-:
-{ before(grammarAccess.getSampleRule()); }
-	 ruleSample
-{ after(grammarAccess.getSampleRule()); } 
-	 EOF 
-;
-
-// Rule Sample
-ruleSample
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSampleAccess().getGroup()); }
-(rule__Sample__Group__0)
-{ after(grammarAccess.getSampleAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-// Entry rule entryRuleContinuousSample
-entryRuleContinuousSample 
-:
-{ before(grammarAccess.getContinuousSampleRule()); }
-	 ruleContinuousSample
-{ after(grammarAccess.getContinuousSampleRule()); } 
-	 EOF 
-;
-
-// Rule ContinuousSample
-ruleContinuousSample
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getGroup()); }
-(rule__ContinuousSample__Group__0)
-{ after(grammarAccess.getContinuousSampleAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-rule__Expression__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExpressionAccess().getTermExpressionParserRuleCall_0()); }
-	ruleTermExpression
-{ after(grammarAccess.getExpressionAccess().getTermExpressionParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getProductExpressionParserRuleCall_1()); }
-	ruleProductExpression
-{ after(grammarAccess.getExpressionAccess().getProductExpressionParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getCompareExpressionParserRuleCall_2()); }
-	ruleCompareExpression
-{ after(grammarAccess.getExpressionAccess().getCompareExpressionParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getPowerExpressionParserRuleCall_3()); }
-	rulePowerExpression
-{ after(grammarAccess.getExpressionAccess().getPowerExpressionParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); }
-	ruleBooleanOperatorExpression
-{ after(grammarAccess.getExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getNotExpressionParserRuleCall_5()); }
-	ruleNotExpression
-{ after(grammarAccess.getExpressionAccess().getNotExpressionParserRuleCall_5()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getNegativeExpressionParserRuleCall_6()); }
-	ruleNegativeExpression
-{ after(grammarAccess.getExpressionAccess().getNegativeExpressionParserRuleCall_6()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getIfElseExpressionParserRuleCall_7()); }
-	ruleIfElseExpression
-{ after(grammarAccess.getExpressionAccess().getIfElseExpressionParserRuleCall_7()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getFunctionParserRuleCall_8()); }
-	ruleFunction
-{ after(grammarAccess.getExpressionAccess().getFunctionParserRuleCall_8()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getParenthesisParserRuleCall_9()); }
-	ruleParenthesis
-{ after(grammarAccess.getExpressionAccess().getParenthesisParserRuleCall_9()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getLiteral_ImplParserRuleCall_10()); }
-	ruleLiteral_Impl
-{ after(grammarAccess.getExpressionAccess().getLiteral_ImplParserRuleCall_10()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getStringLiteralParserRuleCall_11()); }
-	ruleStringLiteral
-{ after(grammarAccess.getExpressionAccess().getStringLiteralParserRuleCall_11()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getBoolLiteralParserRuleCall_12()); }
-	ruleBoolLiteral
-{ after(grammarAccess.getExpressionAccess().getBoolLiteralParserRuleCall_12()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getIntLiteralParserRuleCall_13()); }
-	ruleIntLiteral
-{ after(grammarAccess.getExpressionAccess().getIntLiteralParserRuleCall_13()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getDoubleLiteralParserRuleCall_14()); }
-	ruleDoubleLiteral
-{ after(grammarAccess.getExpressionAccess().getDoubleLiteralParserRuleCall_14()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getFormalParameterParserRuleCall_15()); }
-	ruleFormalParameter
-{ after(grammarAccess.getExpressionAccess().getFormalParameterParserRuleCall_15()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getProbabilityMassFunctionParserRuleCall_16()); }
-	ruleProbabilityMassFunction
-{ after(grammarAccess.getExpressionAccess().getProbabilityMassFunctionParserRuleCall_16()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getBoxedPDFParserRuleCall_17()); }
-	ruleBoxedPDF
-{ after(grammarAccess.getExpressionAccess().getBoxedPDFParserRuleCall_17()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getNormalDistributionParserRuleCall_18()); }
-	ruleNormalDistribution
-{ after(grammarAccess.getExpressionAccess().getNormalDistributionParserRuleCall_18()); }
-)
-
-    |(
-{ before(grammarAccess.getExpressionAccess().getExponentialDistributionParserRuleCall_19()); }
-	ruleExponentialDistribution
-{ after(grammarAccess.getExpressionAccess().getExponentialDistributionParserRuleCall_19()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Term__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermAccess().getTermExpressionParserRuleCall_0()); }
-	ruleTermExpression
-{ after(grammarAccess.getTermAccess().getTermExpressionParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getProductExpressionParserRuleCall_1()); }
-	ruleProductExpression
-{ after(grammarAccess.getTermAccess().getProductExpressionParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getPowerExpressionParserRuleCall_2()); }
-	rulePowerExpression
-{ after(grammarAccess.getTermAccess().getPowerExpressionParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getNotExpressionParserRuleCall_3()); }
-	ruleNotExpression
-{ after(grammarAccess.getTermAccess().getNotExpressionParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getNegativeExpressionParserRuleCall_4()); }
-	ruleNegativeExpression
-{ after(grammarAccess.getTermAccess().getNegativeExpressionParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getFunctionParserRuleCall_5()); }
-	ruleFunction
-{ after(grammarAccess.getTermAccess().getFunctionParserRuleCall_5()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getParenthesisParserRuleCall_6()); }
-	ruleParenthesis
-{ after(grammarAccess.getTermAccess().getParenthesisParserRuleCall_6()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getLiteral_ImplParserRuleCall_7()); }
-	ruleLiteral_Impl
-{ after(grammarAccess.getTermAccess().getLiteral_ImplParserRuleCall_7()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getStringLiteralParserRuleCall_8()); }
-	ruleStringLiteral
-{ after(grammarAccess.getTermAccess().getStringLiteralParserRuleCall_8()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getBoolLiteralParserRuleCall_9()); }
-	ruleBoolLiteral
-{ after(grammarAccess.getTermAccess().getBoolLiteralParserRuleCall_9()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getIntLiteralParserRuleCall_10()); }
-	ruleIntLiteral
-{ after(grammarAccess.getTermAccess().getIntLiteralParserRuleCall_10()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getDoubleLiteralParserRuleCall_11()); }
-	ruleDoubleLiteral
-{ after(grammarAccess.getTermAccess().getDoubleLiteralParserRuleCall_11()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getFormalParameterParserRuleCall_12()); }
-	ruleFormalParameter
-{ after(grammarAccess.getTermAccess().getFormalParameterParserRuleCall_12()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getProbabilityMassFunctionParserRuleCall_13()); }
-	ruleProbabilityMassFunction
-{ after(grammarAccess.getTermAccess().getProbabilityMassFunctionParserRuleCall_13()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getBoxedPDFParserRuleCall_14()); }
-	ruleBoxedPDF
-{ after(grammarAccess.getTermAccess().getBoxedPDFParserRuleCall_14()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getNormalDistributionParserRuleCall_15()); }
-	ruleNormalDistribution
-{ after(grammarAccess.getTermAccess().getNormalDistributionParserRuleCall_15()); }
-)
-
-    |(
-{ before(grammarAccess.getTermAccess().getExponentialDistributionParserRuleCall_16()); }
-	ruleExponentialDistribution
-{ after(grammarAccess.getTermAccess().getExponentialDistributionParserRuleCall_16()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Product__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductAccess().getProductExpressionParserRuleCall_0()); }
-	ruleProductExpression
-{ after(grammarAccess.getProductAccess().getProductExpressionParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getPowerExpressionParserRuleCall_1()); }
-	rulePowerExpression
-{ after(grammarAccess.getProductAccess().getPowerExpressionParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getNotExpressionParserRuleCall_2()); }
-	ruleNotExpression
-{ after(grammarAccess.getProductAccess().getNotExpressionParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getNegativeExpressionParserRuleCall_3()); }
-	ruleNegativeExpression
-{ after(grammarAccess.getProductAccess().getNegativeExpressionParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getFunctionParserRuleCall_4()); }
-	ruleFunction
-{ after(grammarAccess.getProductAccess().getFunctionParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getParenthesisParserRuleCall_5()); }
-	ruleParenthesis
-{ after(grammarAccess.getProductAccess().getParenthesisParserRuleCall_5()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getLiteral_ImplParserRuleCall_6()); }
-	ruleLiteral_Impl
-{ after(grammarAccess.getProductAccess().getLiteral_ImplParserRuleCall_6()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getStringLiteralParserRuleCall_7()); }
-	ruleStringLiteral
-{ after(grammarAccess.getProductAccess().getStringLiteralParserRuleCall_7()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getBoolLiteralParserRuleCall_8()); }
-	ruleBoolLiteral
-{ after(grammarAccess.getProductAccess().getBoolLiteralParserRuleCall_8()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getIntLiteralParserRuleCall_9()); }
-	ruleIntLiteral
-{ after(grammarAccess.getProductAccess().getIntLiteralParserRuleCall_9()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getDoubleLiteralParserRuleCall_10()); }
-	ruleDoubleLiteral
-{ after(grammarAccess.getProductAccess().getDoubleLiteralParserRuleCall_10()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getFormalParameterParserRuleCall_11()); }
-	ruleFormalParameter
-{ after(grammarAccess.getProductAccess().getFormalParameterParserRuleCall_11()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getProbabilityMassFunctionParserRuleCall_12()); }
-	ruleProbabilityMassFunction
-{ after(grammarAccess.getProductAccess().getProbabilityMassFunctionParserRuleCall_12()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getBoxedPDFParserRuleCall_13()); }
-	ruleBoxedPDF
-{ after(grammarAccess.getProductAccess().getBoxedPDFParserRuleCall_13()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getNormalDistributionParserRuleCall_14()); }
-	ruleNormalDistribution
-{ after(grammarAccess.getProductAccess().getNormalDistributionParserRuleCall_14()); }
-)
-
-    |(
-{ before(grammarAccess.getProductAccess().getExponentialDistributionParserRuleCall_15()); }
-	ruleExponentialDistribution
-{ after(grammarAccess.getProductAccess().getExponentialDistributionParserRuleCall_15()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Power__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerAccess().getPowerExpressionParserRuleCall_0()); }
-	rulePowerExpression
-{ after(grammarAccess.getPowerAccess().getPowerExpressionParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getNotExpressionParserRuleCall_1()); }
-	ruleNotExpression
-{ after(grammarAccess.getPowerAccess().getNotExpressionParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getNegativeExpressionParserRuleCall_2()); }
-	ruleNegativeExpression
-{ after(grammarAccess.getPowerAccess().getNegativeExpressionParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getFunctionParserRuleCall_3()); }
-	ruleFunction
-{ after(grammarAccess.getPowerAccess().getFunctionParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getParenthesisParserRuleCall_4()); }
-	ruleParenthesis
-{ after(grammarAccess.getPowerAccess().getParenthesisParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getLiteral_ImplParserRuleCall_5()); }
-	ruleLiteral_Impl
-{ after(grammarAccess.getPowerAccess().getLiteral_ImplParserRuleCall_5()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getStringLiteralParserRuleCall_6()); }
-	ruleStringLiteral
-{ after(grammarAccess.getPowerAccess().getStringLiteralParserRuleCall_6()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getBoolLiteralParserRuleCall_7()); }
-	ruleBoolLiteral
-{ after(grammarAccess.getPowerAccess().getBoolLiteralParserRuleCall_7()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getIntLiteralParserRuleCall_8()); }
-	ruleIntLiteral
-{ after(grammarAccess.getPowerAccess().getIntLiteralParserRuleCall_8()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getDoubleLiteralParserRuleCall_9()); }
-	ruleDoubleLiteral
-{ after(grammarAccess.getPowerAccess().getDoubleLiteralParserRuleCall_9()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getFormalParameterParserRuleCall_10()); }
-	ruleFormalParameter
-{ after(grammarAccess.getPowerAccess().getFormalParameterParserRuleCall_10()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getProbabilityMassFunctionParserRuleCall_11()); }
-	ruleProbabilityMassFunction
-{ after(grammarAccess.getPowerAccess().getProbabilityMassFunctionParserRuleCall_11()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getBoxedPDFParserRuleCall_12()); }
-	ruleBoxedPDF
-{ after(grammarAccess.getPowerAccess().getBoxedPDFParserRuleCall_12()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getNormalDistributionParserRuleCall_13()); }
-	ruleNormalDistribution
-{ after(grammarAccess.getPowerAccess().getNormalDistributionParserRuleCall_13()); }
-)
-
-    |(
-{ before(grammarAccess.getPowerAccess().getExponentialDistributionParserRuleCall_14()); }
-	ruleExponentialDistribution
-{ after(grammarAccess.getPowerAccess().getExponentialDistributionParserRuleCall_14()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Unary__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getUnaryAccess().getNotExpressionParserRuleCall_0()); }
-	ruleNotExpression
-{ after(grammarAccess.getUnaryAccess().getNotExpressionParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getNegativeExpressionParserRuleCall_1()); }
-	ruleNegativeExpression
-{ after(grammarAccess.getUnaryAccess().getNegativeExpressionParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getFunctionParserRuleCall_2()); }
-	ruleFunction
-{ after(grammarAccess.getUnaryAccess().getFunctionParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getParenthesisParserRuleCall_3()); }
-	ruleParenthesis
-{ after(grammarAccess.getUnaryAccess().getParenthesisParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getLiteral_ImplParserRuleCall_4()); }
-	ruleLiteral_Impl
-{ after(grammarAccess.getUnaryAccess().getLiteral_ImplParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getStringLiteralParserRuleCall_5()); }
-	ruleStringLiteral
-{ after(grammarAccess.getUnaryAccess().getStringLiteralParserRuleCall_5()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getBoolLiteralParserRuleCall_6()); }
-	ruleBoolLiteral
-{ after(grammarAccess.getUnaryAccess().getBoolLiteralParserRuleCall_6()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getIntLiteralParserRuleCall_7()); }
-	ruleIntLiteral
-{ after(grammarAccess.getUnaryAccess().getIntLiteralParserRuleCall_7()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getDoubleLiteralParserRuleCall_8()); }
-	ruleDoubleLiteral
-{ after(grammarAccess.getUnaryAccess().getDoubleLiteralParserRuleCall_8()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getFormalParameterParserRuleCall_9()); }
-	ruleFormalParameter
-{ after(grammarAccess.getUnaryAccess().getFormalParameterParserRuleCall_9()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getProbabilityMassFunctionParserRuleCall_10()); }
-	ruleProbabilityMassFunction
-{ after(grammarAccess.getUnaryAccess().getProbabilityMassFunctionParserRuleCall_10()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getBoxedPDFParserRuleCall_11()); }
-	ruleBoxedPDF
-{ after(grammarAccess.getUnaryAccess().getBoxedPDFParserRuleCall_11()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getNormalDistributionParserRuleCall_12()); }
-	ruleNormalDistribution
-{ after(grammarAccess.getUnaryAccess().getNormalDistributionParserRuleCall_12()); }
-)
-
-    |(
-{ before(grammarAccess.getUnaryAccess().getExponentialDistributionParserRuleCall_13()); }
-	ruleExponentialDistribution
-{ after(grammarAccess.getUnaryAccess().getExponentialDistributionParserRuleCall_13()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanExpression__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanExpressionAccess().getTermExpressionParserRuleCall_0()); }
-	ruleTermExpression
-{ after(grammarAccess.getBooleanExpressionAccess().getTermExpressionParserRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getProductExpressionParserRuleCall_1()); }
-	ruleProductExpression
-{ after(grammarAccess.getBooleanExpressionAccess().getProductExpressionParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getCompareExpressionParserRuleCall_2()); }
-	ruleCompareExpression
-{ after(grammarAccess.getBooleanExpressionAccess().getCompareExpressionParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getPowerExpressionParserRuleCall_3()); }
-	rulePowerExpression
-{ after(grammarAccess.getBooleanExpressionAccess().getPowerExpressionParserRuleCall_3()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); }
-	ruleBooleanOperatorExpression
-{ after(grammarAccess.getBooleanExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getNotExpressionParserRuleCall_5()); }
-	ruleNotExpression
-{ after(grammarAccess.getBooleanExpressionAccess().getNotExpressionParserRuleCall_5()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getNegativeExpressionParserRuleCall_6()); }
-	ruleNegativeExpression
-{ after(grammarAccess.getBooleanExpressionAccess().getNegativeExpressionParserRuleCall_6()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getFunctionParserRuleCall_7()); }
-	ruleFunction
-{ after(grammarAccess.getBooleanExpressionAccess().getFunctionParserRuleCall_7()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getParenthesisParserRuleCall_8()); }
-	ruleParenthesis
-{ after(grammarAccess.getBooleanExpressionAccess().getParenthesisParserRuleCall_8()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getLiteral_ImplParserRuleCall_9()); }
-	ruleLiteral_Impl
-{ after(grammarAccess.getBooleanExpressionAccess().getLiteral_ImplParserRuleCall_9()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getStringLiteralParserRuleCall_10()); }
-	ruleStringLiteral
-{ after(grammarAccess.getBooleanExpressionAccess().getStringLiteralParserRuleCall_10()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getBoolLiteralParserRuleCall_11()); }
-	ruleBoolLiteral
-{ after(grammarAccess.getBooleanExpressionAccess().getBoolLiteralParserRuleCall_11()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getIntLiteralParserRuleCall_12()); }
-	ruleIntLiteral
-{ after(grammarAccess.getBooleanExpressionAccess().getIntLiteralParserRuleCall_12()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getDoubleLiteralParserRuleCall_13()); }
-	ruleDoubleLiteral
-{ after(grammarAccess.getBooleanExpressionAccess().getDoubleLiteralParserRuleCall_13()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getFormalParameterParserRuleCall_14()); }
-	ruleFormalParameter
-{ after(grammarAccess.getBooleanExpressionAccess().getFormalParameterParserRuleCall_14()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getProbabilityMassFunctionParserRuleCall_15()); }
-	ruleProbabilityMassFunction
-{ after(grammarAccess.getBooleanExpressionAccess().getProbabilityMassFunctionParserRuleCall_15()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getBoxedPDFParserRuleCall_16()); }
-	ruleBoxedPDF
-{ after(grammarAccess.getBooleanExpressionAccess().getBoxedPDFParserRuleCall_16()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getNormalDistributionParserRuleCall_17()); }
-	ruleNormalDistribution
-{ after(grammarAccess.getBooleanExpressionAccess().getNormalDistributionParserRuleCall_17()); }
-)
-
-    |(
-{ before(grammarAccess.getBooleanExpressionAccess().getExponentialDistributionParserRuleCall_18()); }
-	ruleExponentialDistribution
-{ after(grammarAccess.getBooleanExpressionAccess().getExponentialDistributionParserRuleCall_18()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EString__Alternatives
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); }
-	RULE_STRING
-{ after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); }
-)
-
-    |(
-{ before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); }
-	RULE_ID
-{ after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-rule__ExplicitFunction__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group__0__Impl
-	rule__ExplicitFunction__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getExplicitFunctionAction_0()); }
-(
-
-)
-{ after(grammarAccess.getExplicitFunctionAccess().getExplicitFunctionAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExplicitFunction__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group__1__Impl
-	rule__ExplicitFunction__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getExplicitFunctionKeyword_1()); }
-
-	'ExplicitFunction' 
-
-{ after(grammarAccess.getExplicitFunctionAccess().getExplicitFunctionKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExplicitFunction__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group__2__Impl
-	rule__ExplicitFunction__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getExplicitFunctionAccess().getLeftCurlyBracketKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExplicitFunction__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group__3__Impl
-	rule__ExplicitFunction__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getGroup_3()); }
-(rule__ExplicitFunction__Group_3__0)?
-{ after(grammarAccess.getExplicitFunctionAccess().getGroup_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExplicitFunction__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group__4__Impl
-	rule__ExplicitFunction__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getGroup_4()); }
-(rule__ExplicitFunction__Group_4__0)?
-{ after(grammarAccess.getExplicitFunctionAccess().getGroup_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExplicitFunction__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group__5__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getRightCurlyBracketKeyword_5()); }
-
-	'}' 
-
-{ after(grammarAccess.getExplicitFunctionAccess().getRightCurlyBracketKeyword_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__ExplicitFunction__Group_3__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group_3__0__Impl
-	rule__ExplicitFunction__Group_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group_3__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getSpecificationKeyword_3_0()); }
-
-	'specification' 
-
-{ after(grammarAccess.getExplicitFunctionAccess().getSpecificationKeyword_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExplicitFunction__Group_3__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group_3__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group_3__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getSpecificationAssignment_3_1()); }
-(rule__ExplicitFunction__SpecificationAssignment_3_1)
-{ after(grammarAccess.getExplicitFunctionAccess().getSpecificationAssignment_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__ExplicitFunction__Group_4__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group_4__0__Impl
-	rule__ExplicitFunction__Group_4__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group_4__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getExpressionKeyword_4_0()); }
-
-	'expression' 
-
-{ after(grammarAccess.getExplicitFunctionAccess().getExpressionKeyword_4_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExplicitFunction__Group_4__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExplicitFunction__Group_4__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__Group_4__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getExpressionAssignment_4_1()); }
-(rule__ExplicitFunction__ExpressionAssignment_4_1)
-{ after(grammarAccess.getExplicitFunctionAccess().getExpressionAssignment_4_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__TermExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression__Group__0__Impl
-	rule__TermExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getTermExpressionKeyword_0()); }
-
-	'TermExpression' 
-
-{ after(grammarAccess.getTermExpressionAccess().getTermExpressionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__TermExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression__Group__1__Impl
-	rule__TermExpression__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getTermExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__TermExpression__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression__Group__2__Impl
-	rule__TermExpression__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getTermExpression2ParserRuleCall_2()); }
-	ruleTermExpression2
-{ after(grammarAccess.getTermExpressionAccess().getTermExpression2ParserRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__TermExpression__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression__Group__3__Impl
-	rule__TermExpression__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getGroup_3()); }
-(rule__TermExpression__Group_3__0)*
-{ after(grammarAccess.getTermExpressionAccess().getGroup_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__TermExpression__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getTermExpressionAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__TermExpression__Group_3__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression__Group_3__0__Impl
-	rule__TermExpression__Group_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__Group_3__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getTermExpressionLeftAction_3_0()); }
-(
-
-)
-{ after(grammarAccess.getTermExpressionAccess().getTermExpressionLeftAction_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__TermExpression__Group_3__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression__Group_3__1__Impl
-	rule__TermExpression__Group_3__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__Group_3__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getOperationAssignment_3_1()); }
-(rule__TermExpression__OperationAssignment_3_1)
-{ after(grammarAccess.getTermExpressionAccess().getOperationAssignment_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__TermExpression__Group_3__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression__Group_3__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__Group_3__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getRightAssignment_3_2()); }
-(rule__TermExpression__RightAssignment_3_2)
-{ after(grammarAccess.getTermExpressionAccess().getRightAssignment_3_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__TermExpression2__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression2__Group__0__Impl
-	rule__TermExpression2__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression2__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpression2Access().getLeftAssignment_0()); }
-(rule__TermExpression2__LeftAssignment_0)
-{ after(grammarAccess.getTermExpression2Access().getLeftAssignment_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__TermExpression2__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression2__Group__1__Impl
-	rule__TermExpression2__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression2__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpression2Access().getOperationAssignment_1()); }
-(rule__TermExpression2__OperationAssignment_1)
-{ after(grammarAccess.getTermExpression2Access().getOperationAssignment_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__TermExpression2__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__TermExpression2__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression2__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpression2Access().getRightAssignment_2()); }
-(rule__TermExpression2__RightAssignment_2)
-{ after(grammarAccess.getTermExpression2Access().getRightAssignment_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__ProductExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression__Group__0__Impl
-	rule__ProductExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getProductExpressionKeyword_0()); }
-
-	'ProductExpression' 
-
-{ after(grammarAccess.getProductExpressionAccess().getProductExpressionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProductExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression__Group__1__Impl
-	rule__ProductExpression__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getProductExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProductExpression__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression__Group__2__Impl
-	rule__ProductExpression__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getProductExpression2ParserRuleCall_2()); }
-	ruleProductExpression2
-{ after(grammarAccess.getProductExpressionAccess().getProductExpression2ParserRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProductExpression__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression__Group__3__Impl
-	rule__ProductExpression__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getGroup_3()); }
-(rule__ProductExpression__Group_3__0)*
-{ after(grammarAccess.getProductExpressionAccess().getGroup_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProductExpression__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getProductExpressionAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__ProductExpression__Group_3__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression__Group_3__0__Impl
-	rule__ProductExpression__Group_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__Group_3__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getProductExpressionLeftAction_3_0()); }
-(
-
-)
-{ after(grammarAccess.getProductExpressionAccess().getProductExpressionLeftAction_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProductExpression__Group_3__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression__Group_3__1__Impl
-	rule__ProductExpression__Group_3__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__Group_3__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getOperationAssignment_3_1()); }
-(rule__ProductExpression__OperationAssignment_3_1)
-{ after(grammarAccess.getProductExpressionAccess().getOperationAssignment_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProductExpression__Group_3__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression__Group_3__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__Group_3__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getRightAssignment_3_2()); }
-(rule__ProductExpression__RightAssignment_3_2)
-{ after(grammarAccess.getProductExpressionAccess().getRightAssignment_3_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__ProductExpression2__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression2__Group__0__Impl
-	rule__ProductExpression2__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression2__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpression2Access().getLeftAssignment_0()); }
-(rule__ProductExpression2__LeftAssignment_0)
-{ after(grammarAccess.getProductExpression2Access().getLeftAssignment_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProductExpression2__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression2__Group__1__Impl
-	rule__ProductExpression2__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression2__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpression2Access().getOperationAssignment_1()); }
-(rule__ProductExpression2__OperationAssignment_1)
-{ after(grammarAccess.getProductExpression2Access().getOperationAssignment_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProductExpression2__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProductExpression2__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression2__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpression2Access().getRightAssignment_2()); }
-(rule__ProductExpression2__RightAssignment_2)
-{ after(grammarAccess.getProductExpression2Access().getRightAssignment_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__CompareExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__CompareExpression__Group__0__Impl
-	rule__CompareExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getCompareExpressionKeyword_0()); }
-
-	'CompareExpression' 
-
-{ after(grammarAccess.getCompareExpressionAccess().getCompareExpressionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__CompareExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__CompareExpression__Group__1__Impl
-	rule__CompareExpression__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getCompareExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__CompareExpression__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__CompareExpression__Group__2__Impl
-	rule__CompareExpression__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getOperationKeyword_2()); }
-
-	'operation' 
-
-{ after(grammarAccess.getCompareExpressionAccess().getOperationKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__CompareExpression__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__CompareExpression__Group__3__Impl
-	rule__CompareExpression__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getOperationAssignment_3()); }
-(rule__CompareExpression__OperationAssignment_3)
-{ after(grammarAccess.getCompareExpressionAccess().getOperationAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__CompareExpression__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__CompareExpression__Group__4__Impl
-	rule__CompareExpression__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getLeftKeyword_4()); }
-
-	'left' 
-
-{ after(grammarAccess.getCompareExpressionAccess().getLeftKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__CompareExpression__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__CompareExpression__Group__5__Impl
-	rule__CompareExpression__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getLeftAssignment_5()); }
-(rule__CompareExpression__LeftAssignment_5)
-{ after(grammarAccess.getCompareExpressionAccess().getLeftAssignment_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__CompareExpression__Group__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__CompareExpression__Group__6__Impl
-	rule__CompareExpression__Group__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__Group__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getRightKeyword_6()); }
-
-	'right' 
-
-{ after(grammarAccess.getCompareExpressionAccess().getRightKeyword_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__CompareExpression__Group__7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__CompareExpression__Group__7__Impl
-	rule__CompareExpression__Group__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__Group__7__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getRightAssignment_7()); }
-(rule__CompareExpression__RightAssignment_7)
-{ after(grammarAccess.getCompareExpressionAccess().getRightAssignment_7()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__CompareExpression__Group__8
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__CompareExpression__Group__8__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__Group__8__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getRightCurlyBracketKeyword_8()); }
-
-	'}' 
-
-{ after(grammarAccess.getCompareExpressionAccess().getRightCurlyBracketKeyword_8()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__PowerExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PowerExpression__Group__0__Impl
-	rule__PowerExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PowerExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getPowerExpressionKeyword_0()); }
-
-	'PowerExpression' 
-
-{ after(grammarAccess.getPowerExpressionAccess().getPowerExpressionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PowerExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PowerExpression__Group__1__Impl
-	rule__PowerExpression__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PowerExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getPowerExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PowerExpression__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PowerExpression__Group__2__Impl
-	rule__PowerExpression__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PowerExpression__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getBaseKeyword_2()); }
-
-	'base' 
-
-{ after(grammarAccess.getPowerExpressionAccess().getBaseKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PowerExpression__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PowerExpression__Group__3__Impl
-	rule__PowerExpression__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PowerExpression__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getBaseAssignment_3()); }
-(rule__PowerExpression__BaseAssignment_3)
-{ after(grammarAccess.getPowerExpressionAccess().getBaseAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PowerExpression__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PowerExpression__Group__4__Impl
-	rule__PowerExpression__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PowerExpression__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getExponentKeyword_4()); }
-
-	'exponent' 
-
-{ after(grammarAccess.getPowerExpressionAccess().getExponentKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PowerExpression__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PowerExpression__Group__5__Impl
-	rule__PowerExpression__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PowerExpression__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getExponentAssignment_5()); }
-(rule__PowerExpression__ExponentAssignment_5)
-{ after(grammarAccess.getPowerExpressionAccess().getExponentAssignment_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PowerExpression__Group__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PowerExpression__Group__6__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PowerExpression__Group__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getRightCurlyBracketKeyword_6()); }
-
-	'}' 
-
-{ after(grammarAccess.getPowerExpressionAccess().getRightCurlyBracketKeyword_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__BooleanOperatorExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BooleanOperatorExpression__Group__0__Impl
-	rule__BooleanOperatorExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getBooleanOperatorExpressionKeyword_0()); }
-
-	'BooleanOperatorExpression' 
-
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getBooleanOperatorExpressionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BooleanOperatorExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BooleanOperatorExpression__Group__1__Impl
-	rule__BooleanOperatorExpression__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BooleanOperatorExpression__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BooleanOperatorExpression__Group__2__Impl
-	rule__BooleanOperatorExpression__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getOperationKeyword_2()); }
-
-	'operation' 
-
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getOperationKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BooleanOperatorExpression__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BooleanOperatorExpression__Group__3__Impl
-	rule__BooleanOperatorExpression__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getOperationAssignment_3()); }
-(rule__BooleanOperatorExpression__OperationAssignment_3)
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getOperationAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BooleanOperatorExpression__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BooleanOperatorExpression__Group__4__Impl
-	rule__BooleanOperatorExpression__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getLeftKeyword_4()); }
-
-	'left' 
-
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getLeftKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BooleanOperatorExpression__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BooleanOperatorExpression__Group__5__Impl
-	rule__BooleanOperatorExpression__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getLeftAssignment_5()); }
-(rule__BooleanOperatorExpression__LeftAssignment_5)
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getLeftAssignment_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BooleanOperatorExpression__Group__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BooleanOperatorExpression__Group__6__Impl
-	rule__BooleanOperatorExpression__Group__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__Group__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getRightKeyword_6()); }
-
-	'right' 
-
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getRightKeyword_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BooleanOperatorExpression__Group__7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BooleanOperatorExpression__Group__7__Impl
-	rule__BooleanOperatorExpression__Group__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__Group__7__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getRightAssignment_7()); }
-(rule__BooleanOperatorExpression__RightAssignment_7)
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getRightAssignment_7()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BooleanOperatorExpression__Group__8
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BooleanOperatorExpression__Group__8__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__Group__8__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getRightCurlyBracketKeyword_8()); }
-
-	'}' 
-
-{ after(grammarAccess.getBooleanOperatorExpressionAccess().getRightCurlyBracketKeyword_8()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__NotExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NotExpression__Group__0__Impl
-	rule__NotExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NotExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNotExpressionAccess().getNotExpressionKeyword_0()); }
-
-	'NotExpression' 
-
-{ after(grammarAccess.getNotExpressionAccess().getNotExpressionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NotExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NotExpression__Group__1__Impl
-	rule__NotExpression__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NotExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNotExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getNotExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NotExpression__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NotExpression__Group__2__Impl
-	rule__NotExpression__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NotExpression__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNotExpressionAccess().getInnerKeyword_2()); }
-
-	'inner' 
-
-{ after(grammarAccess.getNotExpressionAccess().getInnerKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NotExpression__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NotExpression__Group__3__Impl
-	rule__NotExpression__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NotExpression__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNotExpressionAccess().getInnerAssignment_3()); }
-(rule__NotExpression__InnerAssignment_3)
-{ after(grammarAccess.getNotExpressionAccess().getInnerAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NotExpression__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NotExpression__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NotExpression__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNotExpressionAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getNotExpressionAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__NegativeExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NegativeExpression__Group__0__Impl
-	rule__NegativeExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NegativeExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNegativeExpressionAccess().getNegativeExpressionKeyword_0()); }
-
-	'NegativeExpression' 
-
-{ after(grammarAccess.getNegativeExpressionAccess().getNegativeExpressionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NegativeExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NegativeExpression__Group__1__Impl
-	rule__NegativeExpression__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NegativeExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNegativeExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getNegativeExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NegativeExpression__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NegativeExpression__Group__2__Impl
-	rule__NegativeExpression__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NegativeExpression__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNegativeExpressionAccess().getInnerKeyword_2()); }
-
-	'inner' 
-
-{ after(grammarAccess.getNegativeExpressionAccess().getInnerKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NegativeExpression__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NegativeExpression__Group__3__Impl
-	rule__NegativeExpression__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NegativeExpression__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNegativeExpressionAccess().getInnerAssignment_3()); }
-(rule__NegativeExpression__InnerAssignment_3)
-{ after(grammarAccess.getNegativeExpressionAccess().getInnerAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NegativeExpression__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NegativeExpression__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NegativeExpression__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNegativeExpressionAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getNegativeExpressionAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__IfElseExpression__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__0__Impl
-	rule__IfElseExpression__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionKeyword_0()); }
-
-	'IfElseExpression' 
-
-{ after(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__1__Impl
-	rule__IfElseExpression__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getIfElseExpressionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__2__Impl
-	rule__IfElseExpression__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getIfExpressionKeyword_2()); }
-
-	'ifExpression' 
-
-{ after(grammarAccess.getIfElseExpressionAccess().getIfExpressionKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__3__Impl
-	rule__IfElseExpression__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getIfExpressionAssignment_3()); }
-(rule__IfElseExpression__IfExpressionAssignment_3)
-{ after(grammarAccess.getIfElseExpressionAccess().getIfExpressionAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__4__Impl
-	rule__IfElseExpression__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getElseExpressionKeyword_4()); }
-
-	'elseExpression' 
-
-{ after(grammarAccess.getIfElseExpressionAccess().getElseExpressionKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__5__Impl
-	rule__IfElseExpression__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getElseExpressionAssignment_5()); }
-(rule__IfElseExpression__ElseExpressionAssignment_5)
-{ after(grammarAccess.getIfElseExpressionAccess().getElseExpressionAssignment_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__6__Impl
-	rule__IfElseExpression__Group__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getConditionExpressionKeyword_6()); }
-
-	'conditionExpression' 
-
-{ after(grammarAccess.getIfElseExpressionAccess().getConditionExpressionKeyword_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group__7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__7__Impl
-	rule__IfElseExpression__Group__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__7__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getConditionExpressionAssignment_7()); }
-(rule__IfElseExpression__ConditionExpressionAssignment_7)
-{ after(grammarAccess.getIfElseExpressionAccess().getConditionExpressionAssignment_7()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IfElseExpression__Group__8
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IfElseExpression__Group__8__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__Group__8__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getRightCurlyBracketKeyword_8()); }
-
-	'}' 
-
-{ after(grammarAccess.getIfElseExpressionAccess().getRightCurlyBracketKeyword_8()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__Function__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__0__Impl
-	rule__Function__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getFunctionKeyword_0()); }
-
-	'Function' 
-
-{ after(grammarAccess.getFunctionAccess().getFunctionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__1__Impl
-	rule__Function__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__2__Impl
-	rule__Function__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getIdKeyword_2()); }
-
-	'id' 
-
-{ after(grammarAccess.getFunctionAccess().getIdKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__3__Impl
-	rule__Function__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getIdAssignment_3()); }
-(rule__Function__IdAssignment_3)
-{ after(grammarAccess.getFunctionAccess().getIdAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__4__Impl
-	rule__Function__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getGroup_4()); }
-(rule__Function__Group_4__0)?
-{ after(grammarAccess.getFunctionAccess().getGroup_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group__5__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_5()); }
-
-	'}' 
-
-{ after(grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__Function__Group_4__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_4__0__Impl
-	rule__Function__Group_4__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_4__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getParametersKeyword_4_0()); }
-
-	'parameters' 
-
-{ after(grammarAccess.getFunctionAccess().getParametersKeyword_4_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group_4__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_4__1__Impl
-	rule__Function__Group_4__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_4__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_4_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_4_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group_4__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_4__2__Impl
-	rule__Function__Group_4__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_4__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getParametersAssignment_4_2()); }
-(rule__Function__ParametersAssignment_4_2)
-{ after(grammarAccess.getFunctionAccess().getParametersAssignment_4_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group_4__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_4__3__Impl
-	rule__Function__Group_4__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_4__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getGroup_4_3()); }
-(rule__Function__Group_4_3__0)*
-{ after(grammarAccess.getFunctionAccess().getGroup_4_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group_4__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_4__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_4__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_4_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_4_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__Function__Group_4_3__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_4_3__0__Impl
-	rule__Function__Group_4_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_4_3__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getCommaKeyword_4_3_0()); }
-
-	',' 
-
-{ after(grammarAccess.getFunctionAccess().getCommaKeyword_4_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Function__Group_4_3__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Function__Group_4_3__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__Group_4_3__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getParametersAssignment_4_3_1()); }
-(rule__Function__ParametersAssignment_4_3_1)
-{ after(grammarAccess.getFunctionAccess().getParametersAssignment_4_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__Parenthesis__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Parenthesis__Group__0__Impl
-	rule__Parenthesis__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Parenthesis__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getParenthesisAccess().getParenthesisKeyword_0()); }
-
-	'Parenthesis' 
-
-{ after(grammarAccess.getParenthesisAccess().getParenthesisKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Parenthesis__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Parenthesis__Group__1__Impl
-	rule__Parenthesis__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Parenthesis__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getParenthesisAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getParenthesisAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Parenthesis__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Parenthesis__Group__2__Impl
-	rule__Parenthesis__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Parenthesis__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getParenthesisAccess().getInnerExpressionKeyword_2()); }
-
-	'innerExpression' 
-
-{ after(grammarAccess.getParenthesisAccess().getInnerExpressionKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Parenthesis__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Parenthesis__Group__3__Impl
-	rule__Parenthesis__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Parenthesis__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getParenthesisAccess().getInnerExpressionAssignment_3()); }
-(rule__Parenthesis__InnerExpressionAssignment_3)
-{ after(grammarAccess.getParenthesisAccess().getInnerExpressionAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Parenthesis__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Parenthesis__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Parenthesis__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getParenthesisAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getParenthesisAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__Literal_Impl__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Literal_Impl__Group__0__Impl
-	rule__Literal_Impl__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Literal_Impl__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getLiteral_ImplAccess().getLiteralAction_0()); }
-(
-
-)
-{ after(grammarAccess.getLiteral_ImplAccess().getLiteralAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Literal_Impl__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Literal_Impl__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Literal_Impl__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getLiteral_ImplAccess().getLiteralKeyword_1()); }
-
-	'Literal' 
-
-{ after(grammarAccess.getLiteral_ImplAccess().getLiteralKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__StringLiteral__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__StringLiteral__Group__0__Impl
-	rule__StringLiteral__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__StringLiteral__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStringLiteralAccess().getStringLiteralKeyword_0()); }
-
-	'StringLiteral' 
-
-{ after(grammarAccess.getStringLiteralAccess().getStringLiteralKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__StringLiteral__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__StringLiteral__Group__1__Impl
-	rule__StringLiteral__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__StringLiteral__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStringLiteralAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getStringLiteralAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__StringLiteral__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__StringLiteral__Group__2__Impl
-	rule__StringLiteral__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__StringLiteral__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStringLiteralAccess().getValueKeyword_2()); }
-
-	'value' 
-
-{ after(grammarAccess.getStringLiteralAccess().getValueKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__StringLiteral__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__StringLiteral__Group__3__Impl
-	rule__StringLiteral__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__StringLiteral__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStringLiteralAccess().getValueAssignment_3()); }
-(rule__StringLiteral__ValueAssignment_3)
-{ after(grammarAccess.getStringLiteralAccess().getValueAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__StringLiteral__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__StringLiteral__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__StringLiteral__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStringLiteralAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getStringLiteralAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__BoolLiteral__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoolLiteral__Group__0__Impl
-	rule__BoolLiteral__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoolLiteral__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoolLiteralAccess().getValueAssignment_0()); }
-(rule__BoolLiteral__ValueAssignment_0)
-{ after(grammarAccess.getBoolLiteralAccess().getValueAssignment_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoolLiteral__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoolLiteral__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoolLiteral__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoolLiteralAccess().getBoolLiteralKeyword_1()); }
-
-	'BoolLiteral' 
-
-{ after(grammarAccess.getBoolLiteralAccess().getBoolLiteralKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__IntLiteral__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IntLiteral__Group__0__Impl
-	rule__IntLiteral__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IntLiteral__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIntLiteralAccess().getIntLiteralKeyword_0()); }
-
-	'IntLiteral' 
-
-{ after(grammarAccess.getIntLiteralAccess().getIntLiteralKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IntLiteral__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IntLiteral__Group__1__Impl
-	rule__IntLiteral__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IntLiteral__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIntLiteralAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getIntLiteralAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IntLiteral__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IntLiteral__Group__2__Impl
-	rule__IntLiteral__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IntLiteral__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIntLiteralAccess().getValueKeyword_2()); }
-
-	'value' 
-
-{ after(grammarAccess.getIntLiteralAccess().getValueKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IntLiteral__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IntLiteral__Group__3__Impl
-	rule__IntLiteral__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IntLiteral__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIntLiteralAccess().getValueAssignment_3()); }
-(rule__IntLiteral__ValueAssignment_3)
-{ after(grammarAccess.getIntLiteralAccess().getValueAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__IntLiteral__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__IntLiteral__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IntLiteral__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIntLiteralAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getIntLiteralAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__DoubleLiteral__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DoubleLiteral__Group__0__Impl
-	rule__DoubleLiteral__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DoubleLiteral__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleLiteralAccess().getDoubleLiteralKeyword_0()); }
-
-	'DoubleLiteral' 
-
-{ after(grammarAccess.getDoubleLiteralAccess().getDoubleLiteralKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DoubleLiteral__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DoubleLiteral__Group__1__Impl
-	rule__DoubleLiteral__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DoubleLiteral__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleLiteralAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getDoubleLiteralAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DoubleLiteral__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DoubleLiteral__Group__2__Impl
-	rule__DoubleLiteral__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DoubleLiteral__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleLiteralAccess().getValueKeyword_2()); }
-
-	'value' 
-
-{ after(grammarAccess.getDoubleLiteralAccess().getValueKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DoubleLiteral__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DoubleLiteral__Group__3__Impl
-	rule__DoubleLiteral__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DoubleLiteral__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleLiteralAccess().getValueAssignment_3()); }
-(rule__DoubleLiteral__ValueAssignment_3)
-{ after(grammarAccess.getDoubleLiteralAccess().getValueAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DoubleLiteral__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DoubleLiteral__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DoubleLiteral__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleLiteralAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getDoubleLiteralAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__FormalParameter__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__FormalParameter__Group__0__Impl
-	rule__FormalParameter__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__FormalParameter__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFormalParameterAccess().getFormalParameterAction_0()); }
-(
-
-)
-{ after(grammarAccess.getFormalParameterAccess().getFormalParameterAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__FormalParameter__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__FormalParameter__Group__1__Impl
-	rule__FormalParameter__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__FormalParameter__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFormalParameterAccess().getFormalParameterKeyword_1()); }
-
-	'FormalParameter' 
-
-{ after(grammarAccess.getFormalParameterAccess().getFormalParameterKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__FormalParameter__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__FormalParameter__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__FormalParameter__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFormalParameterAccess().getNameAssignment_2()); }
-(rule__FormalParameter__NameAssignment_2)
-{ after(grammarAccess.getFormalParameterAccess().getNameAssignment_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__ProbabilityMassFunction__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group__0__Impl
-	rule__ProbabilityMassFunction__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0()); }
-(
-
-)
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProbabilityMassFunction__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group__1__Impl
-	rule__ProbabilityMassFunction__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1()); }
-
-	'ProbabilityMassFunction' 
-
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProbabilityMassFunction__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group__2__Impl
-	rule__ProbabilityMassFunction__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProbabilityMassFunction__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group__3__Impl
-	rule__ProbabilityMassFunction__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3()); }
-(rule__ProbabilityMassFunction__Group_3__0)?
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProbabilityMassFunction__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__ProbabilityMassFunction__Group_3__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group_3__0__Impl
-	rule__ProbabilityMassFunction__Group_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group_3__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0()); }
-
-	'sample' 
-
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProbabilityMassFunction__Group_3__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group_3__1__Impl
-	rule__ProbabilityMassFunction__Group_3__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group_3__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProbabilityMassFunction__Group_3__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group_3__2__Impl
-	rule__ProbabilityMassFunction__Group_3__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group_3__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_2()); }
-(rule__ProbabilityMassFunction__SampleAssignment_3_2)
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProbabilityMassFunction__Group_3__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group_3__3__Impl
-	rule__ProbabilityMassFunction__Group_3__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group_3__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3_3()); }
-(rule__ProbabilityMassFunction__Group_3_3__0)*
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProbabilityMassFunction__Group_3__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group_3__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group_3__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__ProbabilityMassFunction__Group_3_3__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group_3_3__0__Impl
-	rule__ProbabilityMassFunction__Group_3_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group_3_3__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0()); }
-
-	',' 
-
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProbabilityMassFunction__Group_3_3__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProbabilityMassFunction__Group_3_3__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__Group_3_3__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_3_1()); }
-(rule__ProbabilityMassFunction__SampleAssignment_3_3_1)
-{ after(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__BoxedPDF__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group__0__Impl
-	rule__BoxedPDF__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0()); }
-(
-
-)
-{ after(grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoxedPDF__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group__1__Impl
-	rule__BoxedPDF__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1()); }
-
-	'BoxedPDF' 
-
-{ after(grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoxedPDF__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group__2__Impl
-	rule__BoxedPDF__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoxedPDF__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group__3__Impl
-	rule__BoxedPDF__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getGroup_3()); }
-(rule__BoxedPDF__Group_3__0)?
-{ after(grammarAccess.getBoxedPDFAccess().getGroup_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoxedPDF__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__BoxedPDF__Group_3__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group_3__0__Impl
-	rule__BoxedPDF__Group_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group_3__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0()); }
-
-	'sample' 
-
-{ after(grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoxedPDF__Group_3__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group_3__1__Impl
-	rule__BoxedPDF__Group_3__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group_3__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoxedPDF__Group_3__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group_3__2__Impl
-	rule__BoxedPDF__Group_3__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group_3__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_2()); }
-(rule__BoxedPDF__SampleAssignment_3_2)
-{ after(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoxedPDF__Group_3__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group_3__3__Impl
-	rule__BoxedPDF__Group_3__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group_3__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getGroup_3_3()); }
-(rule__BoxedPDF__Group_3_3__0)*
-{ after(grammarAccess.getBoxedPDFAccess().getGroup_3_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoxedPDF__Group_3__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group_3__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group_3__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__BoxedPDF__Group_3_3__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group_3_3__0__Impl
-	rule__BoxedPDF__Group_3_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group_3_3__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0()); }
-
-	',' 
-
-{ after(grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__BoxedPDF__Group_3_3__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__BoxedPDF__Group_3_3__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__Group_3_3__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_3_1()); }
-(rule__BoxedPDF__SampleAssignment_3_3_1)
-{ after(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_3_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__NormalDistribution__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NormalDistribution__Group__0__Impl
-	rule__NormalDistribution__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NormalDistribution__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0()); }
-
-	'NormalDistribution' 
-
-{ after(grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NormalDistribution__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NormalDistribution__Group__1__Impl
-	rule__NormalDistribution__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NormalDistribution__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NormalDistribution__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NormalDistribution__Group__2__Impl
-	rule__NormalDistribution__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NormalDistribution__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getMuKeyword_2()); }
-
-	'mu' 
-
-{ after(grammarAccess.getNormalDistributionAccess().getMuKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NormalDistribution__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NormalDistribution__Group__3__Impl
-	rule__NormalDistribution__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NormalDistribution__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getMuAssignment_3()); }
-(rule__NormalDistribution__MuAssignment_3)
-{ after(grammarAccess.getNormalDistributionAccess().getMuAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NormalDistribution__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NormalDistribution__Group__4__Impl
-	rule__NormalDistribution__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NormalDistribution__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4()); }
-
-	'sigma' 
-
-{ after(grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NormalDistribution__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NormalDistribution__Group__5__Impl
-	rule__NormalDistribution__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NormalDistribution__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getSigmaAssignment_5()); }
-(rule__NormalDistribution__SigmaAssignment_5)
-{ after(grammarAccess.getNormalDistributionAccess().getSigmaAssignment_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NormalDistribution__Group__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__NormalDistribution__Group__6__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NormalDistribution__Group__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6()); }
-
-	'}' 
-
-{ after(grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__ExponentialDistribution__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExponentialDistribution__Group__0__Impl
-	rule__ExponentialDistribution__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExponentialDistribution__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0()); }
-
-	'ExponentialDistribution' 
-
-{ after(grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExponentialDistribution__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExponentialDistribution__Group__1__Impl
-	rule__ExponentialDistribution__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExponentialDistribution__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExponentialDistribution__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExponentialDistribution__Group__2__Impl
-	rule__ExponentialDistribution__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExponentialDistribution__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExponentialDistributionAccess().getRateKeyword_2()); }
-
-	'rate' 
-
-{ after(grammarAccess.getExponentialDistributionAccess().getRateKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExponentialDistribution__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExponentialDistribution__Group__3__Impl
-	rule__ExponentialDistribution__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExponentialDistribution__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExponentialDistributionAccess().getRateAssignment_3()); }
-(rule__ExponentialDistribution__RateAssignment_3)
-{ after(grammarAccess.getExponentialDistributionAccess().getRateAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ExponentialDistribution__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ExponentialDistribution__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExponentialDistribution__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-rule__EBigInteger__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__EBigInteger__Group__0__Impl
-	rule__EBigInteger__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EBigInteger__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); }
-(
-	'-' 
-)?
-{ after(grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__EBigInteger__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__EBigInteger__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EBigInteger__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__EBigDecimal__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__EBigDecimal__Group__0__Impl
-	rule__EBigDecimal__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EBigDecimal__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); }
-(	RULE_INT)?
-{ after(grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__EBigDecimal__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__EBigDecimal__Group__1__Impl
-	rule__EBigDecimal__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EBigDecimal__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); }
-
-	'.' 
-
-{ after(grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__EBigDecimal__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__EBigDecimal__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EBigDecimal__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); }
-	RULE_INT
-{ after(grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__Sample__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Sample__Group__0__Impl
-	rule__Sample__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sample__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSampleAccess().getSampleKeyword_0()); }
-
-	'Sample' 
-
-{ after(grammarAccess.getSampleAccess().getSampleKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Sample__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Sample__Group__1__Impl
-	rule__Sample__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sample__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Sample__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Sample__Group__2__Impl
-	rule__Sample__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sample__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSampleAccess().getProbabilityKeyword_2()); }
-
-	'probability' 
-
-{ after(grammarAccess.getSampleAccess().getProbabilityKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Sample__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Sample__Group__3__Impl
-	rule__Sample__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sample__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSampleAccess().getProbabilityAssignment_3()); }
-(rule__Sample__ProbabilityAssignment_3)
-{ after(grammarAccess.getSampleAccess().getProbabilityAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Sample__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Sample__Group__4__Impl
-	rule__Sample__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sample__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSampleAccess().getValueKeyword_4()); }
-
-	'value' 
-
-{ after(grammarAccess.getSampleAccess().getValueKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Sample__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Sample__Group__5__Impl
-	rule__Sample__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sample__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSampleAccess().getValueAssignment_5()); }
-(rule__Sample__ValueAssignment_5)
-{ after(grammarAccess.getSampleAccess().getValueAssignment_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Sample__Group__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Sample__Group__6__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sample__Group__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6()); }
-
-	'}' 
-
-{ after(grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__ContinuousSample__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ContinuousSample__Group__0__Impl
-	rule__ContinuousSample__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ContinuousSample__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0()); }
-
-	'ContinuousSample' 
-
-{ after(grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ContinuousSample__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ContinuousSample__Group__1__Impl
-	rule__ContinuousSample__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ContinuousSample__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ContinuousSample__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ContinuousSample__Group__2__Impl
-	rule__ContinuousSample__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ContinuousSample__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getValueKeyword_2()); }
-
-	'value' 
-
-{ after(grammarAccess.getContinuousSampleAccess().getValueKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ContinuousSample__Group__3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ContinuousSample__Group__3__Impl
-	rule__ContinuousSample__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ContinuousSample__Group__3__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getValueAssignment_3()); }
-(rule__ContinuousSample__ValueAssignment_3)
-{ after(grammarAccess.getContinuousSampleAccess().getValueAssignment_3()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ContinuousSample__Group__4
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ContinuousSample__Group__4__Impl
-	rule__ContinuousSample__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ContinuousSample__Group__4__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4()); }
-
-	'probability' 
-
-{ after(grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ContinuousSample__Group__5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ContinuousSample__Group__5__Impl
-	rule__ContinuousSample__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ContinuousSample__Group__5__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getProbabilityAssignment_5()); }
-(rule__ContinuousSample__ProbabilityAssignment_5)
-{ after(grammarAccess.getContinuousSampleAccess().getProbabilityAssignment_5()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ContinuousSample__Group__6
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ContinuousSample__Group__6__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ContinuousSample__Group__6__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6()); }
-
-	'}' 
-
-{ after(grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__ExplicitFunction__SpecificationAssignment_3_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getSpecificationEStringParserRuleCall_3_1_0()); }
-	ruleEString{ after(grammarAccess.getExplicitFunctionAccess().getSpecificationEStringParserRuleCall_3_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExplicitFunction__ExpressionAssignment_4_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExplicitFunctionAccess().getExpressionExpressionParserRuleCall_4_1_0()); }
-	ruleExpression{ after(grammarAccess.getExplicitFunctionAccess().getExpressionExpressionParserRuleCall_4_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__OperationAssignment_3_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getOperationTermOperationsParserRuleCall_3_1_0()); }
-	ruleTermOperations{ after(grammarAccess.getTermExpressionAccess().getOperationTermOperationsParserRuleCall_3_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression__RightAssignment_3_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpressionAccess().getRightProductParserRuleCall_3_2_0()); }
-	ruleProduct{ after(grammarAccess.getTermExpressionAccess().getRightProductParserRuleCall_3_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression2__LeftAssignment_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpression2Access().getLeftTermParserRuleCall_0_0()); }
-	ruleTerm{ after(grammarAccess.getTermExpression2Access().getLeftTermParserRuleCall_0_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression2__OperationAssignment_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpression2Access().getOperationTermOperationsParserRuleCall_1_0()); }
-	ruleTermOperations{ after(grammarAccess.getTermExpression2Access().getOperationTermOperationsParserRuleCall_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__TermExpression2__RightAssignment_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getTermExpression2Access().getRightProductParserRuleCall_2_0()); }
-	ruleProduct{ after(grammarAccess.getTermExpression2Access().getRightProductParserRuleCall_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__OperationAssignment_3_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getOperationProductOperationsParserRuleCall_3_1_0()); }
-	ruleProductOperations{ after(grammarAccess.getProductExpressionAccess().getOperationProductOperationsParserRuleCall_3_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression__RightAssignment_3_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpressionAccess().getRightPowerParserRuleCall_3_2_0()); }
-	rulePower{ after(grammarAccess.getProductExpressionAccess().getRightPowerParserRuleCall_3_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression2__LeftAssignment_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpression2Access().getLeftProductParserRuleCall_0_0()); }
-	ruleProduct{ after(grammarAccess.getProductExpression2Access().getLeftProductParserRuleCall_0_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression2__OperationAssignment_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpression2Access().getOperationProductOperationsParserRuleCall_1_0()); }
-	ruleProductOperations{ after(grammarAccess.getProductExpression2Access().getOperationProductOperationsParserRuleCall_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProductExpression2__RightAssignment_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProductExpression2Access().getRightPowerParserRuleCall_2_0()); }
-	rulePower{ after(grammarAccess.getProductExpression2Access().getRightPowerParserRuleCall_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__OperationAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getOperationCompareOperationsParserRuleCall_3_0()); }
-	ruleCompareOperations{ after(grammarAccess.getCompareExpressionAccess().getOperationCompareOperationsParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__LeftAssignment_5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getLeftTermParserRuleCall_5_0()); }
-	ruleTerm{ after(grammarAccess.getCompareExpressionAccess().getLeftTermParserRuleCall_5_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__CompareExpression__RightAssignment_7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getCompareExpressionAccess().getRightTermParserRuleCall_7_0()); }
-	ruleTerm{ after(grammarAccess.getCompareExpressionAccess().getRightTermParserRuleCall_7_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PowerExpression__BaseAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getBasePowerParserRuleCall_3_0()); }
-	rulePower{ after(grammarAccess.getPowerExpressionAccess().getBasePowerParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PowerExpression__ExponentAssignment_5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPowerExpressionAccess().getExponentUnaryParserRuleCall_5_0()); }
-	ruleUnary{ after(grammarAccess.getPowerExpressionAccess().getExponentUnaryParserRuleCall_5_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__OperationAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getOperationBooleanOperationsParserRuleCall_3_0()); }
-	ruleBooleanOperations{ after(grammarAccess.getBooleanOperatorExpressionAccess().getOperationBooleanOperationsParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__LeftAssignment_5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getLeftBooleanExpressionParserRuleCall_5_0()); }
-	ruleBooleanExpression{ after(grammarAccess.getBooleanOperatorExpressionAccess().getLeftBooleanExpressionParserRuleCall_5_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BooleanOperatorExpression__RightAssignment_7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBooleanOperatorExpressionAccess().getRightBooleanExpressionParserRuleCall_7_0()); }
-	ruleBooleanExpression{ after(grammarAccess.getBooleanOperatorExpressionAccess().getRightBooleanExpressionParserRuleCall_7_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NotExpression__InnerAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNotExpressionAccess().getInnerUnaryParserRuleCall_3_0()); }
-	ruleUnary{ after(grammarAccess.getNotExpressionAccess().getInnerUnaryParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NegativeExpression__InnerAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNegativeExpressionAccess().getInnerUnaryParserRuleCall_3_0()); }
-	ruleUnary{ after(grammarAccess.getNegativeExpressionAccess().getInnerUnaryParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__IfExpressionAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getIfExpressionBooleanExpressionParserRuleCall_3_0()); }
-	ruleBooleanExpression{ after(grammarAccess.getIfElseExpressionAccess().getIfExpressionBooleanExpressionParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__ElseExpressionAssignment_5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getElseExpressionBooleanExpressionParserRuleCall_5_0()); }
-	ruleBooleanExpression{ after(grammarAccess.getIfElseExpressionAccess().getElseExpressionBooleanExpressionParserRuleCall_5_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IfElseExpression__ConditionExpressionAssignment_7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIfElseExpressionAccess().getConditionExpressionBooleanExpressionParserRuleCall_7_0()); }
-	ruleBooleanExpression{ after(grammarAccess.getIfElseExpressionAccess().getConditionExpressionBooleanExpressionParserRuleCall_7_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__IdAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getIdEStringParserRuleCall_3_0()); }
-	ruleEString{ after(grammarAccess.getFunctionAccess().getIdEStringParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__ParametersAssignment_4_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_2_0()); }
-	ruleExpression{ after(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Function__ParametersAssignment_4_3_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_3_1_0()); }
-	ruleExpression{ after(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_3_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Parenthesis__InnerExpressionAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getParenthesisAccess().getInnerExpressionExpressionParserRuleCall_3_0()); }
-	ruleExpression{ after(grammarAccess.getParenthesisAccess().getInnerExpressionExpressionParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__StringLiteral__ValueAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getStringLiteralAccess().getValueEStringParserRuleCall_3_0()); }
-	ruleEString{ after(grammarAccess.getStringLiteralAccess().getValueEStringParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoolLiteral__ValueAssignment_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0()); }
-(
-{ before(grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0()); }
-
-	'value' 
-
-{ after(grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0()); }
-)
-
-{ after(grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__IntLiteral__ValueAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getIntLiteralAccess().getValueEBigIntegerParserRuleCall_3_0()); }
-	ruleEBigInteger{ after(grammarAccess.getIntLiteralAccess().getValueEBigIntegerParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DoubleLiteral__ValueAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDoubleLiteralAccess().getValueEBigDecimalParserRuleCall_3_0()); }
-	ruleEBigDecimal{ after(grammarAccess.getDoubleLiteralAccess().getValueEBigDecimalParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__FormalParameter__NameAssignment_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getFormalParameterAccess().getNameEStringParserRuleCall_2_0()); }
-	ruleEString{ after(grammarAccess.getFormalParameterAccess().getNameEStringParserRuleCall_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__SampleAssignment_3_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); }
-	ruleSample{ after(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProbabilityMassFunction__SampleAssignment_3_3_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); }
-	ruleSample{ after(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__SampleAssignment_3_2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); }
-	ruleContinuousSample{ after(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__BoxedPDF__SampleAssignment_3_3_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); }
-	ruleContinuousSample{ after(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NormalDistribution__MuAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); }
-	ruleEBigDecimal{ after(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NormalDistribution__SigmaAssignment_5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); }
-	ruleEBigDecimal{ after(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ExponentialDistribution__RateAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); }
-	ruleEBigDecimal{ after(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sample__ProbabilityAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); }
-	ruleEBigDecimal{ after(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sample__ValueAssignment_5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); }
-(
-{ before(grammarAccess.getSampleAccess().getValueEObjectEStringParserRuleCall_5_0_1()); }
-	ruleEString{ after(grammarAccess.getSampleAccess().getValueEObjectEStringParserRuleCall_5_0_1()); }
-)
-{ after(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ContinuousSample__ValueAssignment_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); }
-	ruleEBigDecimal{ after(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ContinuousSample__ProbabilityAssignment_5
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); }
-	ruleEBigDecimal{ after(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
-
-RULE_INT : ('0'..'9')+;
-
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
-
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-RULE_ANY_OTHER : .;
-
-
diff --git a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.tokens b/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.tokens
deleted file mode 100644
index 17e56726a76a39e2e8082641b2832774ccfd8535..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.tokens
+++ /dev/null
@@ -1,111 +0,0 @@
-RULE_ID=5
-T__29=29
-T__28=28
-T__62=62
-T__27=27
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=10
-T__21=21
-T__20=20
-T__61=61
-T__60=60
-T__55=55
-T__56=56
-T__19=19
-T__57=57
-T__58=58
-T__51=51
-T__16=16
-T__52=52
-T__15=15
-T__53=53
-T__18=18
-T__54=54
-T__17=17
-T__12=12
-T__11=11
-T__14=14
-T__13=13
-T__59=59
-RULE_INT=6
-T__50=50
-T__42=42
-T__43=43
-T__40=40
-T__41=41
-T__46=46
-T__47=47
-T__44=44
-T__45=45
-T__48=48
-T__49=49
-RULE_SL_COMMENT=8
-RULE_ML_COMMENT=7
-T__30=30
-T__31=31
-RULE_STRING=4
-T__32=32
-T__33=33
-T__34=34
-T__35=35
-T__36=36
-T__37=37
-T__38=38
-T__39=39
-RULE_WS=9
-'ContinuousSample'=62
-'mu'=54
-'rate'=57
-'BooleanOperations'=14
-'IfElseExpression'=33
-'right'=25
-'base'=27
-'BoxedPDF'=52
-'conditionExpression'=36
-'value'=45
-'inner'=31
-'Parenthesis'=41
-'.'=59
-'StringLiteral'=44
-'{'=16
-'expression'=19
-'CompareExpression'=22
-'FormalParameter'=49
-'PowerExpression'=26
-'ProbabilityMassFunction'=50
-'-'=58
-'NotExpression'=30
-'DoubleLiteral'=48
-','=40
-'Sample'=60
-'Literal'=43
-'sample'=51
-'sigma'=55
-'NormalDistribution'=53
-'BooleanOperatorExpression'=29
-'Function'=37
-'ExponentialDistribution'=56
-'ExplicitFunction'=15
-'ProductExpression'=21
-'IntLiteral'=47
-'probability'=61
-'operation'=23
-'CompareOperations'=13
-'exponent'=28
-'specification'=18
-'BoolLiteral'=46
-'}'=17
-'parameters'=39
-'TermOperations'=11
-'elseExpression'=35
-'TermExpression'=20
-'id'=38
-'innerExpression'=42
-'ProductOperations'=12
-'NegativeExpression'=32
-'left'=24
-'ifExpression'=34
diff --git a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1Lexer.java b/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1Lexer.java
deleted file mode 100644
index 2124ffb8d3855f6f2b896bbc0675717d1e6972fe..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1Lexer.java
+++ /dev/null
@@ -1,2965 +0,0 @@
-package org.xtext.example.mydsl1.ui.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalMyDsl1Lexer extends Lexer {
-    public static final int RULE_ID=5;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__62=62;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int T__21=21;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__20=20;
-    public static final int T__61=61;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
-    public static final int T__58=58;
-    public static final int T__51=51;
-    public static final int T__16=16;
-    public static final int T__52=52;
-    public static final int T__15=15;
-    public static final int T__53=53;
-    public static final int T__18=18;
-    public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
-    public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=8;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int RULE_STRING=4;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=9;
-
-    // delegates
-    // delegators
-
-    public InternalMyDsl1Lexer() {;} 
-    public InternalMyDsl1Lexer(CharStream input) {
-        this(input, new RecognizerSharedState());
-    }
-    public InternalMyDsl1Lexer(CharStream input, RecognizerSharedState state) {
-        super(input,state);
-
-    }
-    public String getGrammarFileName() { return "../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g"; }
-
-    // $ANTLR start "T__11"
-    public final void mT__11() throws RecognitionException {
-        try {
-            int _type = T__11;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:11:7: ( 'TermOperations' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:11:9: 'TermOperations'
-            {
-            match("TermOperations"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__11"
-
-    // $ANTLR start "T__12"
-    public final void mT__12() throws RecognitionException {
-        try {
-            int _type = T__12;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:12:7: ( 'ProductOperations' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:12:9: 'ProductOperations'
-            {
-            match("ProductOperations"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__12"
-
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
-        try {
-            int _type = T__13;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:13:7: ( 'CompareOperations' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:13:9: 'CompareOperations'
-            {
-            match("CompareOperations"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__13"
-
-    // $ANTLR start "T__14"
-    public final void mT__14() throws RecognitionException {
-        try {
-            int _type = T__14;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:14:7: ( 'BooleanOperations' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:14:9: 'BooleanOperations'
-            {
-            match("BooleanOperations"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__14"
-
-    // $ANTLR start "T__15"
-    public final void mT__15() throws RecognitionException {
-        try {
-            int _type = T__15;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:15:7: ( 'ExplicitFunction' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:15:9: 'ExplicitFunction'
-            {
-            match("ExplicitFunction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__15"
-
-    // $ANTLR start "T__16"
-    public final void mT__16() throws RecognitionException {
-        try {
-            int _type = T__16;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:16:7: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:16:9: '{'
-            {
-            match('{'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__16"
-
-    // $ANTLR start "T__17"
-    public final void mT__17() throws RecognitionException {
-        try {
-            int _type = T__17;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:17:7: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:17:9: '}'
-            {
-            match('}'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__17"
-
-    // $ANTLR start "T__18"
-    public final void mT__18() throws RecognitionException {
-        try {
-            int _type = T__18;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:18:7: ( 'specification' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:18:9: 'specification'
-            {
-            match("specification"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__18"
-
-    // $ANTLR start "T__19"
-    public final void mT__19() throws RecognitionException {
-        try {
-            int _type = T__19;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:19:7: ( 'expression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:19:9: 'expression'
-            {
-            match("expression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__19"
-
-    // $ANTLR start "T__20"
-    public final void mT__20() throws RecognitionException {
-        try {
-            int _type = T__20;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:20:7: ( 'TermExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:20:9: 'TermExpression'
-            {
-            match("TermExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__20"
-
-    // $ANTLR start "T__21"
-    public final void mT__21() throws RecognitionException {
-        try {
-            int _type = T__21;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:21:7: ( 'ProductExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:21:9: 'ProductExpression'
-            {
-            match("ProductExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__21"
-
-    // $ANTLR start "T__22"
-    public final void mT__22() throws RecognitionException {
-        try {
-            int _type = T__22;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:22:7: ( 'CompareExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:22:9: 'CompareExpression'
-            {
-            match("CompareExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__22"
-
-    // $ANTLR start "T__23"
-    public final void mT__23() throws RecognitionException {
-        try {
-            int _type = T__23;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:23:7: ( 'operation' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:23:9: 'operation'
-            {
-            match("operation"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__23"
-
-    // $ANTLR start "T__24"
-    public final void mT__24() throws RecognitionException {
-        try {
-            int _type = T__24;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:24:7: ( 'left' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:24:9: 'left'
-            {
-            match("left"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__24"
-
-    // $ANTLR start "T__25"
-    public final void mT__25() throws RecognitionException {
-        try {
-            int _type = T__25;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:25:7: ( 'right' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:25:9: 'right'
-            {
-            match("right"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__25"
-
-    // $ANTLR start "T__26"
-    public final void mT__26() throws RecognitionException {
-        try {
-            int _type = T__26;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:26:7: ( 'PowerExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:26:9: 'PowerExpression'
-            {
-            match("PowerExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__26"
-
-    // $ANTLR start "T__27"
-    public final void mT__27() throws RecognitionException {
-        try {
-            int _type = T__27;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:27:7: ( 'base' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:27:9: 'base'
-            {
-            match("base"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__27"
-
-    // $ANTLR start "T__28"
-    public final void mT__28() throws RecognitionException {
-        try {
-            int _type = T__28;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:28:7: ( 'exponent' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:28:9: 'exponent'
-            {
-            match("exponent"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__28"
-
-    // $ANTLR start "T__29"
-    public final void mT__29() throws RecognitionException {
-        try {
-            int _type = T__29;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:29:7: ( 'BooleanOperatorExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:29:9: 'BooleanOperatorExpression'
-            {
-            match("BooleanOperatorExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__29"
-
-    // $ANTLR start "T__30"
-    public final void mT__30() throws RecognitionException {
-        try {
-            int _type = T__30;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:30:7: ( 'NotExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:30:9: 'NotExpression'
-            {
-            match("NotExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__30"
-
-    // $ANTLR start "T__31"
-    public final void mT__31() throws RecognitionException {
-        try {
-            int _type = T__31;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:31:7: ( 'inner' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:31:9: 'inner'
-            {
-            match("inner"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__31"
-
-    // $ANTLR start "T__32"
-    public final void mT__32() throws RecognitionException {
-        try {
-            int _type = T__32;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:32:7: ( 'NegativeExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:32:9: 'NegativeExpression'
-            {
-            match("NegativeExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__32"
-
-    // $ANTLR start "T__33"
-    public final void mT__33() throws RecognitionException {
-        try {
-            int _type = T__33;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:33:7: ( 'IfElseExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:33:9: 'IfElseExpression'
-            {
-            match("IfElseExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__33"
-
-    // $ANTLR start "T__34"
-    public final void mT__34() throws RecognitionException {
-        try {
-            int _type = T__34;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:34:7: ( 'ifExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:34:9: 'ifExpression'
-            {
-            match("ifExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__34"
-
-    // $ANTLR start "T__35"
-    public final void mT__35() throws RecognitionException {
-        try {
-            int _type = T__35;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:35:7: ( 'elseExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:35:9: 'elseExpression'
-            {
-            match("elseExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__35"
-
-    // $ANTLR start "T__36"
-    public final void mT__36() throws RecognitionException {
-        try {
-            int _type = T__36;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:36:7: ( 'conditionExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:36:9: 'conditionExpression'
-            {
-            match("conditionExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__36"
-
-    // $ANTLR start "T__37"
-    public final void mT__37() throws RecognitionException {
-        try {
-            int _type = T__37;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:37:7: ( 'Function' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:37:9: 'Function'
-            {
-            match("Function"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__37"
-
-    // $ANTLR start "T__38"
-    public final void mT__38() throws RecognitionException {
-        try {
-            int _type = T__38;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:38:7: ( 'id' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:38:9: 'id'
-            {
-            match("id"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__38"
-
-    // $ANTLR start "T__39"
-    public final void mT__39() throws RecognitionException {
-        try {
-            int _type = T__39;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:39:7: ( 'parameters' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:39:9: 'parameters'
-            {
-            match("parameters"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__39"
-
-    // $ANTLR start "T__40"
-    public final void mT__40() throws RecognitionException {
-        try {
-            int _type = T__40;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:40:7: ( ',' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:40:9: ','
-            {
-            match(','); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__40"
-
-    // $ANTLR start "T__41"
-    public final void mT__41() throws RecognitionException {
-        try {
-            int _type = T__41;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:41:7: ( 'Parenthesis' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:41:9: 'Parenthesis'
-            {
-            match("Parenthesis"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__41"
-
-    // $ANTLR start "T__42"
-    public final void mT__42() throws RecognitionException {
-        try {
-            int _type = T__42;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:42:7: ( 'innerExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:42:9: 'innerExpression'
-            {
-            match("innerExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__42"
-
-    // $ANTLR start "T__43"
-    public final void mT__43() throws RecognitionException {
-        try {
-            int _type = T__43;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:43:7: ( 'Literal' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:43:9: 'Literal'
-            {
-            match("Literal"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__43"
-
-    // $ANTLR start "T__44"
-    public final void mT__44() throws RecognitionException {
-        try {
-            int _type = T__44;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:44:7: ( 'StringLiteral' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:44:9: 'StringLiteral'
-            {
-            match("StringLiteral"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__44"
-
-    // $ANTLR start "T__45"
-    public final void mT__45() throws RecognitionException {
-        try {
-            int _type = T__45;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:45:7: ( 'value' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:45:9: 'value'
-            {
-            match("value"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__45"
-
-    // $ANTLR start "T__46"
-    public final void mT__46() throws RecognitionException {
-        try {
-            int _type = T__46;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:46:7: ( 'BoolLiteral' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:46:9: 'BoolLiteral'
-            {
-            match("BoolLiteral"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__46"
-
-    // $ANTLR start "T__47"
-    public final void mT__47() throws RecognitionException {
-        try {
-            int _type = T__47;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:47:7: ( 'IntLiteral' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:47:9: 'IntLiteral'
-            {
-            match("IntLiteral"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__47"
-
-    // $ANTLR start "T__48"
-    public final void mT__48() throws RecognitionException {
-        try {
-            int _type = T__48;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:48:7: ( 'DoubleLiteral' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:48:9: 'DoubleLiteral'
-            {
-            match("DoubleLiteral"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__48"
-
-    // $ANTLR start "T__49"
-    public final void mT__49() throws RecognitionException {
-        try {
-            int _type = T__49;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:49:7: ( 'FormalParameter' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:49:9: 'FormalParameter'
-            {
-            match("FormalParameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__49"
-
-    // $ANTLR start "T__50"
-    public final void mT__50() throws RecognitionException {
-        try {
-            int _type = T__50;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:50:7: ( 'ProbabilityMassFunction' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:50:9: 'ProbabilityMassFunction'
-            {
-            match("ProbabilityMassFunction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__50"
-
-    // $ANTLR start "T__51"
-    public final void mT__51() throws RecognitionException {
-        try {
-            int _type = T__51;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:51:7: ( 'sample' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:51:9: 'sample'
-            {
-            match("sample"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__51"
-
-    // $ANTLR start "T__52"
-    public final void mT__52() throws RecognitionException {
-        try {
-            int _type = T__52;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:52:7: ( 'BoxedPDF' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:52:9: 'BoxedPDF'
-            {
-            match("BoxedPDF"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__52"
-
-    // $ANTLR start "T__53"
-    public final void mT__53() throws RecognitionException {
-        try {
-            int _type = T__53;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:53:7: ( 'NormalDistribution' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:53:9: 'NormalDistribution'
-            {
-            match("NormalDistribution"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__53"
-
-    // $ANTLR start "T__54"
-    public final void mT__54() throws RecognitionException {
-        try {
-            int _type = T__54;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:54:7: ( 'mu' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:54:9: 'mu'
-            {
-            match("mu"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__54"
-
-    // $ANTLR start "T__55"
-    public final void mT__55() throws RecognitionException {
-        try {
-            int _type = T__55;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:55:7: ( 'sigma' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:55:9: 'sigma'
-            {
-            match("sigma"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__55"
-
-    // $ANTLR start "T__56"
-    public final void mT__56() throws RecognitionException {
-        try {
-            int _type = T__56;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:56:7: ( 'ExponentialDistribution' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:56:9: 'ExponentialDistribution'
-            {
-            match("ExponentialDistribution"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__56"
-
-    // $ANTLR start "T__57"
-    public final void mT__57() throws RecognitionException {
-        try {
-            int _type = T__57;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:57:7: ( 'rate' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:57:9: 'rate'
-            {
-            match("rate"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__57"
-
-    // $ANTLR start "T__58"
-    public final void mT__58() throws RecognitionException {
-        try {
-            int _type = T__58;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:58:7: ( '-' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:58:9: '-'
-            {
-            match('-'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__58"
-
-    // $ANTLR start "T__59"
-    public final void mT__59() throws RecognitionException {
-        try {
-            int _type = T__59;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:59:7: ( '.' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:59:9: '.'
-            {
-            match('.'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__59"
-
-    // $ANTLR start "T__60"
-    public final void mT__60() throws RecognitionException {
-        try {
-            int _type = T__60;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:60:7: ( 'Sample' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:60:9: 'Sample'
-            {
-            match("Sample"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__60"
-
-    // $ANTLR start "T__61"
-    public final void mT__61() throws RecognitionException {
-        try {
-            int _type = T__61;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:61:7: ( 'probability' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:61:9: 'probability'
-            {
-            match("probability"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__61"
-
-    // $ANTLR start "T__62"
-    public final void mT__62() throws RecognitionException {
-        try {
-            int _type = T__62;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:62:7: ( 'ContinuousSample' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:62:9: 'ContinuousSample'
-            {
-            match("ContinuousSample"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__62"
-
-    // $ANTLR start "RULE_ID"
-    public final void mRULE_ID() throws RecognitionException {
-        try {
-            int _type = RULE_ID;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8003:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8003:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8003:11: ( '^' )?
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0=='^') ) {
-                alt1=1;
-            }
-            switch (alt1) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8003: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.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8003:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop2:
-            do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-
-                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
-                    alt2=1;
-                }
-
-
-                switch (alt2) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop2;
-                }
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ID"
-
-    // $ANTLR start "RULE_INT"
-    public final void mRULE_INT() throws RecognitionException {
-        try {
-            int _type = RULE_INT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8005:10: ( ( '0' .. '9' )+ )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8005:12: ( '0' .. '9' )+
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8005:12: ( '0' .. '9' )+
-            int cnt3=0;
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-
-                if ( ((LA3_0>='0' && LA3_0<='9')) ) {
-                    alt3=1;
-                }
-
-
-                switch (alt3) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8005:13: '0' .. '9'
-            	    {
-            	    matchRange('0','9'); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt3 >= 1 ) break loop3;
-                        EarlyExitException eee =
-                            new EarlyExitException(3, input);
-                        throw eee;
-                }
-                cnt3++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_INT"
-
-    // $ANTLR start "RULE_STRING"
-    public final void mRULE_STRING() throws RecognitionException {
-        try {
-            int _type = RULE_STRING;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0=='\"') ) {
-                alt6=1;
-            }
-            else if ( (LA6_0=='\'') ) {
-                alt6=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
-                    {
-                    match('\"'); 
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop4:
-                    do {
-                        int alt4=3;
-                        int LA4_0 = input.LA(1);
-
-                        if ( (LA4_0=='\\') ) {
-                            alt4=1;
-                        }
-                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
-                            alt4=2;
-                        }
-
-
-                        switch (alt4) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:66: ~ ( ( '\\\\' | '\"' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop4;
-                        }
-                    } while (true);
-
-                    match('\"'); 
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
-                    {
-                    match('\''); 
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop5:
-                    do {
-                        int alt5=3;
-                        int LA5_0 = input.LA(1);
-
-                        if ( (LA5_0=='\\') ) {
-                            alt5=1;
-                        }
-                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
-                            alt5=2;
-                        }
-
-
-                        switch (alt5) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8007:137: ~ ( ( '\\\\' | '\\'' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop5;
-                        }
-                    } while (true);
-
-                    match('\''); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_STRING"
-
-    // $ANTLR start "RULE_ML_COMMENT"
-    public final void mRULE_ML_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_ML_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8009:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8009:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8009:24: ( options {greedy=false; } : . )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0=='*') ) {
-                    int LA7_1 = input.LA(2);
-
-                    if ( (LA7_1=='/') ) {
-                        alt7=2;
-                    }
-                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
-                        alt7=1;
-                    }
-
-
-                }
-                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
-                    alt7=1;
-                }
-
-
-                switch (alt7) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8009:52: .
-            	    {
-            	    matchAny(); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop7;
-                }
-            } while (true);
-
-            match("*/"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ML_COMMENT"
-
-    // $ANTLR start "RULE_SL_COMMENT"
-    public final void mRULE_SL_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_SL_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8011:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8011:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8011:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop8:
-            do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-
-                if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
-                    alt8=1;
-                }
-
-
-                switch (alt8) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8011:24: ~ ( ( '\\n' | '\\r' ) )
-            	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop8;
-                }
-            } while (true);
-
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8011:40: ( ( '\\r' )? '\\n' )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0=='\n'||LA10_0=='\r') ) {
-                alt10=1;
-            }
-            switch (alt10) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8011:41: ( '\\r' )? '\\n'
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8011:41: ( '\\r' )?
-                    int alt9=2;
-                    int LA9_0 = input.LA(1);
-
-                    if ( (LA9_0=='\r') ) {
-                        alt9=1;
-                    }
-                    switch (alt9) {
-                        case 1 :
-                            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8011:41: '\\r'
-                            {
-                            match('\r'); 
-
-                            }
-                            break;
-
-                    }
-
-                    match('\n'); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_SL_COMMENT"
-
-    // $ANTLR start "RULE_WS"
-    public final void mRULE_WS() throws RecognitionException {
-        try {
-            int _type = RULE_WS;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8013:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8013:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8013:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt11=0;
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:
-            	    {
-            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt11 >= 1 ) break loop11;
-                        EarlyExitException eee =
-                            new EarlyExitException(11, input);
-                        throw eee;
-                }
-                cnt11++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_WS"
-
-    // $ANTLR start "RULE_ANY_OTHER"
-    public final void mRULE_ANY_OTHER() throws RecognitionException {
-        try {
-            int _type = RULE_ANY_OTHER;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8015:16: ( . )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:8015:18: .
-            {
-            matchAny(); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ANY_OTHER"
-
-    public void mTokens() throws RecognitionException {
-        // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=59;
-        alt12 = dfa12.predict(input);
-        switch (alt12) {
-            case 1 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:10: T__11
-                {
-                mT__11(); 
-
-                }
-                break;
-            case 2 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:16: T__12
-                {
-                mT__12(); 
-
-                }
-                break;
-            case 3 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:22: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 4 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:28: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 5 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:34: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 6 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:40: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 7 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:46: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 8 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:52: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 9 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:58: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 10 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:64: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 11 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:70: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 12 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:76: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 13 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:82: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 14 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:88: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 15 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:94: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 16 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:100: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 17 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:106: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 18 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:112: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 19 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:118: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 20 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:124: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 21 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:130: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 22 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:136: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 23 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:142: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 24 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:148: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 25 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:154: T__35
-                {
-                mT__35(); 
-
-                }
-                break;
-            case 26 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:160: T__36
-                {
-                mT__36(); 
-
-                }
-                break;
-            case 27 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:166: T__37
-                {
-                mT__37(); 
-
-                }
-                break;
-            case 28 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:172: T__38
-                {
-                mT__38(); 
-
-                }
-                break;
-            case 29 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:178: T__39
-                {
-                mT__39(); 
-
-                }
-                break;
-            case 30 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:184: T__40
-                {
-                mT__40(); 
-
-                }
-                break;
-            case 31 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:190: T__41
-                {
-                mT__41(); 
-
-                }
-                break;
-            case 32 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:196: T__42
-                {
-                mT__42(); 
-
-                }
-                break;
-            case 33 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:202: T__43
-                {
-                mT__43(); 
-
-                }
-                break;
-            case 34 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:208: T__44
-                {
-                mT__44(); 
-
-                }
-                break;
-            case 35 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:214: T__45
-                {
-                mT__45(); 
-
-                }
-                break;
-            case 36 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:220: T__46
-                {
-                mT__46(); 
-
-                }
-                break;
-            case 37 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:226: T__47
-                {
-                mT__47(); 
-
-                }
-                break;
-            case 38 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:232: T__48
-                {
-                mT__48(); 
-
-                }
-                break;
-            case 39 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:238: T__49
-                {
-                mT__49(); 
-
-                }
-                break;
-            case 40 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:244: T__50
-                {
-                mT__50(); 
-
-                }
-                break;
-            case 41 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:250: T__51
-                {
-                mT__51(); 
-
-                }
-                break;
-            case 42 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:256: T__52
-                {
-                mT__52(); 
-
-                }
-                break;
-            case 43 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:262: T__53
-                {
-                mT__53(); 
-
-                }
-                break;
-            case 44 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:268: T__54
-                {
-                mT__54(); 
-
-                }
-                break;
-            case 45 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:274: T__55
-                {
-                mT__55(); 
-
-                }
-                break;
-            case 46 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:280: T__56
-                {
-                mT__56(); 
-
-                }
-                break;
-            case 47 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:286: T__57
-                {
-                mT__57(); 
-
-                }
-                break;
-            case 48 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:292: T__58
-                {
-                mT__58(); 
-
-                }
-                break;
-            case 49 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:298: T__59
-                {
-                mT__59(); 
-
-                }
-                break;
-            case 50 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:304: T__60
-                {
-                mT__60(); 
-
-                }
-                break;
-            case 51 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:310: T__61
-                {
-                mT__61(); 
-
-                }
-                break;
-            case 52 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:316: T__62
-                {
-                mT__62(); 
-
-                }
-                break;
-            case 53 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:322: RULE_ID
-                {
-                mRULE_ID(); 
-
-                }
-                break;
-            case 54 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:330: RULE_INT
-                {
-                mRULE_INT(); 
-
-                }
-                break;
-            case 55 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:339: RULE_STRING
-                {
-                mRULE_STRING(); 
-
-                }
-                break;
-            case 56 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:351: RULE_ML_COMMENT
-                {
-                mRULE_ML_COMMENT(); 
-
-                }
-                break;
-            case 57 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:367: RULE_SL_COMMENT
-                {
-                mRULE_SL_COMMENT(); 
-
-                }
-                break;
-            case 58 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:383: RULE_WS
-                {
-                mRULE_WS(); 
-
-                }
-                break;
-            case 59 :
-                // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1:391: RULE_ANY_OTHER
-                {
-                mRULE_ANY_OTHER(); 
-
-                }
-                break;
-
-        }
-
-    }
-
-
-    protected DFA12 dfa12 = new DFA12(this);
-    static final String DFA12_eotS =
-        "\1\uffff\5\45\2\uffff\14\45\1\uffff\5\45\2\uffff\1\43\2\uffff\3"+
-        "\43\2\uffff\1\45\1\uffff\6\45\2\uffff\16\45\1\152\7\45\1\uffff\5"+
-        "\45\1\167\7\uffff\30\45\1\uffff\14\45\1\uffff\22\45\1\u00b3\1\45"+
-        "\1\u00b5\1\u00b6\40\45\1\u00d7\4\45\1\uffff\1\u00dc\2\uffff\3\45"+
-        "\1\u00e1\13\45\1\u00ed\17\45\1\u00fd\1\uffff\4\45\1\uffff\4\45\1"+
-        "\uffff\12\45\1\u0110\1\uffff\17\45\1\uffff\20\45\1\u0132\1\45\1"+
-        "\uffff\15\45\1\u0141\4\45\1\u0146\12\45\1\u0151\3\45\1\uffff\16"+
-        "\45\1\uffff\4\45\1\uffff\1\45\1\u0168\10\45\1\uffff\24\45\1\u0185"+
-        "\1\45\1\uffff\6\45\1\u018d\2\45\1\u0190\11\45\1\u019a\4\45\1\u019f"+
-        "\3\45\1\uffff\7\45\1\uffff\2\45\1\uffff\1\u01ac\10\45\1\uffff\4"+
-        "\45\1\uffff\10\45\1\u01c1\3\45\1\uffff\16\45\1\u01d4\1\45\1\u01d6"+
-        "\3\45\1\uffff\3\45\1\u01dd\1\u01de\1\u01df\1\u01e0\13\45\1\uffff"+
-        "\1\u01ec\1\uffff\6\45\4\uffff\3\45\1\u01f6\7\45\1\uffff\2\45\1\u0200"+
-        "\2\45\1\u0203\3\45\1\uffff\2\45\1\u0209\2\45\1\u020c\3\45\1\uffff"+
-        "\1\u0210\1\45\1\uffff\1\u0212\1\u0213\1\45\1\u0215\1\u0216\1\uffff"+
-        "\1\u0217\1\45\1\uffff\3\45\1\uffff\1\45\2\uffff\1\45\3\uffff\2\45"+
-        "\1\u0220\1\u0221\4\45\2\uffff\1\u0226\3\45\1\uffff\6\45\1\u0230"+
-        "\1\45\1\u0232\1\uffff\1\45\1\uffff\1\u0234\1\uffff";
-    static final String DFA12_eofS =
-        "\u0235\uffff";
-    static final String DFA12_minS =
-        "\1\0\1\145\1\141\2\157\1\170\2\uffff\1\141\1\154\1\160\1\145\2"+
-        "\141\1\145\1\144\1\146\2\157\1\141\1\uffff\1\151\2\141\1\157\1\165"+
-        "\2\uffff\1\101\2\uffff\2\0\1\52\2\uffff\1\162\1\uffff\1\157\1\167"+
-        "\1\162\1\155\1\157\1\160\2\uffff\1\145\1\155\1\147\1\160\1\163\1"+
-        "\145\1\146\1\147\1\164\1\163\1\162\1\147\1\156\1\105\1\60\1\105"+
-        "\1\164\2\156\2\162\1\157\1\uffff\1\164\1\162\1\155\1\154\1\165\1"+
-        "\60\7\uffff\1\155\1\142\2\145\1\160\1\164\1\154\1\145\1\154\1\143"+
-        "\1\160\1\155\1\157\1\145\1\162\1\164\1\150\2\145\1\105\1\155\1\141"+
-        "\1\145\1\170\1\uffff\1\154\1\114\1\144\1\143\1\155\1\141\1\142\1"+
-        "\145\1\151\1\160\1\165\1\142\1\uffff\1\105\1\165\1\141\1\162\1\156"+
-        "\1\141\1\151\1\114\1\144\1\151\1\156\1\151\1\154\1\141\1\145\1\156"+
-        "\1\105\1\141\1\60\1\164\2\60\1\170\1\141\1\164\1\162\1\160\1\163"+
-        "\2\151\1\164\1\141\1\155\1\141\1\162\1\156\1\154\1\145\1\154\1\160"+
-        "\1\170\1\143\1\142\1\105\1\164\1\162\1\156\1\141\1\151\1\120\1\143"+
-        "\1\145\1\146\1\145\1\60\1\163\1\145\1\170\1\164\1\uffff\1\60\2\uffff"+
-        "\1\160\1\154\1\151\1\60\1\162\1\145\2\164\1\151\1\154\1\145\1\142"+
-        "\1\141\1\147\1\145\1\60\2\145\1\160\1\164\1\151\1\170\1\150\1\145"+
-        "\1\165\1\156\1\164\1\104\1\151\1\156\1\151\1\60\1\uffff\1\163\1"+
-        "\156\1\160\1\151\1\uffff\1\162\1\104\1\166\1\170\1\uffff\1\145\1"+
-        "\105\1\145\1\151\1\157\1\120\1\164\1\151\1\154\1\114\1\60\1\uffff"+
-        "\1\114\2\162\1\105\1\154\1\160\1\145\1\105\1\157\1\117\1\145\1\106"+
-        "\2\164\1\143\1\uffff\1\151\1\164\1\162\1\157\1\145\1\151\1\145\1"+
-        "\160\1\163\1\170\1\162\1\157\1\156\1\141\1\145\1\154\1\60\1\151"+
-        "\1\uffff\1\151\1\141\1\145\1\160\1\170\1\151\1\162\1\163\1\160\1"+
-        "\170\1\165\1\160\1\162\1\60\1\106\1\151\1\141\1\157\1\60\1\145\1"+
-        "\156\2\163\1\105\1\162\1\163\1\160\1\141\1\156\1\60\2\162\1\151"+
-        "\1\uffff\3\164\1\163\1\145\1\160\1\164\1\145\1\151\1\145\1\160\1"+
-        "\163\1\145\1\141\1\uffff\1\165\1\141\1\164\1\156\1\uffff\1\163\1"+
-        "\60\1\163\1\164\1\170\1\145\1\151\1\162\1\154\1\105\1\uffff\1\141"+
-        "\1\163\1\164\2\145\1\151\1\163\2\162\1\171\2\163\2\162\1\123\1\162"+
-        "\1\154\1\156\1\154\1\151\1\60\1\163\1\uffff\1\151\1\162\1\160\1"+
-        "\163\1\157\1\145\1\60\1\170\1\155\1\60\1\171\2\162\1\157\1\151\1"+
-        "\141\1\145\1\115\1\163\1\60\1\141\1\145\2\141\1\60\1\143\1\104\1"+
-        "\157\1\uffff\1\151\1\157\1\151\1\162\1\163\1\156\1\163\1\uffff\1"+
-        "\160\1\145\1\uffff\1\60\2\141\1\156\1\157\1\164\1\163\1\141\1\151"+
-        "\1\uffff\1\164\1\163\1\155\1\164\1\uffff\1\164\1\151\1\156\1\157"+
-        "\1\156\1\142\1\145\1\151\1\60\1\163\1\162\1\164\1\uffff\2\154\1"+
-        "\163\1\156\1\151\2\163\1\157\1\151\1\163\1\160\2\151\1\163\1\60"+
-        "\1\156\1\60\1\165\1\163\1\157\1\uffff\1\151\2\145\4\60\1\157\1\151"+
-        "\1\163\1\156\1\157\1\151\1\154\1\157\1\162\1\157\1\164\1\uffff\1"+
-        "\60\1\uffff\1\164\1\163\1\156\1\157\1\163\1\162\4\uffff\1\156\1"+
-        "\157\1\106\1\60\1\156\1\157\1\145\1\156\1\105\1\156\1\162\1\uffff"+
-        "\2\151\1\60\1\156\1\163\1\60\1\163\1\156\1\165\1\uffff\1\163\1\156"+
-        "\1\60\1\163\1\170\1\60\1\151\2\157\1\uffff\1\60\1\151\1\uffff\2"+
-        "\60\1\156\2\60\1\uffff\1\60\1\160\1\uffff\1\142\2\156\1\uffff\1"+
-        "\157\2\uffff\1\143\3\uffff\1\162\1\165\2\60\1\156\1\164\1\145\1"+
-        "\164\2\uffff\1\60\1\151\1\163\1\151\1\uffff\1\157\1\163\1\157\1"+
-        "\156\1\151\1\156\1\60\1\157\1\60\1\uffff\1\156\1\uffff\1\60\1\uffff";
-    static final String DFA12_maxS =
-        "\1\uffff\1\145\1\162\2\157\1\170\2\uffff\1\160\1\170\1\160\1\145"+
-        "\1\151\1\141\1\157\2\156\1\157\1\165\1\162\1\uffff\1\151\1\164\1"+
-        "\141\1\157\1\165\2\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff\1\162"+
-        "\1\uffff\1\157\1\167\1\162\1\156\1\170\1\160\2\uffff\1\145\1\155"+
-        "\1\147\1\160\1\163\1\145\1\146\1\147\1\164\1\163\1\164\1\147\1\156"+
-        "\1\105\1\172\1\105\1\164\2\156\2\162\1\157\1\uffff\1\164\1\162\1"+
-        "\155\1\154\1\165\1\172\7\uffff\1\155\1\144\2\145\1\160\1\164\1\154"+
-        "\1\145\1\157\1\143\1\160\1\155\1\162\1\145\1\162\1\164\1\150\2\145"+
-        "\1\105\1\155\1\141\1\145\1\170\1\uffff\1\154\1\114\1\144\1\143\1"+
-        "\155\1\141\1\142\1\145\1\151\1\160\1\165\1\142\1\uffff\1\117\1\165"+
-        "\1\141\1\162\1\156\1\141\1\151\1\145\1\144\1\151\1\156\1\151\1\154"+
-        "\1\141\1\145\1\156\1\105\1\141\1\172\1\164\2\172\1\170\1\141\1\164"+
-        "\1\162\1\160\1\163\2\151\1\164\1\141\1\155\1\141\1\162\1\156\1\154"+
-        "\1\145\1\154\1\160\1\170\1\143\1\142\1\105\1\164\1\162\1\156\1\141"+
-        "\1\151\1\120\1\143\1\145\1\146\1\145\1\172\1\163\1\145\1\170\1\164"+
-        "\1\uffff\1\172\2\uffff\1\160\1\154\1\151\1\172\1\162\1\145\2\164"+
-        "\1\151\1\154\1\145\1\142\1\141\1\147\1\145\1\172\2\145\1\160\1\164"+
-        "\1\151\1\170\1\150\1\145\1\165\1\156\1\164\1\104\1\151\1\156\1\151"+
-        "\1\172\1\uffff\1\163\1\156\1\160\1\151\1\uffff\1\162\1\104\1\166"+
-        "\1\170\1\uffff\1\145\1\105\1\145\1\151\1\157\1\120\1\164\1\151\1"+
-        "\154\1\114\1\172\1\uffff\1\114\2\162\1\117\1\154\1\160\1\145\1\117"+
-        "\1\157\1\117\1\145\1\106\2\164\1\143\1\uffff\1\151\1\164\1\162\1"+
-        "\157\1\145\1\151\1\145\1\160\1\163\1\170\1\162\1\157\1\156\1\141"+
-        "\1\145\1\154\1\172\1\151\1\uffff\1\151\1\141\1\145\1\160\1\170\1"+
-        "\151\1\162\1\163\1\160\1\170\1\165\1\160\1\162\1\172\1\106\1\151"+
-        "\1\141\1\157\1\172\1\145\1\156\2\163\1\105\1\162\1\163\1\160\1\141"+
-        "\1\156\1\172\2\162\1\151\1\uffff\3\164\1\163\1\145\1\160\1\164\1"+
-        "\145\1\151\1\145\1\160\1\163\1\145\1\141\1\uffff\1\165\1\141\1\164"+
-        "\1\156\1\uffff\1\163\1\172\1\163\1\164\1\170\1\145\1\151\1\162\1"+
-        "\154\1\105\1\uffff\1\141\1\163\1\164\2\145\1\151\1\163\2\162\1\171"+
-        "\2\163\2\162\1\123\1\162\1\154\1\156\1\154\1\151\1\172\1\163\1\uffff"+
-        "\1\151\1\162\1\160\1\163\1\157\1\145\1\172\1\170\1\155\1\172\1\171"+
-        "\2\162\1\157\1\151\1\141\1\145\1\115\1\163\1\172\1\141\1\145\2\141"+
-        "\1\172\1\143\1\104\1\157\1\uffff\1\151\1\157\1\151\1\162\1\163\1"+
-        "\156\1\163\1\uffff\1\160\1\145\1\uffff\1\172\2\141\1\156\1\157\1"+
-        "\164\1\163\1\141\1\151\1\uffff\1\164\1\163\1\155\1\164\1\uffff\1"+
-        "\164\1\151\1\156\1\157\1\156\1\142\1\145\1\151\1\172\1\163\1\162"+
-        "\1\164\1\uffff\2\154\1\163\1\156\1\151\2\163\1\157\1\151\1\163\1"+
-        "\160\1\157\1\151\1\163\1\172\1\156\1\172\1\165\1\163\1\157\1\uffff"+
-        "\1\151\2\145\4\172\1\157\1\151\1\163\1\156\1\157\1\151\1\154\1\157"+
-        "\1\162\1\157\1\164\1\uffff\1\172\1\uffff\1\164\1\163\1\156\1\157"+
-        "\1\163\1\162\4\uffff\1\156\1\157\1\106\1\172\1\156\1\157\1\145\1"+
-        "\156\1\105\1\156\1\162\1\uffff\2\151\1\172\1\156\1\163\1\172\1\163"+
-        "\1\156\1\165\1\uffff\1\163\1\156\1\172\1\163\1\170\1\172\1\151\2"+
-        "\157\1\uffff\1\172\1\151\1\uffff\2\172\1\156\2\172\1\uffff\1\172"+
-        "\1\160\1\uffff\1\142\2\156\1\uffff\1\157\2\uffff\1\143\3\uffff\1"+
-        "\162\1\165\2\172\1\156\1\164\1\145\1\164\2\uffff\1\172\1\151\1\163"+
-        "\1\151\1\uffff\1\157\1\163\1\157\1\156\1\151\1\156\1\172\1\157\1"+
-        "\172\1\uffff\1\156\1\uffff\1\172\1\uffff";
-    static final String DFA12_acceptS =
-        "\6\uffff\1\6\1\7\14\uffff\1\36\5\uffff\1\60\1\61\1\uffff\1\65\1"+
-        "\66\3\uffff\1\72\1\73\1\uffff\1\65\6\uffff\1\6\1\7\26\uffff\1\36"+
-        "\6\uffff\1\60\1\61\1\66\1\67\1\70\1\71\1\72\30\uffff\1\34\14\uffff"+
-        "\1\54\73\uffff\1\16\1\uffff\1\57\1\21\40\uffff\1\55\4\uffff\1\17"+
-        "\4\uffff\1\25\13\uffff\1\43\17\uffff\1\51\22\uffff\1\62\41\uffff"+
-        "\1\41\16\uffff\1\52\4\uffff\1\22\12\uffff\1\33\26\uffff\1\15\34"+
-        "\uffff\1\11\7\uffff\1\45\2\uffff\1\35\11\uffff\1\37\4\uffff\1\44"+
-        "\14\uffff\1\63\24\uffff\1\30\22\uffff\1\10\1\uffff\1\24\6\uffff"+
-        "\1\42\1\46\1\1\1\12\13\uffff\1\31\11\uffff\1\20\11\uffff\1\40\2"+
-        "\uffff\1\47\5\uffff\1\64\2\uffff\1\5\3\uffff\1\27\1\uffff\1\2\1"+
-        "\13\1\uffff\1\3\1\14\1\4\10\uffff\1\53\1\26\4\uffff\1\32\11\uffff"+
-        "\1\50\1\uffff\1\56\1\uffff\1\23";
-    static final String DFA12_specialS =
-        "\1\1\36\uffff\1\0\1\2\u0214\uffff}>";
-    static final String[] DFA12_transitionS = {
-            "\11\43\2\42\2\43\1\42\22\43\1\42\1\43\1\37\4\43\1\40\4\43\1"+
-            "\24\1\32\1\33\1\41\12\36\7\43\1\35\1\4\1\3\1\30\1\5\1\22\2\35"+
-            "\1\20\2\35\1\25\1\35\1\16\1\35\1\2\2\35\1\26\1\1\6\35\3\43\1"+
-            "\34\1\35\1\43\1\35\1\15\1\21\1\35\1\11\3\35\1\17\2\35\1\13\1"+
-            "\31\1\35\1\12\1\23\1\35\1\14\1\10\2\35\1\27\4\35\1\6\1\43\1"+
-            "\7\uff82\43",
-            "\1\44",
-            "\1\50\15\uffff\1\47\2\uffff\1\46",
-            "\1\51",
-            "\1\52",
-            "\1\53",
-            "",
-            "",
-            "\1\57\7\uffff\1\60\6\uffff\1\56",
-            "\1\62\13\uffff\1\61",
-            "\1\63",
-            "\1\64",
-            "\1\66\7\uffff\1\65",
-            "\1\67",
-            "\1\71\11\uffff\1\70",
-            "\1\74\1\uffff\1\73\7\uffff\1\72",
-            "\1\75\7\uffff\1\76",
-            "\1\77",
-            "\1\101\5\uffff\1\100",
-            "\1\102\20\uffff\1\103",
-            "",
-            "\1\105",
-            "\1\107\22\uffff\1\106",
-            "\1\110",
-            "\1\111",
-            "\1\112",
-            "",
-            "",
-            "\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "",
-            "\0\116",
-            "\0\116",
-            "\1\117\4\uffff\1\120",
-            "",
-            "",
-            "\1\122",
-            "",
-            "\1\123",
-            "\1\124",
-            "\1\125",
-            "\1\126\1\127",
-            "\1\130\10\uffff\1\131",
-            "\1\132",
-            "",
-            "",
-            "\1\133",
-            "\1\134",
-            "\1\135",
-            "\1\136",
-            "\1\137",
-            "\1\140",
-            "\1\141",
-            "\1\142",
-            "\1\143",
-            "\1\144",
-            "\1\146\1\uffff\1\145",
-            "\1\147",
-            "\1\150",
-            "\1\151",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\153",
-            "\1\154",
-            "\1\155",
-            "\1\156",
-            "\1\157",
-            "\1\160",
-            "\1\161",
-            "",
-            "\1\162",
-            "\1\163",
-            "\1\164",
-            "\1\165",
-            "\1\166",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\170",
-            "\1\172\1\uffff\1\171",
-            "\1\173",
-            "\1\174",
-            "\1\175",
-            "\1\176",
-            "\1\177",
-            "\1\u0080",
-            "\1\u0081\2\uffff\1\u0082",
-            "\1\u0083",
-            "\1\u0084",
-            "\1\u0085",
-            "\1\u0087\2\uffff\1\u0086",
-            "\1\u0088",
-            "\1\u0089",
-            "\1\u008a",
-            "\1\u008b",
-            "\1\u008c",
-            "\1\u008d",
-            "\1\u008e",
-            "\1\u008f",
-            "\1\u0090",
-            "\1\u0091",
-            "\1\u0092",
-            "",
-            "\1\u0093",
-            "\1\u0094",
-            "\1\u0095",
-            "\1\u0096",
-            "\1\u0097",
-            "\1\u0098",
-            "\1\u0099",
-            "\1\u009a",
-            "\1\u009b",
-            "\1\u009c",
-            "\1\u009d",
-            "\1\u009e",
-            "",
-            "\1\u00a0\11\uffff\1\u009f",
-            "\1\u00a1",
-            "\1\u00a2",
-            "\1\u00a3",
-            "\1\u00a4",
-            "\1\u00a5",
-            "\1\u00a6",
-            "\1\u00a8\30\uffff\1\u00a7",
-            "\1\u00a9",
-            "\1\u00aa",
-            "\1\u00ab",
-            "\1\u00ac",
-            "\1\u00ad",
-            "\1\u00ae",
-            "\1\u00af",
-            "\1\u00b0",
-            "\1\u00b1",
-            "\1\u00b2",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u00b4",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u00b7",
-            "\1\u00b8",
-            "\1\u00b9",
-            "\1\u00ba",
-            "\1\u00bb",
-            "\1\u00bc",
-            "\1\u00bd",
-            "\1\u00be",
-            "\1\u00bf",
-            "\1\u00c0",
-            "\1\u00c1",
-            "\1\u00c2",
-            "\1\u00c3",
-            "\1\u00c4",
-            "\1\u00c5",
-            "\1\u00c6",
-            "\1\u00c7",
-            "\1\u00c8",
-            "\1\u00c9",
-            "\1\u00ca",
-            "\1\u00cb",
-            "\1\u00cc",
-            "\1\u00cd",
-            "\1\u00ce",
-            "\1\u00cf",
-            "\1\u00d0",
-            "\1\u00d1",
-            "\1\u00d2",
-            "\1\u00d3",
-            "\1\u00d4",
-            "\1\u00d5",
-            "\1\u00d6",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u00d8",
-            "\1\u00d9",
-            "\1\u00da",
-            "\1\u00db",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "",
-            "\1\u00dd",
-            "\1\u00de",
-            "\1\u00df",
-            "\12\45\7\uffff\4\45\1\u00e0\25\45\4\uffff\1\45\1\uffff\32"+
-            "\45",
-            "\1\u00e2",
-            "\1\u00e3",
-            "\1\u00e4",
-            "\1\u00e5",
-            "\1\u00e6",
-            "\1\u00e7",
-            "\1\u00e8",
-            "\1\u00e9",
-            "\1\u00ea",
-            "\1\u00eb",
-            "\1\u00ec",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u00ee",
-            "\1\u00ef",
-            "\1\u00f0",
-            "\1\u00f1",
-            "\1\u00f2",
-            "\1\u00f3",
-            "\1\u00f4",
-            "\1\u00f5",
-            "\1\u00f6",
-            "\1\u00f7",
-            "\1\u00f8",
-            "\1\u00f9",
-            "\1\u00fa",
-            "\1\u00fb",
-            "\1\u00fc",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "\1\u00fe",
-            "\1\u00ff",
-            "\1\u0100",
-            "\1\u0101",
-            "",
-            "\1\u0102",
-            "\1\u0103",
-            "\1\u0104",
-            "\1\u0105",
-            "",
-            "\1\u0106",
-            "\1\u0107",
-            "\1\u0108",
-            "\1\u0109",
-            "\1\u010a",
-            "\1\u010b",
-            "\1\u010c",
-            "\1\u010d",
-            "\1\u010e",
-            "\1\u010f",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "\1\u0111",
-            "\1\u0112",
-            "\1\u0113",
-            "\1\u0115\11\uffff\1\u0114",
-            "\1\u0116",
-            "\1\u0117",
-            "\1\u0118",
-            "\1\u011a\11\uffff\1\u0119",
-            "\1\u011b",
-            "\1\u011c",
-            "\1\u011d",
-            "\1\u011e",
-            "\1\u011f",
-            "\1\u0120",
-            "\1\u0121",
-            "",
-            "\1\u0122",
-            "\1\u0123",
-            "\1\u0124",
-            "\1\u0125",
-            "\1\u0126",
-            "\1\u0127",
-            "\1\u0128",
-            "\1\u0129",
-            "\1\u012a",
-            "\1\u012b",
-            "\1\u012c",
-            "\1\u012d",
-            "\1\u012e",
-            "\1\u012f",
-            "\1\u0130",
-            "\1\u0131",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0133",
-            "",
-            "\1\u0134",
-            "\1\u0135",
-            "\1\u0136",
-            "\1\u0137",
-            "\1\u0138",
-            "\1\u0139",
-            "\1\u013a",
-            "\1\u013b",
-            "\1\u013c",
-            "\1\u013d",
-            "\1\u013e",
-            "\1\u013f",
-            "\1\u0140",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0142",
-            "\1\u0143",
-            "\1\u0144",
-            "\1\u0145",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0147",
-            "\1\u0148",
-            "\1\u0149",
-            "\1\u014a",
-            "\1\u014b",
-            "\1\u014c",
-            "\1\u014d",
-            "\1\u014e",
-            "\1\u014f",
-            "\1\u0150",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0152",
-            "\1\u0153",
-            "\1\u0154",
-            "",
-            "\1\u0155",
-            "\1\u0156",
-            "\1\u0157",
-            "\1\u0158",
-            "\1\u0159",
-            "\1\u015a",
-            "\1\u015b",
-            "\1\u015c",
-            "\1\u015d",
-            "\1\u015e",
-            "\1\u015f",
-            "\1\u0160",
-            "\1\u0161",
-            "\1\u0162",
-            "",
-            "\1\u0163",
-            "\1\u0164",
-            "\1\u0165",
-            "\1\u0166",
-            "",
-            "\1\u0167",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0169",
-            "\1\u016a",
-            "\1\u016b",
-            "\1\u016c",
-            "\1\u016d",
-            "\1\u016e",
-            "\1\u016f",
-            "\1\u0170",
-            "",
-            "\1\u0171",
-            "\1\u0172",
-            "\1\u0173",
-            "\1\u0174",
-            "\1\u0175",
-            "\1\u0176",
-            "\1\u0177",
-            "\1\u0178",
-            "\1\u0179",
-            "\1\u017a",
-            "\1\u017b",
-            "\1\u017c",
-            "\1\u017d",
-            "\1\u017e",
-            "\1\u017f",
-            "\1\u0180",
-            "\1\u0181",
-            "\1\u0182",
-            "\1\u0183",
-            "\1\u0184",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0186",
-            "",
-            "\1\u0187",
-            "\1\u0188",
-            "\1\u0189",
-            "\1\u018a",
-            "\1\u018b",
-            "\1\u018c",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u018e",
-            "\1\u018f",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0191",
-            "\1\u0192",
-            "\1\u0193",
-            "\1\u0194",
-            "\1\u0195",
-            "\1\u0196",
-            "\1\u0197",
-            "\1\u0198",
-            "\1\u0199",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u019b",
-            "\1\u019c",
-            "\1\u019d",
-            "\1\u019e",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01a0",
-            "\1\u01a1",
-            "\1\u01a2",
-            "",
-            "\1\u01a3",
-            "\1\u01a4",
-            "\1\u01a5",
-            "\1\u01a6",
-            "\1\u01a7",
-            "\1\u01a8",
-            "\1\u01a9",
-            "",
-            "\1\u01aa",
-            "\1\u01ab",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01ad",
-            "\1\u01ae",
-            "\1\u01af",
-            "\1\u01b0",
-            "\1\u01b1",
-            "\1\u01b2",
-            "\1\u01b3",
-            "\1\u01b4",
-            "",
-            "\1\u01b5",
-            "\1\u01b6",
-            "\1\u01b7",
-            "\1\u01b8",
-            "",
-            "\1\u01b9",
-            "\1\u01ba",
-            "\1\u01bb",
-            "\1\u01bc",
-            "\1\u01bd",
-            "\1\u01be",
-            "\1\u01bf",
-            "\1\u01c0",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01c2",
-            "\1\u01c3",
-            "\1\u01c4",
-            "",
-            "\1\u01c5",
-            "\1\u01c6",
-            "\1\u01c7",
-            "\1\u01c8",
-            "\1\u01c9",
-            "\1\u01ca",
-            "\1\u01cb",
-            "\1\u01cc",
-            "\1\u01cd",
-            "\1\u01ce",
-            "\1\u01cf",
-            "\1\u01d0\5\uffff\1\u01d1",
-            "\1\u01d2",
-            "\1\u01d3",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01d5",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01d7",
-            "\1\u01d8",
-            "\1\u01d9",
-            "",
-            "\1\u01da",
-            "\1\u01db",
-            "\1\u01dc",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01e1",
-            "\1\u01e2",
-            "\1\u01e3",
-            "\1\u01e4",
-            "\1\u01e5",
-            "\1\u01e6",
-            "\1\u01e7",
-            "\1\u01e8",
-            "\1\u01e9",
-            "\1\u01ea",
-            "\1\u01eb",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "\1\u01ed",
-            "\1\u01ee",
-            "\1\u01ef",
-            "\1\u01f0",
-            "\1\u01f1",
-            "\1\u01f2",
-            "",
-            "",
-            "",
-            "",
-            "\1\u01f3",
-            "\1\u01f4",
-            "\1\u01f5",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01f7",
-            "\1\u01f8",
-            "\1\u01f9",
-            "\1\u01fa",
-            "\1\u01fb",
-            "\1\u01fc",
-            "\1\u01fd",
-            "",
-            "\1\u01fe",
-            "\1\u01ff",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0201",
-            "\1\u0202",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0204",
-            "\1\u0205",
-            "\1\u0206",
-            "",
-            "\1\u0207",
-            "\1\u0208",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u020a",
-            "\1\u020b",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u020d",
-            "\1\u020e",
-            "\1\u020f",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0211",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0214",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0218",
-            "",
-            "\1\u0219",
-            "\1\u021a",
-            "\1\u021b",
-            "",
-            "\1\u021c",
-            "",
-            "",
-            "\1\u021d",
-            "",
-            "",
-            "",
-            "\1\u021e",
-            "\1\u021f",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0222",
-            "\1\u0223",
-            "\1\u0224",
-            "\1\u0225",
-            "",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0227",
-            "\1\u0228",
-            "\1\u0229",
-            "",
-            "\1\u022a",
-            "\1\u022b",
-            "\1\u022c",
-            "\1\u022d",
-            "\1\u022e",
-            "\1\u022f",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0231",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "\1\u0233",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            ""
-    };
-
-    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
-    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
-    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
-    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
-    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
-    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
-    static final short[][] DFA12_transition;
-
-    static {
-        int numStates = DFA12_transitionS.length;
-        DFA12_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
-        }
-    }
-
-    static class DFA12 extends DFA {
-
-        public DFA12(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 12;
-            this.eot = DFA12_eot;
-            this.eof = DFA12_eof;
-            this.min = DFA12_min;
-            this.max = DFA12_max;
-            this.accept = DFA12_accept;
-            this.special = DFA12_special;
-            this.transition = DFA12_transition;
-        }
-        public String getDescription() {
-            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            IntStream input = _input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA12_31 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_31>='\u0000' && LA12_31<='\uFFFF')) ) {s = 78;}
-
-                        else s = 35;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA12_0 = input.LA(1);
-
-                        s = -1;
-                        if ( (LA12_0=='T') ) {s = 1;}
-
-                        else if ( (LA12_0=='P') ) {s = 2;}
-
-                        else if ( (LA12_0=='C') ) {s = 3;}
-
-                        else if ( (LA12_0=='B') ) {s = 4;}
-
-                        else if ( (LA12_0=='E') ) {s = 5;}
-
-                        else if ( (LA12_0=='{') ) {s = 6;}
-
-                        else if ( (LA12_0=='}') ) {s = 7;}
-
-                        else if ( (LA12_0=='s') ) {s = 8;}
-
-                        else if ( (LA12_0=='e') ) {s = 9;}
-
-                        else if ( (LA12_0=='o') ) {s = 10;}
-
-                        else if ( (LA12_0=='l') ) {s = 11;}
-
-                        else if ( (LA12_0=='r') ) {s = 12;}
-
-                        else if ( (LA12_0=='b') ) {s = 13;}
-
-                        else if ( (LA12_0=='N') ) {s = 14;}
-
-                        else if ( (LA12_0=='i') ) {s = 15;}
-
-                        else if ( (LA12_0=='I') ) {s = 16;}
-
-                        else if ( (LA12_0=='c') ) {s = 17;}
-
-                        else if ( (LA12_0=='F') ) {s = 18;}
-
-                        else if ( (LA12_0=='p') ) {s = 19;}
-
-                        else if ( (LA12_0==',') ) {s = 20;}
-
-                        else if ( (LA12_0=='L') ) {s = 21;}
-
-                        else if ( (LA12_0=='S') ) {s = 22;}
-
-                        else if ( (LA12_0=='v') ) {s = 23;}
-
-                        else if ( (LA12_0=='D') ) {s = 24;}
-
-                        else if ( (LA12_0=='m') ) {s = 25;}
-
-                        else if ( (LA12_0=='-') ) {s = 26;}
-
-                        else if ( (LA12_0=='.') ) {s = 27;}
-
-                        else if ( (LA12_0=='^') ) {s = 28;}
-
-                        else if ( (LA12_0=='A'||(LA12_0>='G' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||LA12_0=='M'||LA12_0=='O'||(LA12_0>='Q' && LA12_0<='R')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='a'||LA12_0=='d'||(LA12_0>='f' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='k')||LA12_0=='n'||LA12_0=='q'||(LA12_0>='t' && LA12_0<='u')||(LA12_0>='w' && LA12_0<='z')) ) {s = 29;}
-
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 30;}
-
-                        else if ( (LA12_0=='\"') ) {s = 31;}
-
-                        else if ( (LA12_0=='\'') ) {s = 32;}
-
-                        else if ( (LA12_0=='/') ) {s = 33;}
-
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 34;}
-
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 35;}
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA12_32 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_32>='\u0000' && LA12_32<='\uFFFF')) ) {s = 78;}
-
-                        else s = 35;
-
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 12, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
- 
-
-}
\ No newline at end of file
diff --git a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1Parser.java b/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1Parser.java
deleted file mode 100644
index 033b052f6b69b8624d0435d724af532832874cc3..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1Parser.java
+++ /dev/null
@@ -1,21690 +0,0 @@
-package org.xtext.example.mydsl1.ui.contentassist.antlr.internal; 
-
-import java.io.InputStream;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
-import org.xtext.example.mydsl1.services.MyDsl1GrammarAccess;
-
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalMyDsl1Parser extends AbstractInternalContentAssistParser {
-    public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'TermOperations'", "'ProductOperations'", "'CompareOperations'", "'BooleanOperations'", "'ExplicitFunction'", "'{'", "'}'", "'specification'", "'expression'", "'TermExpression'", "'ProductExpression'", "'CompareExpression'", "'operation'", "'left'", "'right'", "'PowerExpression'", "'base'", "'exponent'", "'BooleanOperatorExpression'", "'NotExpression'", "'inner'", "'NegativeExpression'", "'IfElseExpression'", "'ifExpression'", "'elseExpression'", "'conditionExpression'", "'Function'", "'id'", "'parameters'", "','", "'Parenthesis'", "'innerExpression'", "'Literal'", "'StringLiteral'", "'value'", "'BoolLiteral'", "'IntLiteral'", "'DoubleLiteral'", "'FormalParameter'", "'ProbabilityMassFunction'", "'sample'", "'BoxedPDF'", "'NormalDistribution'", "'mu'", "'sigma'", "'ExponentialDistribution'", "'rate'", "'-'", "'.'", "'Sample'", "'probability'", "'ContinuousSample'"
-    };
-    public static final int RULE_ID=5;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__62=62;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__61=61;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
-    public static final int T__58=58;
-    public static final int T__51=51;
-    public static final int T__16=16;
-    public static final int T__52=52;
-    public static final int T__15=15;
-    public static final int T__53=53;
-    public static final int T__18=18;
-    public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
-    public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=8;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int RULE_STRING=4;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=9;
-
-    // delegates
-    // delegators
-
-
-        public InternalMyDsl1Parser(TokenStream input) {
-            this(input, new RecognizerSharedState());
-        }
-        public InternalMyDsl1Parser(TokenStream input, RecognizerSharedState state) {
-            super(input, state);
-             
-        }
-        
-
-    public String[] getTokenNames() { return InternalMyDsl1Parser.tokenNames; }
-    public String getGrammarFileName() { return "../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g"; }
-
-
-     
-     	private MyDsl1GrammarAccess grammarAccess;
-     	
-        public void setGrammarAccess(MyDsl1GrammarAccess grammarAccess) {
-        	this.grammarAccess = grammarAccess;
-        }
-        
-        @Override
-        protected Grammar getGrammar() {
-        	return grammarAccess.getGrammar();
-        }
-        
-        @Override
-        protected String getValueForTokenName(String tokenName) {
-        	return tokenName;
-        }
-
-
-
-
-    // $ANTLR start "entryRuleExplicitFunction"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:60:1: entryRuleExplicitFunction : ruleExplicitFunction EOF ;
-    public final void entryRuleExplicitFunction() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:61:1: ( ruleExplicitFunction EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:62:1: ruleExplicitFunction EOF
-            {
-             before(grammarAccess.getExplicitFunctionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExplicitFunction_in_entryRuleExplicitFunction61);
-            ruleExplicitFunction();
-
-            state._fsp--;
-
-             after(grammarAccess.getExplicitFunctionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExplicitFunction68); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleExplicitFunction"
-
-
-    // $ANTLR start "ruleExplicitFunction"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:69:1: ruleExplicitFunction : ( ( rule__ExplicitFunction__Group__0 ) ) ;
-    public final void ruleExplicitFunction() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:73:2: ( ( ( rule__ExplicitFunction__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:74:1: ( ( rule__ExplicitFunction__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:74:1: ( ( rule__ExplicitFunction__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:75:1: ( rule__ExplicitFunction__Group__0 )
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:76:1: ( rule__ExplicitFunction__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:76:2: rule__ExplicitFunction__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__0_in_ruleExplicitFunction94);
-            rule__ExplicitFunction__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getExplicitFunctionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleExplicitFunction"
-
-
-    // $ANTLR start "entryRuleExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:88:1: entryRuleExpression : ruleExpression EOF ;
-    public final void entryRuleExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:89:1: ( ruleExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:90:1: ruleExpression EOF
-            {
-             before(grammarAccess.getExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_entryRuleExpression121);
-            ruleExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression128); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleExpression"
-
-
-    // $ANTLR start "ruleExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:97:1: ruleExpression : ( ( rule__Expression__Alternatives ) ) ;
-    public final void ruleExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:101:2: ( ( ( rule__Expression__Alternatives ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:102:1: ( ( rule__Expression__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:102:1: ( ( rule__Expression__Alternatives ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:103:1: ( rule__Expression__Alternatives )
-            {
-             before(grammarAccess.getExpressionAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:104:1: ( rule__Expression__Alternatives )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:104:2: rule__Expression__Alternatives
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Expression__Alternatives_in_ruleExpression154);
-            rule__Expression__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getExpressionAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleExpression"
-
-
-    // $ANTLR start "entryRuleTerm"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:116:1: entryRuleTerm : ruleTerm EOF ;
-    public final void entryRuleTerm() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:117:1: ( ruleTerm EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:118:1: ruleTerm EOF
-            {
-             before(grammarAccess.getTermRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_entryRuleTerm181);
-            ruleTerm();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTerm188); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleTerm"
-
-
-    // $ANTLR start "ruleTerm"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:125:1: ruleTerm : ( ( rule__Term__Alternatives ) ) ;
-    public final void ruleTerm() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:129:2: ( ( ( rule__Term__Alternatives ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:130:1: ( ( rule__Term__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:130:1: ( ( rule__Term__Alternatives ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:131:1: ( rule__Term__Alternatives )
-            {
-             before(grammarAccess.getTermAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:132:1: ( rule__Term__Alternatives )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:132:2: rule__Term__Alternatives
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Term__Alternatives_in_ruleTerm214);
-            rule__Term__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleTerm"
-
-
-    // $ANTLR start "entryRuleProduct"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:144:1: entryRuleProduct : ruleProduct EOF ;
-    public final void entryRuleProduct() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:145:1: ( ruleProduct EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:146:1: ruleProduct EOF
-            {
-             before(grammarAccess.getProductRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProduct_in_entryRuleProduct241);
-            ruleProduct();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProduct248); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleProduct"
-
-
-    // $ANTLR start "ruleProduct"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:153:1: ruleProduct : ( ( rule__Product__Alternatives ) ) ;
-    public final void ruleProduct() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:157:2: ( ( ( rule__Product__Alternatives ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:158:1: ( ( rule__Product__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:158:1: ( ( rule__Product__Alternatives ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:159:1: ( rule__Product__Alternatives )
-            {
-             before(grammarAccess.getProductAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:160:1: ( rule__Product__Alternatives )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:160:2: rule__Product__Alternatives
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Product__Alternatives_in_ruleProduct274);
-            rule__Product__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleProduct"
-
-
-    // $ANTLR start "entryRulePower"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:172:1: entryRulePower : rulePower EOF ;
-    public final void entryRulePower() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:173:1: ( rulePower EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:174:1: rulePower EOF
-            {
-             before(grammarAccess.getPowerRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePower_in_entryRulePower301);
-            rulePower();
-
-            state._fsp--;
-
-             after(grammarAccess.getPowerRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePower308); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRulePower"
-
-
-    // $ANTLR start "rulePower"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:181:1: rulePower : ( ( rule__Power__Alternatives ) ) ;
-    public final void rulePower() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:185:2: ( ( ( rule__Power__Alternatives ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:186:1: ( ( rule__Power__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:186:1: ( ( rule__Power__Alternatives ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:187:1: ( rule__Power__Alternatives )
-            {
-             before(grammarAccess.getPowerAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:188:1: ( rule__Power__Alternatives )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:188:2: rule__Power__Alternatives
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Power__Alternatives_in_rulePower334);
-            rule__Power__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPowerAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rulePower"
-
-
-    // $ANTLR start "entryRuleUnary"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:200:1: entryRuleUnary : ruleUnary EOF ;
-    public final void entryRuleUnary() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:201:1: ( ruleUnary EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:202:1: ruleUnary EOF
-            {
-             before(grammarAccess.getUnaryRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleUnary_in_entryRuleUnary361);
-            ruleUnary();
-
-            state._fsp--;
-
-             after(grammarAccess.getUnaryRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnary368); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleUnary"
-
-
-    // $ANTLR start "ruleUnary"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:209:1: ruleUnary : ( ( rule__Unary__Alternatives ) ) ;
-    public final void ruleUnary() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:213:2: ( ( ( rule__Unary__Alternatives ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:214:1: ( ( rule__Unary__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:214:1: ( ( rule__Unary__Alternatives ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:215:1: ( rule__Unary__Alternatives )
-            {
-             before(grammarAccess.getUnaryAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:216:1: ( rule__Unary__Alternatives )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:216:2: rule__Unary__Alternatives
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Unary__Alternatives_in_ruleUnary394);
-            rule__Unary__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getUnaryAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleUnary"
-
-
-    // $ANTLR start "entryRuleBooleanExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:228:1: entryRuleBooleanExpression : ruleBooleanExpression EOF ;
-    public final void entryRuleBooleanExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:229:1: ( ruleBooleanExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:230:1: ruleBooleanExpression EOF
-            {
-             before(grammarAccess.getBooleanExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_entryRuleBooleanExpression421);
-            ruleBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getBooleanExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanExpression428); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleBooleanExpression"
-
-
-    // $ANTLR start "ruleBooleanExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:237:1: ruleBooleanExpression : ( ( rule__BooleanExpression__Alternatives ) ) ;
-    public final void ruleBooleanExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:241:2: ( ( ( rule__BooleanExpression__Alternatives ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:242:1: ( ( rule__BooleanExpression__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:242:1: ( ( rule__BooleanExpression__Alternatives ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:243:1: ( rule__BooleanExpression__Alternatives )
-            {
-             before(grammarAccess.getBooleanExpressionAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:244:1: ( rule__BooleanExpression__Alternatives )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:244:2: rule__BooleanExpression__Alternatives
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanExpression__Alternatives_in_ruleBooleanExpression454);
-            rule__BooleanExpression__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBooleanExpressionAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleBooleanExpression"
-
-
-    // $ANTLR start "entryRuleEString"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:256:1: entryRuleEString : ruleEString EOF ;
-    public final void entryRuleEString() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:257:1: ( ruleEString EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:258:1: ruleEString EOF
-            {
-             before(grammarAccess.getEStringRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString481);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getEStringRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString488); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleEString"
-
-
-    // $ANTLR start "ruleEString"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:265:1: ruleEString : ( ( rule__EString__Alternatives ) ) ;
-    public final void ruleEString() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:269:2: ( ( ( rule__EString__Alternatives ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:270:1: ( ( rule__EString__Alternatives ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:270:1: ( ( rule__EString__Alternatives ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:271:1: ( rule__EString__Alternatives )
-            {
-             before(grammarAccess.getEStringAccess().getAlternatives()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:272:1: ( rule__EString__Alternatives )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:272:2: rule__EString__Alternatives
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EString__Alternatives_in_ruleEString514);
-            rule__EString__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getEStringAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleEString"
-
-
-    // $ANTLR start "entryRuleTermExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:284:1: entryRuleTermExpression : ruleTermExpression EOF ;
-    public final void entryRuleTermExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:285:1: ( ruleTermExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:286:1: ruleTermExpression EOF
-            {
-             before(grammarAccess.getTermExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTermExpression_in_entryRuleTermExpression541);
-            ruleTermExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTermExpression548); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleTermExpression"
-
-
-    // $ANTLR start "ruleTermExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:293:1: ruleTermExpression : ( ( rule__TermExpression__Group__0 ) ) ;
-    public final void ruleTermExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:297:2: ( ( ( rule__TermExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:298:1: ( ( rule__TermExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:298:1: ( ( rule__TermExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:299:1: ( rule__TermExpression__Group__0 )
-            {
-             before(grammarAccess.getTermExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:300:1: ( rule__TermExpression__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:300:2: rule__TermExpression__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__0_in_ruleTermExpression574);
-            rule__TermExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleTermExpression"
-
-
-    // $ANTLR start "entryRuleTermExpression2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:312:1: entryRuleTermExpression2 : ruleTermExpression2 EOF ;
-    public final void entryRuleTermExpression2() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:313:1: ( ruleTermExpression2 EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:314:1: ruleTermExpression2 EOF
-            {
-             before(grammarAccess.getTermExpression2Rule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTermExpression2_in_entryRuleTermExpression2601);
-            ruleTermExpression2();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermExpression2Rule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTermExpression2608); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleTermExpression2"
-
-
-    // $ANTLR start "ruleTermExpression2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:321:1: ruleTermExpression2 : ( ( rule__TermExpression2__Group__0 ) ) ;
-    public final void ruleTermExpression2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:325:2: ( ( ( rule__TermExpression2__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:326:1: ( ( rule__TermExpression2__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:326:1: ( ( rule__TermExpression2__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:327:1: ( rule__TermExpression2__Group__0 )
-            {
-             before(grammarAccess.getTermExpression2Access().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:328:1: ( rule__TermExpression2__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:328:2: rule__TermExpression2__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression2__Group__0_in_ruleTermExpression2634);
-            rule__TermExpression2__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermExpression2Access().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleTermExpression2"
-
-
-    // $ANTLR start "entryRuleProductExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:340:1: entryRuleProductExpression : ruleProductExpression EOF ;
-    public final void entryRuleProductExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:341:1: ( ruleProductExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:342:1: ruleProductExpression EOF
-            {
-             before(grammarAccess.getProductExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_entryRuleProductExpression661);
-            ruleProductExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProductExpression668); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleProductExpression"
-
-
-    // $ANTLR start "ruleProductExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:349:1: ruleProductExpression : ( ( rule__ProductExpression__Group__0 ) ) ;
-    public final void ruleProductExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:353:2: ( ( ( rule__ProductExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:354:1: ( ( rule__ProductExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:354:1: ( ( rule__ProductExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:355:1: ( rule__ProductExpression__Group__0 )
-            {
-             before(grammarAccess.getProductExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:356:1: ( rule__ProductExpression__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:356:2: rule__ProductExpression__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__0_in_ruleProductExpression694);
-            rule__ProductExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleProductExpression"
-
-
-    // $ANTLR start "entryRuleProductExpression2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:368:1: entryRuleProductExpression2 : ruleProductExpression2 EOF ;
-    public final void entryRuleProductExpression2() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:369:1: ( ruleProductExpression2 EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:370:1: ruleProductExpression2 EOF
-            {
-             before(grammarAccess.getProductExpression2Rule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProductExpression2_in_entryRuleProductExpression2721);
-            ruleProductExpression2();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductExpression2Rule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProductExpression2728); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleProductExpression2"
-
-
-    // $ANTLR start "ruleProductExpression2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:377:1: ruleProductExpression2 : ( ( rule__ProductExpression2__Group__0 ) ) ;
-    public final void ruleProductExpression2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:381:2: ( ( ( rule__ProductExpression2__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:382:1: ( ( rule__ProductExpression2__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:382:1: ( ( rule__ProductExpression2__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:383:1: ( rule__ProductExpression2__Group__0 )
-            {
-             before(grammarAccess.getProductExpression2Access().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:384:1: ( rule__ProductExpression2__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:384:2: rule__ProductExpression2__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression2__Group__0_in_ruleProductExpression2754);
-            rule__ProductExpression2__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductExpression2Access().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleProductExpression2"
-
-
-    // $ANTLR start "entryRuleCompareExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:396:1: entryRuleCompareExpression : ruleCompareExpression EOF ;
-    public final void entryRuleCompareExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:397:1: ( ruleCompareExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:398:1: ruleCompareExpression EOF
-            {
-             before(grammarAccess.getCompareExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompareExpression_in_entryRuleCompareExpression781);
-            ruleCompareExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getCompareExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompareExpression788); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleCompareExpression"
-
-
-    // $ANTLR start "ruleCompareExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:405:1: ruleCompareExpression : ( ( rule__CompareExpression__Group__0 ) ) ;
-    public final void ruleCompareExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:409:2: ( ( ( rule__CompareExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:410:1: ( ( rule__CompareExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:410:1: ( ( rule__CompareExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:411:1: ( rule__CompareExpression__Group__0 )
-            {
-             before(grammarAccess.getCompareExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:412:1: ( rule__CompareExpression__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:412:2: rule__CompareExpression__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__0_in_ruleCompareExpression814);
-            rule__CompareExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getCompareExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleCompareExpression"
-
-
-    // $ANTLR start "entryRulePowerExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:424:1: entryRulePowerExpression : rulePowerExpression EOF ;
-    public final void entryRulePowerExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:425:1: ( rulePowerExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:426:1: rulePowerExpression EOF
-            {
-             before(grammarAccess.getPowerExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_entryRulePowerExpression841);
-            rulePowerExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getPowerExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePowerExpression848); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRulePowerExpression"
-
-
-    // $ANTLR start "rulePowerExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:433:1: rulePowerExpression : ( ( rule__PowerExpression__Group__0 ) ) ;
-    public final void rulePowerExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:437:2: ( ( ( rule__PowerExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:438:1: ( ( rule__PowerExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:438:1: ( ( rule__PowerExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:439:1: ( rule__PowerExpression__Group__0 )
-            {
-             before(grammarAccess.getPowerExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:440:1: ( rule__PowerExpression__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:440:2: rule__PowerExpression__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__0_in_rulePowerExpression874);
-            rule__PowerExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPowerExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rulePowerExpression"
-
-
-    // $ANTLR start "entryRuleBooleanOperatorExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:452:1: entryRuleBooleanOperatorExpression : ruleBooleanOperatorExpression EOF ;
-    public final void entryRuleBooleanOperatorExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:453:1: ( ruleBooleanOperatorExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:454:1: ruleBooleanOperatorExpression EOF
-            {
-             before(grammarAccess.getBooleanOperatorExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanOperatorExpression_in_entryRuleBooleanOperatorExpression901);
-            ruleBooleanOperatorExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getBooleanOperatorExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanOperatorExpression908); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleBooleanOperatorExpression"
-
-
-    // $ANTLR start "ruleBooleanOperatorExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:461:1: ruleBooleanOperatorExpression : ( ( rule__BooleanOperatorExpression__Group__0 ) ) ;
-    public final void ruleBooleanOperatorExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:465:2: ( ( ( rule__BooleanOperatorExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:466:1: ( ( rule__BooleanOperatorExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:466:1: ( ( rule__BooleanOperatorExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:467:1: ( rule__BooleanOperatorExpression__Group__0 )
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:468:1: ( rule__BooleanOperatorExpression__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:468:2: rule__BooleanOperatorExpression__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__0_in_ruleBooleanOperatorExpression934);
-            rule__BooleanOperatorExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleBooleanOperatorExpression"
-
-
-    // $ANTLR start "entryRuleNotExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:480:1: entryRuleNotExpression : ruleNotExpression EOF ;
-    public final void entryRuleNotExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:481:1: ( ruleNotExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:482:1: ruleNotExpression EOF
-            {
-             before(grammarAccess.getNotExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_entryRuleNotExpression961);
-            ruleNotExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getNotExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNotExpression968); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleNotExpression"
-
-
-    // $ANTLR start "ruleNotExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:489:1: ruleNotExpression : ( ( rule__NotExpression__Group__0 ) ) ;
-    public final void ruleNotExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:493:2: ( ( ( rule__NotExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:494:1: ( ( rule__NotExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:494:1: ( ( rule__NotExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:495:1: ( rule__NotExpression__Group__0 )
-            {
-             before(grammarAccess.getNotExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:496:1: ( rule__NotExpression__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:496:2: rule__NotExpression__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__0_in_ruleNotExpression994);
-            rule__NotExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getNotExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleNotExpression"
-
-
-    // $ANTLR start "entryRuleNegativeExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:508:1: entryRuleNegativeExpression : ruleNegativeExpression EOF ;
-    public final void entryRuleNegativeExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:509:1: ( ruleNegativeExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:510:1: ruleNegativeExpression EOF
-            {
-             before(grammarAccess.getNegativeExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_entryRuleNegativeExpression1021);
-            ruleNegativeExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getNegativeExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNegativeExpression1028); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleNegativeExpression"
-
-
-    // $ANTLR start "ruleNegativeExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:517:1: ruleNegativeExpression : ( ( rule__NegativeExpression__Group__0 ) ) ;
-    public final void ruleNegativeExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:521:2: ( ( ( rule__NegativeExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:522:1: ( ( rule__NegativeExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:522:1: ( ( rule__NegativeExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:523:1: ( rule__NegativeExpression__Group__0 )
-            {
-             before(grammarAccess.getNegativeExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:524:1: ( rule__NegativeExpression__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:524:2: rule__NegativeExpression__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__0_in_ruleNegativeExpression1054);
-            rule__NegativeExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getNegativeExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleNegativeExpression"
-
-
-    // $ANTLR start "entryRuleIfElseExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:536:1: entryRuleIfElseExpression : ruleIfElseExpression EOF ;
-    public final void entryRuleIfElseExpression() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:537:1: ( ruleIfElseExpression EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:538:1: ruleIfElseExpression EOF
-            {
-             before(grammarAccess.getIfElseExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression1081);
-            ruleIfElseExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getIfElseExpressionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIfElseExpression1088); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleIfElseExpression"
-
-
-    // $ANTLR start "ruleIfElseExpression"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:545:1: ruleIfElseExpression : ( ( rule__IfElseExpression__Group__0 ) ) ;
-    public final void ruleIfElseExpression() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:549:2: ( ( ( rule__IfElseExpression__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:550:1: ( ( rule__IfElseExpression__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:550:1: ( ( rule__IfElseExpression__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:551:1: ( rule__IfElseExpression__Group__0 )
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:552:1: ( rule__IfElseExpression__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:552:2: rule__IfElseExpression__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__0_in_ruleIfElseExpression1114);
-            rule__IfElseExpression__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIfElseExpressionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleIfElseExpression"
-
-
-    // $ANTLR start "entryRuleFunction"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:564:1: entryRuleFunction : ruleFunction EOF ;
-    public final void entryRuleFunction() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:565:1: ( ruleFunction EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:566:1: ruleFunction EOF
-            {
-             before(grammarAccess.getFunctionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleFunction_in_entryRuleFunction1141);
-            ruleFunction();
-
-            state._fsp--;
-
-             after(grammarAccess.getFunctionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFunction1148); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleFunction"
-
-
-    // $ANTLR start "ruleFunction"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:573:1: ruleFunction : ( ( rule__Function__Group__0 ) ) ;
-    public final void ruleFunction() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:577:2: ( ( ( rule__Function__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:578:1: ( ( rule__Function__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:578:1: ( ( rule__Function__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:579:1: ( rule__Function__Group__0 )
-            {
-             before(grammarAccess.getFunctionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:580:1: ( rule__Function__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:580:2: rule__Function__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__0_in_ruleFunction1174);
-            rule__Function__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleFunction"
-
-
-    // $ANTLR start "entryRuleParenthesis"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:592:1: entryRuleParenthesis : ruleParenthesis EOF ;
-    public final void entryRuleParenthesis() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:593:1: ( ruleParenthesis EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:594:1: ruleParenthesis EOF
-            {
-             before(grammarAccess.getParenthesisRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_entryRuleParenthesis1201);
-            ruleParenthesis();
-
-            state._fsp--;
-
-             after(grammarAccess.getParenthesisRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParenthesis1208); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleParenthesis"
-
-
-    // $ANTLR start "ruleParenthesis"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:601:1: ruleParenthesis : ( ( rule__Parenthesis__Group__0 ) ) ;
-    public final void ruleParenthesis() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:605:2: ( ( ( rule__Parenthesis__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:606:1: ( ( rule__Parenthesis__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:606:1: ( ( rule__Parenthesis__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:607:1: ( rule__Parenthesis__Group__0 )
-            {
-             before(grammarAccess.getParenthesisAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:608:1: ( rule__Parenthesis__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:608:2: rule__Parenthesis__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__0_in_ruleParenthesis1234);
-            rule__Parenthesis__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getParenthesisAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleParenthesis"
-
-
-    // $ANTLR start "entryRuleLiteral_Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:620:1: entryRuleLiteral_Impl : ruleLiteral_Impl EOF ;
-    public final void entryRuleLiteral_Impl() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:621:1: ( ruleLiteral_Impl EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:622:1: ruleLiteral_Impl EOF
-            {
-             before(grammarAccess.getLiteral_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_entryRuleLiteral_Impl1261);
-            ruleLiteral_Impl();
-
-            state._fsp--;
-
-             after(grammarAccess.getLiteral_ImplRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLiteral_Impl1268); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleLiteral_Impl"
-
-
-    // $ANTLR start "ruleLiteral_Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:629:1: ruleLiteral_Impl : ( ( rule__Literal_Impl__Group__0 ) ) ;
-    public final void ruleLiteral_Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:633:2: ( ( ( rule__Literal_Impl__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:634:1: ( ( rule__Literal_Impl__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:634:1: ( ( rule__Literal_Impl__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:635:1: ( rule__Literal_Impl__Group__0 )
-            {
-             before(grammarAccess.getLiteral_ImplAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:636:1: ( rule__Literal_Impl__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:636:2: rule__Literal_Impl__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Literal_Impl__Group__0_in_ruleLiteral_Impl1294);
-            rule__Literal_Impl__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getLiteral_ImplAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleLiteral_Impl"
-
-
-    // $ANTLR start "entryRuleStringLiteral"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:648:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
-    public final void entryRuleStringLiteral() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:649:1: ( ruleStringLiteral EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:650:1: ruleStringLiteral EOF
-            {
-             before(grammarAccess.getStringLiteralRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1321);
-            ruleStringLiteral();
-
-            state._fsp--;
-
-             after(grammarAccess.getStringLiteralRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteral1328); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleStringLiteral"
-
-
-    // $ANTLR start "ruleStringLiteral"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:657:1: ruleStringLiteral : ( ( rule__StringLiteral__Group__0 ) ) ;
-    public final void ruleStringLiteral() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:661:2: ( ( ( rule__StringLiteral__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:662:1: ( ( rule__StringLiteral__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:662:1: ( ( rule__StringLiteral__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:663:1: ( rule__StringLiteral__Group__0 )
-            {
-             before(grammarAccess.getStringLiteralAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:664:1: ( rule__StringLiteral__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:664:2: rule__StringLiteral__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1354);
-            rule__StringLiteral__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getStringLiteralAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleStringLiteral"
-
-
-    // $ANTLR start "entryRuleBoolLiteral"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:676:1: entryRuleBoolLiteral : ruleBoolLiteral EOF ;
-    public final void entryRuleBoolLiteral() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:677:1: ( ruleBoolLiteral EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:678:1: ruleBoolLiteral EOF
-            {
-             before(grammarAccess.getBoolLiteralRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_entryRuleBoolLiteral1381);
-            ruleBoolLiteral();
-
-            state._fsp--;
-
-             after(grammarAccess.getBoolLiteralRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBoolLiteral1388); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleBoolLiteral"
-
-
-    // $ANTLR start "ruleBoolLiteral"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:685:1: ruleBoolLiteral : ( ( rule__BoolLiteral__Group__0 ) ) ;
-    public final void ruleBoolLiteral() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:689:2: ( ( ( rule__BoolLiteral__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:690:1: ( ( rule__BoolLiteral__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:690:1: ( ( rule__BoolLiteral__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:691:1: ( rule__BoolLiteral__Group__0 )
-            {
-             before(grammarAccess.getBoolLiteralAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:692:1: ( rule__BoolLiteral__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:692:2: rule__BoolLiteral__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoolLiteral__Group__0_in_ruleBoolLiteral1414);
-            rule__BoolLiteral__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBoolLiteralAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleBoolLiteral"
-
-
-    // $ANTLR start "entryRuleIntLiteral"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:704:1: entryRuleIntLiteral : ruleIntLiteral EOF ;
-    public final void entryRuleIntLiteral() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:705:1: ( ruleIntLiteral EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:706:1: ruleIntLiteral EOF
-            {
-             before(grammarAccess.getIntLiteralRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1441);
-            ruleIntLiteral();
-
-            state._fsp--;
-
-             after(grammarAccess.getIntLiteralRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIntLiteral1448); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleIntLiteral"
-
-
-    // $ANTLR start "ruleIntLiteral"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:713:1: ruleIntLiteral : ( ( rule__IntLiteral__Group__0 ) ) ;
-    public final void ruleIntLiteral() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:717:2: ( ( ( rule__IntLiteral__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:718:1: ( ( rule__IntLiteral__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:718:1: ( ( rule__IntLiteral__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:719:1: ( rule__IntLiteral__Group__0 )
-            {
-             before(grammarAccess.getIntLiteralAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:720:1: ( rule__IntLiteral__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:720:2: rule__IntLiteral__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1474);
-            rule__IntLiteral__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIntLiteralAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleIntLiteral"
-
-
-    // $ANTLR start "entryRuleDoubleLiteral"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:732:1: entryRuleDoubleLiteral : ruleDoubleLiteral EOF ;
-    public final void entryRuleDoubleLiteral() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:733:1: ( ruleDoubleLiteral EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:734:1: ruleDoubleLiteral EOF
-            {
-             before(grammarAccess.getDoubleLiteralRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral1501);
-            ruleDoubleLiteral();
-
-            state._fsp--;
-
-             after(grammarAccess.getDoubleLiteralRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDoubleLiteral1508); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDoubleLiteral"
-
-
-    // $ANTLR start "ruleDoubleLiteral"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:741:1: ruleDoubleLiteral : ( ( rule__DoubleLiteral__Group__0 ) ) ;
-    public final void ruleDoubleLiteral() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:745:2: ( ( ( rule__DoubleLiteral__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:746:1: ( ( rule__DoubleLiteral__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:746:1: ( ( rule__DoubleLiteral__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:747:1: ( rule__DoubleLiteral__Group__0 )
-            {
-             before(grammarAccess.getDoubleLiteralAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:748:1: ( rule__DoubleLiteral__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:748:2: rule__DoubleLiteral__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__0_in_ruleDoubleLiteral1534);
-            rule__DoubleLiteral__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDoubleLiteralAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDoubleLiteral"
-
-
-    // $ANTLR start "entryRuleFormalParameter"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:760:1: entryRuleFormalParameter : ruleFormalParameter EOF ;
-    public final void entryRuleFormalParameter() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:761:1: ( ruleFormalParameter EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:762:1: ruleFormalParameter EOF
-            {
-             before(grammarAccess.getFormalParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter1561);
-            ruleFormalParameter();
-
-            state._fsp--;
-
-             after(grammarAccess.getFormalParameterRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFormalParameter1568); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleFormalParameter"
-
-
-    // $ANTLR start "ruleFormalParameter"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:769:1: ruleFormalParameter : ( ( rule__FormalParameter__Group__0 ) ) ;
-    public final void ruleFormalParameter() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:773:2: ( ( ( rule__FormalParameter__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:774:1: ( ( rule__FormalParameter__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:774:1: ( ( rule__FormalParameter__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:775:1: ( rule__FormalParameter__Group__0 )
-            {
-             before(grammarAccess.getFormalParameterAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:776:1: ( rule__FormalParameter__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:776:2: rule__FormalParameter__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__FormalParameter__Group__0_in_ruleFormalParameter1594);
-            rule__FormalParameter__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFormalParameterAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleFormalParameter"
-
-
-    // $ANTLR start "entryRuleProbabilityMassFunction"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:788:1: entryRuleProbabilityMassFunction : ruleProbabilityMassFunction EOF ;
-    public final void entryRuleProbabilityMassFunction() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:789:1: ( ruleProbabilityMassFunction EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:790:1: ruleProbabilityMassFunction EOF
-            {
-             before(grammarAccess.getProbabilityMassFunctionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_entryRuleProbabilityMassFunction1621);
-            ruleProbabilityMassFunction();
-
-            state._fsp--;
-
-             after(grammarAccess.getProbabilityMassFunctionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProbabilityMassFunction1628); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleProbabilityMassFunction"
-
-
-    // $ANTLR start "ruleProbabilityMassFunction"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:797:1: ruleProbabilityMassFunction : ( ( rule__ProbabilityMassFunction__Group__0 ) ) ;
-    public final void ruleProbabilityMassFunction() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:801:2: ( ( ( rule__ProbabilityMassFunction__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:802:1: ( ( rule__ProbabilityMassFunction__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:802:1: ( ( rule__ProbabilityMassFunction__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:803:1: ( rule__ProbabilityMassFunction__Group__0 )
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:804:1: ( rule__ProbabilityMassFunction__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:804:2: rule__ProbabilityMassFunction__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__0_in_ruleProbabilityMassFunction1654);
-            rule__ProbabilityMassFunction__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProbabilityMassFunctionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleProbabilityMassFunction"
-
-
-    // $ANTLR start "entryRuleBoxedPDF"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:816:1: entryRuleBoxedPDF : ruleBoxedPDF EOF ;
-    public final void entryRuleBoxedPDF() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:817:1: ( ruleBoxedPDF EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:818:1: ruleBoxedPDF EOF
-            {
-             before(grammarAccess.getBoxedPDFRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_entryRuleBoxedPDF1681);
-            ruleBoxedPDF();
-
-            state._fsp--;
-
-             after(grammarAccess.getBoxedPDFRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBoxedPDF1688); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleBoxedPDF"
-
-
-    // $ANTLR start "ruleBoxedPDF"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:825:1: ruleBoxedPDF : ( ( rule__BoxedPDF__Group__0 ) ) ;
-    public final void ruleBoxedPDF() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:829:2: ( ( ( rule__BoxedPDF__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:830:1: ( ( rule__BoxedPDF__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:830:1: ( ( rule__BoxedPDF__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:831:1: ( rule__BoxedPDF__Group__0 )
-            {
-             before(grammarAccess.getBoxedPDFAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:832:1: ( rule__BoxedPDF__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:832:2: rule__BoxedPDF__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__0_in_ruleBoxedPDF1714);
-            rule__BoxedPDF__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBoxedPDFAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleBoxedPDF"
-
-
-    // $ANTLR start "entryRuleNormalDistribution"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:844:1: entryRuleNormalDistribution : ruleNormalDistribution EOF ;
-    public final void entryRuleNormalDistribution() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:845:1: ( ruleNormalDistribution EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:846:1: ruleNormalDistribution EOF
-            {
-             before(grammarAccess.getNormalDistributionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_entryRuleNormalDistribution1741);
-            ruleNormalDistribution();
-
-            state._fsp--;
-
-             after(grammarAccess.getNormalDistributionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNormalDistribution1748); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleNormalDistribution"
-
-
-    // $ANTLR start "ruleNormalDistribution"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:853:1: ruleNormalDistribution : ( ( rule__NormalDistribution__Group__0 ) ) ;
-    public final void ruleNormalDistribution() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:857:2: ( ( ( rule__NormalDistribution__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:858:1: ( ( rule__NormalDistribution__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:858:1: ( ( rule__NormalDistribution__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:859:1: ( rule__NormalDistribution__Group__0 )
-            {
-             before(grammarAccess.getNormalDistributionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:860:1: ( rule__NormalDistribution__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:860:2: rule__NormalDistribution__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__0_in_ruleNormalDistribution1774);
-            rule__NormalDistribution__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getNormalDistributionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleNormalDistribution"
-
-
-    // $ANTLR start "entryRuleExponentialDistribution"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:872:1: entryRuleExponentialDistribution : ruleExponentialDistribution EOF ;
-    public final void entryRuleExponentialDistribution() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:873:1: ( ruleExponentialDistribution EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:874:1: ruleExponentialDistribution EOF
-            {
-             before(grammarAccess.getExponentialDistributionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_entryRuleExponentialDistribution1801);
-            ruleExponentialDistribution();
-
-            state._fsp--;
-
-             after(grammarAccess.getExponentialDistributionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExponentialDistribution1808); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleExponentialDistribution"
-
-
-    // $ANTLR start "ruleExponentialDistribution"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:881:1: ruleExponentialDistribution : ( ( rule__ExponentialDistribution__Group__0 ) ) ;
-    public final void ruleExponentialDistribution() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:885:2: ( ( ( rule__ExponentialDistribution__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:886:1: ( ( rule__ExponentialDistribution__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:886:1: ( ( rule__ExponentialDistribution__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:887:1: ( rule__ExponentialDistribution__Group__0 )
-            {
-             before(grammarAccess.getExponentialDistributionAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:888:1: ( rule__ExponentialDistribution__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:888:2: rule__ExponentialDistribution__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__0_in_ruleExponentialDistribution1834);
-            rule__ExponentialDistribution__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getExponentialDistributionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleExponentialDistribution"
-
-
-    // $ANTLR start "entryRuleTermOperations"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:900:1: entryRuleTermOperations : ruleTermOperations EOF ;
-    public final void entryRuleTermOperations() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:901:1: ( ruleTermOperations EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:902:1: ruleTermOperations EOF
-            {
-             before(grammarAccess.getTermOperationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTermOperations_in_entryRuleTermOperations1861);
-            ruleTermOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermOperationsRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTermOperations1868); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleTermOperations"
-
-
-    // $ANTLR start "ruleTermOperations"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:909:1: ruleTermOperations : ( 'TermOperations' ) ;
-    public final void ruleTermOperations() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:913:2: ( ( 'TermOperations' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:914:1: ( 'TermOperations' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:914:1: ( 'TermOperations' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:915:1: 'TermOperations'
-            {
-             before(grammarAccess.getTermOperationsAccess().getTermOperationsKeyword()); 
-            match(input,11,FollowSets000.FOLLOW_11_in_ruleTermOperations1895); 
-             after(grammarAccess.getTermOperationsAccess().getTermOperationsKeyword()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleTermOperations"
-
-
-    // $ANTLR start "entryRuleProductOperations"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:930:1: entryRuleProductOperations : ruleProductOperations EOF ;
-    public final void entryRuleProductOperations() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:931:1: ( ruleProductOperations EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:932:1: ruleProductOperations EOF
-            {
-             before(grammarAccess.getProductOperationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProductOperations_in_entryRuleProductOperations1923);
-            ruleProductOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductOperationsRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProductOperations1930); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleProductOperations"
-
-
-    // $ANTLR start "ruleProductOperations"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:939:1: ruleProductOperations : ( 'ProductOperations' ) ;
-    public final void ruleProductOperations() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:943:2: ( ( 'ProductOperations' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:944:1: ( 'ProductOperations' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:944:1: ( 'ProductOperations' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:945:1: 'ProductOperations'
-            {
-             before(grammarAccess.getProductOperationsAccess().getProductOperationsKeyword()); 
-            match(input,12,FollowSets000.FOLLOW_12_in_ruleProductOperations1957); 
-             after(grammarAccess.getProductOperationsAccess().getProductOperationsKeyword()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleProductOperations"
-
-
-    // $ANTLR start "entryRuleCompareOperations"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:960:1: entryRuleCompareOperations : ruleCompareOperations EOF ;
-    public final void entryRuleCompareOperations() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:961:1: ( ruleCompareOperations EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:962:1: ruleCompareOperations EOF
-            {
-             before(grammarAccess.getCompareOperationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompareOperations_in_entryRuleCompareOperations1985);
-            ruleCompareOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getCompareOperationsRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompareOperations1992); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleCompareOperations"
-
-
-    // $ANTLR start "ruleCompareOperations"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:969:1: ruleCompareOperations : ( 'CompareOperations' ) ;
-    public final void ruleCompareOperations() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:973:2: ( ( 'CompareOperations' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:974:1: ( 'CompareOperations' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:974:1: ( 'CompareOperations' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:975:1: 'CompareOperations'
-            {
-             before(grammarAccess.getCompareOperationsAccess().getCompareOperationsKeyword()); 
-            match(input,13,FollowSets000.FOLLOW_13_in_ruleCompareOperations2019); 
-             after(grammarAccess.getCompareOperationsAccess().getCompareOperationsKeyword()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleCompareOperations"
-
-
-    // $ANTLR start "entryRuleBooleanOperations"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:990:1: entryRuleBooleanOperations : ruleBooleanOperations EOF ;
-    public final void entryRuleBooleanOperations() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:991:1: ( ruleBooleanOperations EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:992:1: ruleBooleanOperations EOF
-            {
-             before(grammarAccess.getBooleanOperationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanOperations_in_entryRuleBooleanOperations2047);
-            ruleBooleanOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getBooleanOperationsRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanOperations2054); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleBooleanOperations"
-
-
-    // $ANTLR start "ruleBooleanOperations"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:999:1: ruleBooleanOperations : ( 'BooleanOperations' ) ;
-    public final void ruleBooleanOperations() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1003:2: ( ( 'BooleanOperations' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1004:1: ( 'BooleanOperations' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1004:1: ( 'BooleanOperations' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1005:1: 'BooleanOperations'
-            {
-             before(grammarAccess.getBooleanOperationsAccess().getBooleanOperationsKeyword()); 
-            match(input,14,FollowSets000.FOLLOW_14_in_ruleBooleanOperations2081); 
-             after(grammarAccess.getBooleanOperationsAccess().getBooleanOperationsKeyword()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleBooleanOperations"
-
-
-    // $ANTLR start "entryRuleEBigInteger"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1022:1: entryRuleEBigInteger : ruleEBigInteger EOF ;
-    public final void entryRuleEBigInteger() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1023:1: ( ruleEBigInteger EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1024:1: ruleEBigInteger EOF
-            {
-             before(grammarAccess.getEBigIntegerRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigInteger_in_entryRuleEBigInteger2111);
-            ruleEBigInteger();
-
-            state._fsp--;
-
-             after(grammarAccess.getEBigIntegerRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEBigInteger2118); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleEBigInteger"
-
-
-    // $ANTLR start "ruleEBigInteger"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1031:1: ruleEBigInteger : ( ( rule__EBigInteger__Group__0 ) ) ;
-    public final void ruleEBigInteger() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1035:2: ( ( ( rule__EBigInteger__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1036:1: ( ( rule__EBigInteger__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1036:1: ( ( rule__EBigInteger__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1037:1: ( rule__EBigInteger__Group__0 )
-            {
-             before(grammarAccess.getEBigIntegerAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1038:1: ( rule__EBigInteger__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1038:2: rule__EBigInteger__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EBigInteger__Group__0_in_ruleEBigInteger2144);
-            rule__EBigInteger__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getEBigIntegerAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleEBigInteger"
-
-
-    // $ANTLR start "entryRuleEBigDecimal"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1050:1: entryRuleEBigDecimal : ruleEBigDecimal EOF ;
-    public final void entryRuleEBigDecimal() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1051:1: ( ruleEBigDecimal EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1052:1: ruleEBigDecimal EOF
-            {
-             before(grammarAccess.getEBigDecimalRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_entryRuleEBigDecimal2171);
-            ruleEBigDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getEBigDecimalRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEBigDecimal2178); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleEBigDecimal"
-
-
-    // $ANTLR start "ruleEBigDecimal"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1059:1: ruleEBigDecimal : ( ( rule__EBigDecimal__Group__0 ) ) ;
-    public final void ruleEBigDecimal() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1063:2: ( ( ( rule__EBigDecimal__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1064:1: ( ( rule__EBigDecimal__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1064:1: ( ( rule__EBigDecimal__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1065:1: ( rule__EBigDecimal__Group__0 )
-            {
-             before(grammarAccess.getEBigDecimalAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1066:1: ( rule__EBigDecimal__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1066:2: rule__EBigDecimal__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EBigDecimal__Group__0_in_ruleEBigDecimal2204);
-            rule__EBigDecimal__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getEBigDecimalAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleEBigDecimal"
-
-
-    // $ANTLR start "entryRuleSample"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1078:1: entryRuleSample : ruleSample EOF ;
-    public final void entryRuleSample() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1079:1: ( ruleSample EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1080:1: ruleSample EOF
-            {
-             before(grammarAccess.getSampleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSample_in_entryRuleSample2231);
-            ruleSample();
-
-            state._fsp--;
-
-             after(grammarAccess.getSampleRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSample2238); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleSample"
-
-
-    // $ANTLR start "ruleSample"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1087:1: ruleSample : ( ( rule__Sample__Group__0 ) ) ;
-    public final void ruleSample() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1091:2: ( ( ( rule__Sample__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1092:1: ( ( rule__Sample__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1092:1: ( ( rule__Sample__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1093:1: ( rule__Sample__Group__0 )
-            {
-             before(grammarAccess.getSampleAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1094:1: ( rule__Sample__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1094:2: rule__Sample__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__0_in_ruleSample2264);
-            rule__Sample__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSampleAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleSample"
-
-
-    // $ANTLR start "entryRuleContinuousSample"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1108:1: entryRuleContinuousSample : ruleContinuousSample EOF ;
-    public final void entryRuleContinuousSample() throws RecognitionException {
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1109:1: ( ruleContinuousSample EOF )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1110:1: ruleContinuousSample EOF
-            {
-             before(grammarAccess.getContinuousSampleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_entryRuleContinuousSample2293);
-            ruleContinuousSample();
-
-            state._fsp--;
-
-             after(grammarAccess.getContinuousSampleRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleContinuousSample2300); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleContinuousSample"
-
-
-    // $ANTLR start "ruleContinuousSample"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1117:1: ruleContinuousSample : ( ( rule__ContinuousSample__Group__0 ) ) ;
-    public final void ruleContinuousSample() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1121:2: ( ( ( rule__ContinuousSample__Group__0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1122:1: ( ( rule__ContinuousSample__Group__0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1122:1: ( ( rule__ContinuousSample__Group__0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1123:1: ( rule__ContinuousSample__Group__0 )
-            {
-             before(grammarAccess.getContinuousSampleAccess().getGroup()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1124:1: ( rule__ContinuousSample__Group__0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1124:2: rule__ContinuousSample__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__0_in_ruleContinuousSample2326);
-            rule__ContinuousSample__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getContinuousSampleAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleContinuousSample"
-
-
-    // $ANTLR start "rule__Expression__Alternatives"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1136:1: rule__Expression__Alternatives : ( ( ruleTermExpression ) | ( ruleProductExpression ) | ( ruleCompareExpression ) | ( rulePowerExpression ) | ( ruleBooleanOperatorExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleIfElseExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) );
-    public final void rule__Expression__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1140:1: ( ( ruleTermExpression ) | ( ruleProductExpression ) | ( ruleCompareExpression ) | ( rulePowerExpression ) | ( ruleBooleanOperatorExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleIfElseExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) )
-            int alt1=20;
-            switch ( input.LA(1) ) {
-            case 20:
-                {
-                alt1=1;
-                }
-                break;
-            case 21:
-                {
-                alt1=2;
-                }
-                break;
-            case 22:
-                {
-                alt1=3;
-                }
-                break;
-            case 26:
-                {
-                alt1=4;
-                }
-                break;
-            case 29:
-                {
-                alt1=5;
-                }
-                break;
-            case 30:
-                {
-                alt1=6;
-                }
-                break;
-            case 32:
-                {
-                alt1=7;
-                }
-                break;
-            case 33:
-                {
-                alt1=8;
-                }
-                break;
-            case 37:
-                {
-                alt1=9;
-                }
-                break;
-            case 41:
-                {
-                alt1=10;
-                }
-                break;
-            case 43:
-                {
-                alt1=11;
-                }
-                break;
-            case 44:
-                {
-                alt1=12;
-                }
-                break;
-            case 45:
-                {
-                alt1=13;
-                }
-                break;
-            case 47:
-                {
-                alt1=14;
-                }
-                break;
-            case 48:
-                {
-                alt1=15;
-                }
-                break;
-            case 49:
-                {
-                alt1=16;
-                }
-                break;
-            case 50:
-                {
-                alt1=17;
-                }
-                break;
-            case 52:
-                {
-                alt1=18;
-                }
-                break;
-            case 53:
-                {
-                alt1=19;
-                }
-                break;
-            case 56:
-                {
-                alt1=20;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 1, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt1) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1141:1: ( ruleTermExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1141:1: ( ruleTermExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1142:1: ruleTermExpression
-                    {
-                     before(grammarAccess.getExpressionAccess().getTermExpressionParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleTermExpression_in_rule__Expression__Alternatives2362);
-                    ruleTermExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getTermExpressionParserRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1147:6: ( ruleProductExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1147:6: ( ruleProductExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1148:1: ruleProductExpression
-                    {
-                     before(grammarAccess.getExpressionAccess().getProductExpressionParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_rule__Expression__Alternatives2379);
-                    ruleProductExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getProductExpressionParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1153:6: ( ruleCompareExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1153:6: ( ruleCompareExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1154:1: ruleCompareExpression
-                    {
-                     before(grammarAccess.getExpressionAccess().getCompareExpressionParserRuleCall_2()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleCompareExpression_in_rule__Expression__Alternatives2396);
-                    ruleCompareExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getCompareExpressionParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1159:6: ( rulePowerExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1159:6: ( rulePowerExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1160:1: rulePowerExpression
-                    {
-                     before(grammarAccess.getExpressionAccess().getPowerExpressionParserRuleCall_3()); 
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_rule__Expression__Alternatives2413);
-                    rulePowerExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getPowerExpressionParserRuleCall_3()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1165:6: ( ruleBooleanOperatorExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1165:6: ( ruleBooleanOperatorExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1166:1: ruleBooleanOperatorExpression
-                    {
-                     before(grammarAccess.getExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBooleanOperatorExpression_in_rule__Expression__Alternatives2430);
-                    ruleBooleanOperatorExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1171:6: ( ruleNotExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1171:6: ( ruleNotExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1172:1: ruleNotExpression
-                    {
-                     before(grammarAccess.getExpressionAccess().getNotExpressionParserRuleCall_5()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_rule__Expression__Alternatives2447);
-                    ruleNotExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getNotExpressionParserRuleCall_5()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1177:6: ( ruleNegativeExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1177:6: ( ruleNegativeExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1178:1: ruleNegativeExpression
-                    {
-                     before(grammarAccess.getExpressionAccess().getNegativeExpressionParserRuleCall_6()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_rule__Expression__Alternatives2464);
-                    ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getNegativeExpressionParserRuleCall_6()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1183:6: ( ruleIfElseExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1183:6: ( ruleIfElseExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1184:1: ruleIfElseExpression
-                    {
-                     before(grammarAccess.getExpressionAccess().getIfElseExpressionParserRuleCall_7()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleIfElseExpression_in_rule__Expression__Alternatives2481);
-                    ruleIfElseExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getIfElseExpressionParserRuleCall_7()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1189:6: ( ruleFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1189:6: ( ruleFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1190:1: ruleFunction
-                    {
-                     before(grammarAccess.getExpressionAccess().getFunctionParserRuleCall_8()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_rule__Expression__Alternatives2498);
-                    ruleFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getFunctionParserRuleCall_8()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1195:6: ( ruleParenthesis )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1195:6: ( ruleParenthesis )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1196:1: ruleParenthesis
-                    {
-                     before(grammarAccess.getExpressionAccess().getParenthesisParserRuleCall_9()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_rule__Expression__Alternatives2515);
-                    ruleParenthesis();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getParenthesisParserRuleCall_9()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1201:6: ( ruleLiteral_Impl )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1201:6: ( ruleLiteral_Impl )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1202:1: ruleLiteral_Impl
-                    {
-                     before(grammarAccess.getExpressionAccess().getLiteral_ImplParserRuleCall_10()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_rule__Expression__Alternatives2532);
-                    ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getLiteral_ImplParserRuleCall_10()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1207:6: ( ruleStringLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1207:6: ( ruleStringLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1208:1: ruleStringLiteral
-                    {
-                     before(grammarAccess.getExpressionAccess().getStringLiteralParserRuleCall_11()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_rule__Expression__Alternatives2549);
-                    ruleStringLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getStringLiteralParserRuleCall_11()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1213:6: ( ruleBoolLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1213:6: ( ruleBoolLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1214:1: ruleBoolLiteral
-                    {
-                     before(grammarAccess.getExpressionAccess().getBoolLiteralParserRuleCall_12()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_rule__Expression__Alternatives2566);
-                    ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getBoolLiteralParserRuleCall_12()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1219:6: ( ruleIntLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1219:6: ( ruleIntLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1220:1: ruleIntLiteral
-                    {
-                     before(grammarAccess.getExpressionAccess().getIntLiteralParserRuleCall_13()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_rule__Expression__Alternatives2583);
-                    ruleIntLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getIntLiteralParserRuleCall_13()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1225:6: ( ruleDoubleLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1225:6: ( ruleDoubleLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1226:1: ruleDoubleLiteral
-                    {
-                     before(grammarAccess.getExpressionAccess().getDoubleLiteralParserRuleCall_14()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_rule__Expression__Alternatives2600);
-                    ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getDoubleLiteralParserRuleCall_14()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 16 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1231:6: ( ruleFormalParameter )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1231:6: ( ruleFormalParameter )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1232:1: ruleFormalParameter
-                    {
-                     before(grammarAccess.getExpressionAccess().getFormalParameterParserRuleCall_15()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_rule__Expression__Alternatives2617);
-                    ruleFormalParameter();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getFormalParameterParserRuleCall_15()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 17 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1237:6: ( ruleProbabilityMassFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1237:6: ( ruleProbabilityMassFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1238:1: ruleProbabilityMassFunction
-                    {
-                     before(grammarAccess.getExpressionAccess().getProbabilityMassFunctionParserRuleCall_16()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_rule__Expression__Alternatives2634);
-                    ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getProbabilityMassFunctionParserRuleCall_16()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 18 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1243:6: ( ruleBoxedPDF )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1243:6: ( ruleBoxedPDF )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1244:1: ruleBoxedPDF
-                    {
-                     before(grammarAccess.getExpressionAccess().getBoxedPDFParserRuleCall_17()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_rule__Expression__Alternatives2651);
-                    ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getBoxedPDFParserRuleCall_17()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 19 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1249:6: ( ruleNormalDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1249:6: ( ruleNormalDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1250:1: ruleNormalDistribution
-                    {
-                     before(grammarAccess.getExpressionAccess().getNormalDistributionParserRuleCall_18()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_rule__Expression__Alternatives2668);
-                    ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getNormalDistributionParserRuleCall_18()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 20 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1255:6: ( ruleExponentialDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1255:6: ( ruleExponentialDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1256:1: ruleExponentialDistribution
-                    {
-                     before(grammarAccess.getExpressionAccess().getExponentialDistributionParserRuleCall_19()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_rule__Expression__Alternatives2685);
-                    ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getExpressionAccess().getExponentialDistributionParserRuleCall_19()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Expression__Alternatives"
-
-
-    // $ANTLR start "rule__Term__Alternatives"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1266:1: rule__Term__Alternatives : ( ( ruleTermExpression ) | ( ruleProductExpression ) | ( rulePowerExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) );
-    public final void rule__Term__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1270:1: ( ( ruleTermExpression ) | ( ruleProductExpression ) | ( rulePowerExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) )
-            int alt2=17;
-            switch ( input.LA(1) ) {
-            case 20:
-                {
-                alt2=1;
-                }
-                break;
-            case 21:
-                {
-                alt2=2;
-                }
-                break;
-            case 26:
-                {
-                alt2=3;
-                }
-                break;
-            case 30:
-                {
-                alt2=4;
-                }
-                break;
-            case 32:
-                {
-                alt2=5;
-                }
-                break;
-            case 37:
-                {
-                alt2=6;
-                }
-                break;
-            case 41:
-                {
-                alt2=7;
-                }
-                break;
-            case 43:
-                {
-                alt2=8;
-                }
-                break;
-            case 44:
-                {
-                alt2=9;
-                }
-                break;
-            case 45:
-                {
-                alt2=10;
-                }
-                break;
-            case 47:
-                {
-                alt2=11;
-                }
-                break;
-            case 48:
-                {
-                alt2=12;
-                }
-                break;
-            case 49:
-                {
-                alt2=13;
-                }
-                break;
-            case 50:
-                {
-                alt2=14;
-                }
-                break;
-            case 52:
-                {
-                alt2=15;
-                }
-                break;
-            case 53:
-                {
-                alt2=16;
-                }
-                break;
-            case 56:
-                {
-                alt2=17;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 2, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt2) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1271:1: ( ruleTermExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1271:1: ( ruleTermExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1272:1: ruleTermExpression
-                    {
-                     before(grammarAccess.getTermAccess().getTermExpressionParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleTermExpression_in_rule__Term__Alternatives2717);
-                    ruleTermExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getTermExpressionParserRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1277:6: ( ruleProductExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1277:6: ( ruleProductExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1278:1: ruleProductExpression
-                    {
-                     before(grammarAccess.getTermAccess().getProductExpressionParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_rule__Term__Alternatives2734);
-                    ruleProductExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getProductExpressionParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1283:6: ( rulePowerExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1283:6: ( rulePowerExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1284:1: rulePowerExpression
-                    {
-                     before(grammarAccess.getTermAccess().getPowerExpressionParserRuleCall_2()); 
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_rule__Term__Alternatives2751);
-                    rulePowerExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getPowerExpressionParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1289:6: ( ruleNotExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1289:6: ( ruleNotExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1290:1: ruleNotExpression
-                    {
-                     before(grammarAccess.getTermAccess().getNotExpressionParserRuleCall_3()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_rule__Term__Alternatives2768);
-                    ruleNotExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getNotExpressionParserRuleCall_3()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1295:6: ( ruleNegativeExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1295:6: ( ruleNegativeExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1296:1: ruleNegativeExpression
-                    {
-                     before(grammarAccess.getTermAccess().getNegativeExpressionParserRuleCall_4()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_rule__Term__Alternatives2785);
-                    ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getNegativeExpressionParserRuleCall_4()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1301:6: ( ruleFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1301:6: ( ruleFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1302:1: ruleFunction
-                    {
-                     before(grammarAccess.getTermAccess().getFunctionParserRuleCall_5()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_rule__Term__Alternatives2802);
-                    ruleFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getFunctionParserRuleCall_5()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1307:6: ( ruleParenthesis )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1307:6: ( ruleParenthesis )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1308:1: ruleParenthesis
-                    {
-                     before(grammarAccess.getTermAccess().getParenthesisParserRuleCall_6()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_rule__Term__Alternatives2819);
-                    ruleParenthesis();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getParenthesisParserRuleCall_6()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1313:6: ( ruleLiteral_Impl )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1313:6: ( ruleLiteral_Impl )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1314:1: ruleLiteral_Impl
-                    {
-                     before(grammarAccess.getTermAccess().getLiteral_ImplParserRuleCall_7()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_rule__Term__Alternatives2836);
-                    ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getLiteral_ImplParserRuleCall_7()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1319:6: ( ruleStringLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1319:6: ( ruleStringLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1320:1: ruleStringLiteral
-                    {
-                     before(grammarAccess.getTermAccess().getStringLiteralParserRuleCall_8()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_rule__Term__Alternatives2853);
-                    ruleStringLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getStringLiteralParserRuleCall_8()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1325:6: ( ruleBoolLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1325:6: ( ruleBoolLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1326:1: ruleBoolLiteral
-                    {
-                     before(grammarAccess.getTermAccess().getBoolLiteralParserRuleCall_9()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_rule__Term__Alternatives2870);
-                    ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getBoolLiteralParserRuleCall_9()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1331:6: ( ruleIntLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1331:6: ( ruleIntLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1332:1: ruleIntLiteral
-                    {
-                     before(grammarAccess.getTermAccess().getIntLiteralParserRuleCall_10()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_rule__Term__Alternatives2887);
-                    ruleIntLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getIntLiteralParserRuleCall_10()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1337:6: ( ruleDoubleLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1337:6: ( ruleDoubleLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1338:1: ruleDoubleLiteral
-                    {
-                     before(grammarAccess.getTermAccess().getDoubleLiteralParserRuleCall_11()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_rule__Term__Alternatives2904);
-                    ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getDoubleLiteralParserRuleCall_11()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1343:6: ( ruleFormalParameter )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1343:6: ( ruleFormalParameter )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1344:1: ruleFormalParameter
-                    {
-                     before(grammarAccess.getTermAccess().getFormalParameterParserRuleCall_12()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_rule__Term__Alternatives2921);
-                    ruleFormalParameter();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getFormalParameterParserRuleCall_12()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1349:6: ( ruleProbabilityMassFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1349:6: ( ruleProbabilityMassFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1350:1: ruleProbabilityMassFunction
-                    {
-                     before(grammarAccess.getTermAccess().getProbabilityMassFunctionParserRuleCall_13()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_rule__Term__Alternatives2938);
-                    ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getProbabilityMassFunctionParserRuleCall_13()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1355:6: ( ruleBoxedPDF )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1355:6: ( ruleBoxedPDF )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1356:1: ruleBoxedPDF
-                    {
-                     before(grammarAccess.getTermAccess().getBoxedPDFParserRuleCall_14()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_rule__Term__Alternatives2955);
-                    ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getBoxedPDFParserRuleCall_14()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 16 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1361:6: ( ruleNormalDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1361:6: ( ruleNormalDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1362:1: ruleNormalDistribution
-                    {
-                     before(grammarAccess.getTermAccess().getNormalDistributionParserRuleCall_15()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_rule__Term__Alternatives2972);
-                    ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getNormalDistributionParserRuleCall_15()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 17 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1367:6: ( ruleExponentialDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1367:6: ( ruleExponentialDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1368:1: ruleExponentialDistribution
-                    {
-                     before(grammarAccess.getTermAccess().getExponentialDistributionParserRuleCall_16()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_rule__Term__Alternatives2989);
-                    ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getTermAccess().getExponentialDistributionParserRuleCall_16()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Term__Alternatives"
-
-
-    // $ANTLR start "rule__Product__Alternatives"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1378:1: rule__Product__Alternatives : ( ( ruleProductExpression ) | ( rulePowerExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) );
-    public final void rule__Product__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1382:1: ( ( ruleProductExpression ) | ( rulePowerExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) )
-            int alt3=16;
-            switch ( input.LA(1) ) {
-            case 21:
-                {
-                alt3=1;
-                }
-                break;
-            case 26:
-                {
-                alt3=2;
-                }
-                break;
-            case 30:
-                {
-                alt3=3;
-                }
-                break;
-            case 32:
-                {
-                alt3=4;
-                }
-                break;
-            case 37:
-                {
-                alt3=5;
-                }
-                break;
-            case 41:
-                {
-                alt3=6;
-                }
-                break;
-            case 43:
-                {
-                alt3=7;
-                }
-                break;
-            case 44:
-                {
-                alt3=8;
-                }
-                break;
-            case 45:
-                {
-                alt3=9;
-                }
-                break;
-            case 47:
-                {
-                alt3=10;
-                }
-                break;
-            case 48:
-                {
-                alt3=11;
-                }
-                break;
-            case 49:
-                {
-                alt3=12;
-                }
-                break;
-            case 50:
-                {
-                alt3=13;
-                }
-                break;
-            case 52:
-                {
-                alt3=14;
-                }
-                break;
-            case 53:
-                {
-                alt3=15;
-                }
-                break;
-            case 56:
-                {
-                alt3=16;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt3) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1383:1: ( ruleProductExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1383:1: ( ruleProductExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1384:1: ruleProductExpression
-                    {
-                     before(grammarAccess.getProductAccess().getProductExpressionParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_rule__Product__Alternatives3021);
-                    ruleProductExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getProductExpressionParserRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1389:6: ( rulePowerExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1389:6: ( rulePowerExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1390:1: rulePowerExpression
-                    {
-                     before(grammarAccess.getProductAccess().getPowerExpressionParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_rule__Product__Alternatives3038);
-                    rulePowerExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getPowerExpressionParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1395:6: ( ruleNotExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1395:6: ( ruleNotExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1396:1: ruleNotExpression
-                    {
-                     before(grammarAccess.getProductAccess().getNotExpressionParserRuleCall_2()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_rule__Product__Alternatives3055);
-                    ruleNotExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getNotExpressionParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1401:6: ( ruleNegativeExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1401:6: ( ruleNegativeExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1402:1: ruleNegativeExpression
-                    {
-                     before(grammarAccess.getProductAccess().getNegativeExpressionParserRuleCall_3()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_rule__Product__Alternatives3072);
-                    ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getNegativeExpressionParserRuleCall_3()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1407:6: ( ruleFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1407:6: ( ruleFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1408:1: ruleFunction
-                    {
-                     before(grammarAccess.getProductAccess().getFunctionParserRuleCall_4()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_rule__Product__Alternatives3089);
-                    ruleFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getFunctionParserRuleCall_4()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1413:6: ( ruleParenthesis )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1413:6: ( ruleParenthesis )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1414:1: ruleParenthesis
-                    {
-                     before(grammarAccess.getProductAccess().getParenthesisParserRuleCall_5()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_rule__Product__Alternatives3106);
-                    ruleParenthesis();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getParenthesisParserRuleCall_5()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1419:6: ( ruleLiteral_Impl )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1419:6: ( ruleLiteral_Impl )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1420:1: ruleLiteral_Impl
-                    {
-                     before(grammarAccess.getProductAccess().getLiteral_ImplParserRuleCall_6()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_rule__Product__Alternatives3123);
-                    ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getLiteral_ImplParserRuleCall_6()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1425:6: ( ruleStringLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1425:6: ( ruleStringLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1426:1: ruleStringLiteral
-                    {
-                     before(grammarAccess.getProductAccess().getStringLiteralParserRuleCall_7()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_rule__Product__Alternatives3140);
-                    ruleStringLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getStringLiteralParserRuleCall_7()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1431:6: ( ruleBoolLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1431:6: ( ruleBoolLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1432:1: ruleBoolLiteral
-                    {
-                     before(grammarAccess.getProductAccess().getBoolLiteralParserRuleCall_8()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_rule__Product__Alternatives3157);
-                    ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getBoolLiteralParserRuleCall_8()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1437:6: ( ruleIntLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1437:6: ( ruleIntLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1438:1: ruleIntLiteral
-                    {
-                     before(grammarAccess.getProductAccess().getIntLiteralParserRuleCall_9()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_rule__Product__Alternatives3174);
-                    ruleIntLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getIntLiteralParserRuleCall_9()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1443:6: ( ruleDoubleLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1443:6: ( ruleDoubleLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1444:1: ruleDoubleLiteral
-                    {
-                     before(grammarAccess.getProductAccess().getDoubleLiteralParserRuleCall_10()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_rule__Product__Alternatives3191);
-                    ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getDoubleLiteralParserRuleCall_10()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1449:6: ( ruleFormalParameter )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1449:6: ( ruleFormalParameter )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1450:1: ruleFormalParameter
-                    {
-                     before(grammarAccess.getProductAccess().getFormalParameterParserRuleCall_11()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_rule__Product__Alternatives3208);
-                    ruleFormalParameter();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getFormalParameterParserRuleCall_11()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1455:6: ( ruleProbabilityMassFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1455:6: ( ruleProbabilityMassFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1456:1: ruleProbabilityMassFunction
-                    {
-                     before(grammarAccess.getProductAccess().getProbabilityMassFunctionParserRuleCall_12()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_rule__Product__Alternatives3225);
-                    ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getProbabilityMassFunctionParserRuleCall_12()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1461:6: ( ruleBoxedPDF )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1461:6: ( ruleBoxedPDF )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1462:1: ruleBoxedPDF
-                    {
-                     before(grammarAccess.getProductAccess().getBoxedPDFParserRuleCall_13()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_rule__Product__Alternatives3242);
-                    ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getBoxedPDFParserRuleCall_13()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1467:6: ( ruleNormalDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1467:6: ( ruleNormalDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1468:1: ruleNormalDistribution
-                    {
-                     before(grammarAccess.getProductAccess().getNormalDistributionParserRuleCall_14()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_rule__Product__Alternatives3259);
-                    ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getNormalDistributionParserRuleCall_14()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 16 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1473:6: ( ruleExponentialDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1473:6: ( ruleExponentialDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1474:1: ruleExponentialDistribution
-                    {
-                     before(grammarAccess.getProductAccess().getExponentialDistributionParserRuleCall_15()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_rule__Product__Alternatives3276);
-                    ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getProductAccess().getExponentialDistributionParserRuleCall_15()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Product__Alternatives"
-
-
-    // $ANTLR start "rule__Power__Alternatives"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1484:1: rule__Power__Alternatives : ( ( rulePowerExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) );
-    public final void rule__Power__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1488:1: ( ( rulePowerExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) )
-            int alt4=15;
-            switch ( input.LA(1) ) {
-            case 26:
-                {
-                alt4=1;
-                }
-                break;
-            case 30:
-                {
-                alt4=2;
-                }
-                break;
-            case 32:
-                {
-                alt4=3;
-                }
-                break;
-            case 37:
-                {
-                alt4=4;
-                }
-                break;
-            case 41:
-                {
-                alt4=5;
-                }
-                break;
-            case 43:
-                {
-                alt4=6;
-                }
-                break;
-            case 44:
-                {
-                alt4=7;
-                }
-                break;
-            case 45:
-                {
-                alt4=8;
-                }
-                break;
-            case 47:
-                {
-                alt4=9;
-                }
-                break;
-            case 48:
-                {
-                alt4=10;
-                }
-                break;
-            case 49:
-                {
-                alt4=11;
-                }
-                break;
-            case 50:
-                {
-                alt4=12;
-                }
-                break;
-            case 52:
-                {
-                alt4=13;
-                }
-                break;
-            case 53:
-                {
-                alt4=14;
-                }
-                break;
-            case 56:
-                {
-                alt4=15;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 4, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt4) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1489:1: ( rulePowerExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1489:1: ( rulePowerExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1490:1: rulePowerExpression
-                    {
-                     before(grammarAccess.getPowerAccess().getPowerExpressionParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_rule__Power__Alternatives3308);
-                    rulePowerExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getPowerExpressionParserRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1495:6: ( ruleNotExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1495:6: ( ruleNotExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1496:1: ruleNotExpression
-                    {
-                     before(grammarAccess.getPowerAccess().getNotExpressionParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_rule__Power__Alternatives3325);
-                    ruleNotExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getNotExpressionParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1501:6: ( ruleNegativeExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1501:6: ( ruleNegativeExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1502:1: ruleNegativeExpression
-                    {
-                     before(grammarAccess.getPowerAccess().getNegativeExpressionParserRuleCall_2()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_rule__Power__Alternatives3342);
-                    ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getNegativeExpressionParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1507:6: ( ruleFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1507:6: ( ruleFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1508:1: ruleFunction
-                    {
-                     before(grammarAccess.getPowerAccess().getFunctionParserRuleCall_3()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_rule__Power__Alternatives3359);
-                    ruleFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getFunctionParserRuleCall_3()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1513:6: ( ruleParenthesis )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1513:6: ( ruleParenthesis )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1514:1: ruleParenthesis
-                    {
-                     before(grammarAccess.getPowerAccess().getParenthesisParserRuleCall_4()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_rule__Power__Alternatives3376);
-                    ruleParenthesis();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getParenthesisParserRuleCall_4()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1519:6: ( ruleLiteral_Impl )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1519:6: ( ruleLiteral_Impl )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1520:1: ruleLiteral_Impl
-                    {
-                     before(grammarAccess.getPowerAccess().getLiteral_ImplParserRuleCall_5()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_rule__Power__Alternatives3393);
-                    ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getLiteral_ImplParserRuleCall_5()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1525:6: ( ruleStringLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1525:6: ( ruleStringLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1526:1: ruleStringLiteral
-                    {
-                     before(grammarAccess.getPowerAccess().getStringLiteralParserRuleCall_6()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_rule__Power__Alternatives3410);
-                    ruleStringLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getStringLiteralParserRuleCall_6()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1531:6: ( ruleBoolLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1531:6: ( ruleBoolLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1532:1: ruleBoolLiteral
-                    {
-                     before(grammarAccess.getPowerAccess().getBoolLiteralParserRuleCall_7()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_rule__Power__Alternatives3427);
-                    ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getBoolLiteralParserRuleCall_7()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1537:6: ( ruleIntLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1537:6: ( ruleIntLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1538:1: ruleIntLiteral
-                    {
-                     before(grammarAccess.getPowerAccess().getIntLiteralParserRuleCall_8()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_rule__Power__Alternatives3444);
-                    ruleIntLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getIntLiteralParserRuleCall_8()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1543:6: ( ruleDoubleLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1543:6: ( ruleDoubleLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1544:1: ruleDoubleLiteral
-                    {
-                     before(grammarAccess.getPowerAccess().getDoubleLiteralParserRuleCall_9()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_rule__Power__Alternatives3461);
-                    ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getDoubleLiteralParserRuleCall_9()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1549:6: ( ruleFormalParameter )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1549:6: ( ruleFormalParameter )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1550:1: ruleFormalParameter
-                    {
-                     before(grammarAccess.getPowerAccess().getFormalParameterParserRuleCall_10()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_rule__Power__Alternatives3478);
-                    ruleFormalParameter();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getFormalParameterParserRuleCall_10()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1555:6: ( ruleProbabilityMassFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1555:6: ( ruleProbabilityMassFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1556:1: ruleProbabilityMassFunction
-                    {
-                     before(grammarAccess.getPowerAccess().getProbabilityMassFunctionParserRuleCall_11()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_rule__Power__Alternatives3495);
-                    ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getProbabilityMassFunctionParserRuleCall_11()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1561:6: ( ruleBoxedPDF )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1561:6: ( ruleBoxedPDF )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1562:1: ruleBoxedPDF
-                    {
-                     before(grammarAccess.getPowerAccess().getBoxedPDFParserRuleCall_12()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_rule__Power__Alternatives3512);
-                    ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getBoxedPDFParserRuleCall_12()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1567:6: ( ruleNormalDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1567:6: ( ruleNormalDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1568:1: ruleNormalDistribution
-                    {
-                     before(grammarAccess.getPowerAccess().getNormalDistributionParserRuleCall_13()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_rule__Power__Alternatives3529);
-                    ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getNormalDistributionParserRuleCall_13()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1573:6: ( ruleExponentialDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1573:6: ( ruleExponentialDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1574:1: ruleExponentialDistribution
-                    {
-                     before(grammarAccess.getPowerAccess().getExponentialDistributionParserRuleCall_14()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_rule__Power__Alternatives3546);
-                    ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getPowerAccess().getExponentialDistributionParserRuleCall_14()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Power__Alternatives"
-
-
-    // $ANTLR start "rule__Unary__Alternatives"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1584:1: rule__Unary__Alternatives : ( ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) );
-    public final void rule__Unary__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1588:1: ( ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) )
-            int alt5=14;
-            switch ( input.LA(1) ) {
-            case 30:
-                {
-                alt5=1;
-                }
-                break;
-            case 32:
-                {
-                alt5=2;
-                }
-                break;
-            case 37:
-                {
-                alt5=3;
-                }
-                break;
-            case 41:
-                {
-                alt5=4;
-                }
-                break;
-            case 43:
-                {
-                alt5=5;
-                }
-                break;
-            case 44:
-                {
-                alt5=6;
-                }
-                break;
-            case 45:
-                {
-                alt5=7;
-                }
-                break;
-            case 47:
-                {
-                alt5=8;
-                }
-                break;
-            case 48:
-                {
-                alt5=9;
-                }
-                break;
-            case 49:
-                {
-                alt5=10;
-                }
-                break;
-            case 50:
-                {
-                alt5=11;
-                }
-                break;
-            case 52:
-                {
-                alt5=12;
-                }
-                break;
-            case 53:
-                {
-                alt5=13;
-                }
-                break;
-            case 56:
-                {
-                alt5=14;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 5, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt5) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1589:1: ( ruleNotExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1589:1: ( ruleNotExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1590:1: ruleNotExpression
-                    {
-                     before(grammarAccess.getUnaryAccess().getNotExpressionParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_rule__Unary__Alternatives3578);
-                    ruleNotExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getNotExpressionParserRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1595:6: ( ruleNegativeExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1595:6: ( ruleNegativeExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1596:1: ruleNegativeExpression
-                    {
-                     before(grammarAccess.getUnaryAccess().getNegativeExpressionParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_rule__Unary__Alternatives3595);
-                    ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getNegativeExpressionParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1601:6: ( ruleFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1601:6: ( ruleFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1602:1: ruleFunction
-                    {
-                     before(grammarAccess.getUnaryAccess().getFunctionParserRuleCall_2()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_rule__Unary__Alternatives3612);
-                    ruleFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getFunctionParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1607:6: ( ruleParenthesis )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1607:6: ( ruleParenthesis )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1608:1: ruleParenthesis
-                    {
-                     before(grammarAccess.getUnaryAccess().getParenthesisParserRuleCall_3()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_rule__Unary__Alternatives3629);
-                    ruleParenthesis();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getParenthesisParserRuleCall_3()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1613:6: ( ruleLiteral_Impl )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1613:6: ( ruleLiteral_Impl )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1614:1: ruleLiteral_Impl
-                    {
-                     before(grammarAccess.getUnaryAccess().getLiteral_ImplParserRuleCall_4()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_rule__Unary__Alternatives3646);
-                    ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getLiteral_ImplParserRuleCall_4()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1619:6: ( ruleStringLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1619:6: ( ruleStringLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1620:1: ruleStringLiteral
-                    {
-                     before(grammarAccess.getUnaryAccess().getStringLiteralParserRuleCall_5()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_rule__Unary__Alternatives3663);
-                    ruleStringLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getStringLiteralParserRuleCall_5()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1625:6: ( ruleBoolLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1625:6: ( ruleBoolLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1626:1: ruleBoolLiteral
-                    {
-                     before(grammarAccess.getUnaryAccess().getBoolLiteralParserRuleCall_6()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_rule__Unary__Alternatives3680);
-                    ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getBoolLiteralParserRuleCall_6()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1631:6: ( ruleIntLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1631:6: ( ruleIntLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1632:1: ruleIntLiteral
-                    {
-                     before(grammarAccess.getUnaryAccess().getIntLiteralParserRuleCall_7()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_rule__Unary__Alternatives3697);
-                    ruleIntLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getIntLiteralParserRuleCall_7()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1637:6: ( ruleDoubleLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1637:6: ( ruleDoubleLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1638:1: ruleDoubleLiteral
-                    {
-                     before(grammarAccess.getUnaryAccess().getDoubleLiteralParserRuleCall_8()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_rule__Unary__Alternatives3714);
-                    ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getDoubleLiteralParserRuleCall_8()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1643:6: ( ruleFormalParameter )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1643:6: ( ruleFormalParameter )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1644:1: ruleFormalParameter
-                    {
-                     before(grammarAccess.getUnaryAccess().getFormalParameterParserRuleCall_9()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_rule__Unary__Alternatives3731);
-                    ruleFormalParameter();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getFormalParameterParserRuleCall_9()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1649:6: ( ruleProbabilityMassFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1649:6: ( ruleProbabilityMassFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1650:1: ruleProbabilityMassFunction
-                    {
-                     before(grammarAccess.getUnaryAccess().getProbabilityMassFunctionParserRuleCall_10()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_rule__Unary__Alternatives3748);
-                    ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getProbabilityMassFunctionParserRuleCall_10()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1655:6: ( ruleBoxedPDF )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1655:6: ( ruleBoxedPDF )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1656:1: ruleBoxedPDF
-                    {
-                     before(grammarAccess.getUnaryAccess().getBoxedPDFParserRuleCall_11()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_rule__Unary__Alternatives3765);
-                    ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getBoxedPDFParserRuleCall_11()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1661:6: ( ruleNormalDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1661:6: ( ruleNormalDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1662:1: ruleNormalDistribution
-                    {
-                     before(grammarAccess.getUnaryAccess().getNormalDistributionParserRuleCall_12()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_rule__Unary__Alternatives3782);
-                    ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getNormalDistributionParserRuleCall_12()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1667:6: ( ruleExponentialDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1667:6: ( ruleExponentialDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1668:1: ruleExponentialDistribution
-                    {
-                     before(grammarAccess.getUnaryAccess().getExponentialDistributionParserRuleCall_13()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_rule__Unary__Alternatives3799);
-                    ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getUnaryAccess().getExponentialDistributionParserRuleCall_13()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Unary__Alternatives"
-
-
-    // $ANTLR start "rule__BooleanExpression__Alternatives"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1678:1: rule__BooleanExpression__Alternatives : ( ( ruleTermExpression ) | ( ruleProductExpression ) | ( ruleCompareExpression ) | ( rulePowerExpression ) | ( ruleBooleanOperatorExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) );
-    public final void rule__BooleanExpression__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1682:1: ( ( ruleTermExpression ) | ( ruleProductExpression ) | ( ruleCompareExpression ) | ( rulePowerExpression ) | ( ruleBooleanOperatorExpression ) | ( ruleNotExpression ) | ( ruleNegativeExpression ) | ( ruleFunction ) | ( ruleParenthesis ) | ( ruleLiteral_Impl ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) | ( ruleIntLiteral ) | ( ruleDoubleLiteral ) | ( ruleFormalParameter ) | ( ruleProbabilityMassFunction ) | ( ruleBoxedPDF ) | ( ruleNormalDistribution ) | ( ruleExponentialDistribution ) )
-            int alt6=19;
-            switch ( input.LA(1) ) {
-            case 20:
-                {
-                alt6=1;
-                }
-                break;
-            case 21:
-                {
-                alt6=2;
-                }
-                break;
-            case 22:
-                {
-                alt6=3;
-                }
-                break;
-            case 26:
-                {
-                alt6=4;
-                }
-                break;
-            case 29:
-                {
-                alt6=5;
-                }
-                break;
-            case 30:
-                {
-                alt6=6;
-                }
-                break;
-            case 32:
-                {
-                alt6=7;
-                }
-                break;
-            case 37:
-                {
-                alt6=8;
-                }
-                break;
-            case 41:
-                {
-                alt6=9;
-                }
-                break;
-            case 43:
-                {
-                alt6=10;
-                }
-                break;
-            case 44:
-                {
-                alt6=11;
-                }
-                break;
-            case 45:
-                {
-                alt6=12;
-                }
-                break;
-            case 47:
-                {
-                alt6=13;
-                }
-                break;
-            case 48:
-                {
-                alt6=14;
-                }
-                break;
-            case 49:
-                {
-                alt6=15;
-                }
-                break;
-            case 50:
-                {
-                alt6=16;
-                }
-                break;
-            case 52:
-                {
-                alt6=17;
-                }
-                break;
-            case 53:
-                {
-                alt6=18;
-                }
-                break;
-            case 56:
-                {
-                alt6=19;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt6) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1683:1: ( ruleTermExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1683:1: ( ruleTermExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1684:1: ruleTermExpression
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getTermExpressionParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleTermExpression_in_rule__BooleanExpression__Alternatives3831);
-                    ruleTermExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getTermExpressionParserRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1689:6: ( ruleProductExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1689:6: ( ruleProductExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1690:1: ruleProductExpression
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getProductExpressionParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_rule__BooleanExpression__Alternatives3848);
-                    ruleProductExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getProductExpressionParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1695:6: ( ruleCompareExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1695:6: ( ruleCompareExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1696:1: ruleCompareExpression
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getCompareExpressionParserRuleCall_2()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleCompareExpression_in_rule__BooleanExpression__Alternatives3865);
-                    ruleCompareExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getCompareExpressionParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1701:6: ( rulePowerExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1701:6: ( rulePowerExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1702:1: rulePowerExpression
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getPowerExpressionParserRuleCall_3()); 
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_rule__BooleanExpression__Alternatives3882);
-                    rulePowerExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getPowerExpressionParserRuleCall_3()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1707:6: ( ruleBooleanOperatorExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1707:6: ( ruleBooleanOperatorExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1708:1: ruleBooleanOperatorExpression
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBooleanOperatorExpression_in_rule__BooleanExpression__Alternatives3899);
-                    ruleBooleanOperatorExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1713:6: ( ruleNotExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1713:6: ( ruleNotExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1714:1: ruleNotExpression
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getNotExpressionParserRuleCall_5()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_rule__BooleanExpression__Alternatives3916);
-                    ruleNotExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getNotExpressionParserRuleCall_5()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1719:6: ( ruleNegativeExpression )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1719:6: ( ruleNegativeExpression )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1720:1: ruleNegativeExpression
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getNegativeExpressionParserRuleCall_6()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_rule__BooleanExpression__Alternatives3933);
-                    ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getNegativeExpressionParserRuleCall_6()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1725:6: ( ruleFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1725:6: ( ruleFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1726:1: ruleFunction
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getFunctionParserRuleCall_7()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_rule__BooleanExpression__Alternatives3950);
-                    ruleFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getFunctionParserRuleCall_7()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1731:6: ( ruleParenthesis )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1731:6: ( ruleParenthesis )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1732:1: ruleParenthesis
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getParenthesisParserRuleCall_8()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_rule__BooleanExpression__Alternatives3967);
-                    ruleParenthesis();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getParenthesisParserRuleCall_8()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1737:6: ( ruleLiteral_Impl )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1737:6: ( ruleLiteral_Impl )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1738:1: ruleLiteral_Impl
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getLiteral_ImplParserRuleCall_9()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_rule__BooleanExpression__Alternatives3984);
-                    ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getLiteral_ImplParserRuleCall_9()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1743:6: ( ruleStringLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1743:6: ( ruleStringLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1744:1: ruleStringLiteral
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getStringLiteralParserRuleCall_10()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_rule__BooleanExpression__Alternatives4001);
-                    ruleStringLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getStringLiteralParserRuleCall_10()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1749:6: ( ruleBoolLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1749:6: ( ruleBoolLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1750:1: ruleBoolLiteral
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getBoolLiteralParserRuleCall_11()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_rule__BooleanExpression__Alternatives4018);
-                    ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getBoolLiteralParserRuleCall_11()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1755:6: ( ruleIntLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1755:6: ( ruleIntLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1756:1: ruleIntLiteral
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getIntLiteralParserRuleCall_12()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_rule__BooleanExpression__Alternatives4035);
-                    ruleIntLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getIntLiteralParserRuleCall_12()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1761:6: ( ruleDoubleLiteral )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1761:6: ( ruleDoubleLiteral )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1762:1: ruleDoubleLiteral
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getDoubleLiteralParserRuleCall_13()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_rule__BooleanExpression__Alternatives4052);
-                    ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getDoubleLiteralParserRuleCall_13()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1767:6: ( ruleFormalParameter )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1767:6: ( ruleFormalParameter )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1768:1: ruleFormalParameter
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getFormalParameterParserRuleCall_14()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_rule__BooleanExpression__Alternatives4069);
-                    ruleFormalParameter();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getFormalParameterParserRuleCall_14()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 16 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1773:6: ( ruleProbabilityMassFunction )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1773:6: ( ruleProbabilityMassFunction )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1774:1: ruleProbabilityMassFunction
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getProbabilityMassFunctionParserRuleCall_15()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_rule__BooleanExpression__Alternatives4086);
-                    ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getProbabilityMassFunctionParserRuleCall_15()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 17 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1779:6: ( ruleBoxedPDF )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1779:6: ( ruleBoxedPDF )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1780:1: ruleBoxedPDF
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getBoxedPDFParserRuleCall_16()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_rule__BooleanExpression__Alternatives4103);
-                    ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getBoxedPDFParserRuleCall_16()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 18 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1785:6: ( ruleNormalDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1785:6: ( ruleNormalDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1786:1: ruleNormalDistribution
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getNormalDistributionParserRuleCall_17()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_rule__BooleanExpression__Alternatives4120);
-                    ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getNormalDistributionParserRuleCall_17()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 19 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1791:6: ( ruleExponentialDistribution )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1791:6: ( ruleExponentialDistribution )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1792:1: ruleExponentialDistribution
-                    {
-                     before(grammarAccess.getBooleanExpressionAccess().getExponentialDistributionParserRuleCall_18()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_rule__BooleanExpression__Alternatives4137);
-                    ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getBooleanExpressionAccess().getExponentialDistributionParserRuleCall_18()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanExpression__Alternatives"
-
-
-    // $ANTLR start "rule__EString__Alternatives"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1802:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) );
-    public final void rule__EString__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1806:1: ( ( RULE_STRING ) | ( RULE_ID ) )
-            int alt7=2;
-            int LA7_0 = input.LA(1);
-
-            if ( (LA7_0==RULE_STRING) ) {
-                alt7=1;
-            }
-            else if ( (LA7_0==RULE_ID) ) {
-                alt7=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 7, 0, input);
-
-                throw nvae;
-            }
-            switch (alt7) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1807:1: ( RULE_STRING )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1807:1: ( RULE_STRING )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1808:1: RULE_STRING
-                    {
-                     before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-                    match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EString__Alternatives4169); 
-                     after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1813:6: ( RULE_ID )
-                    {
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1813:6: ( RULE_ID )
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1814:1: RULE_ID
-                    {
-                     before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-                    match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EString__Alternatives4186); 
-                     after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EString__Alternatives"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1827:1: rule__ExplicitFunction__Group__0 : rule__ExplicitFunction__Group__0__Impl rule__ExplicitFunction__Group__1 ;
-    public final void rule__ExplicitFunction__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1831:1: ( rule__ExplicitFunction__Group__0__Impl rule__ExplicitFunction__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1832:2: rule__ExplicitFunction__Group__0__Impl rule__ExplicitFunction__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__0__Impl_in_rule__ExplicitFunction__Group__04217);
-            rule__ExplicitFunction__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__1_in_rule__ExplicitFunction__Group__04220);
-            rule__ExplicitFunction__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__0"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1839:1: rule__ExplicitFunction__Group__0__Impl : ( () ) ;
-    public final void rule__ExplicitFunction__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1843:1: ( ( () ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1844:1: ( () )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1844:1: ( () )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1845:1: ()
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getExplicitFunctionAction_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1846:1: ()
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1848:1: 
-            {
-            }
-
-             after(grammarAccess.getExplicitFunctionAccess().getExplicitFunctionAction_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__0__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1858:1: rule__ExplicitFunction__Group__1 : rule__ExplicitFunction__Group__1__Impl rule__ExplicitFunction__Group__2 ;
-    public final void rule__ExplicitFunction__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1862:1: ( rule__ExplicitFunction__Group__1__Impl rule__ExplicitFunction__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1863:2: rule__ExplicitFunction__Group__1__Impl rule__ExplicitFunction__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__1__Impl_in_rule__ExplicitFunction__Group__14278);
-            rule__ExplicitFunction__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__2_in_rule__ExplicitFunction__Group__14281);
-            rule__ExplicitFunction__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__1"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1870:1: rule__ExplicitFunction__Group__1__Impl : ( 'ExplicitFunction' ) ;
-    public final void rule__ExplicitFunction__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1874:1: ( ( 'ExplicitFunction' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1875:1: ( 'ExplicitFunction' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1875:1: ( 'ExplicitFunction' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1876:1: 'ExplicitFunction'
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getExplicitFunctionKeyword_1()); 
-            match(input,15,FollowSets000.FOLLOW_15_in_rule__ExplicitFunction__Group__1__Impl4309); 
-             after(grammarAccess.getExplicitFunctionAccess().getExplicitFunctionKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__1__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1889:1: rule__ExplicitFunction__Group__2 : rule__ExplicitFunction__Group__2__Impl rule__ExplicitFunction__Group__3 ;
-    public final void rule__ExplicitFunction__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1893:1: ( rule__ExplicitFunction__Group__2__Impl rule__ExplicitFunction__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1894:2: rule__ExplicitFunction__Group__2__Impl rule__ExplicitFunction__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__2__Impl_in_rule__ExplicitFunction__Group__24340);
-            rule__ExplicitFunction__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__3_in_rule__ExplicitFunction__Group__24343);
-            rule__ExplicitFunction__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__2"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1901:1: rule__ExplicitFunction__Group__2__Impl : ( '{' ) ;
-    public final void rule__ExplicitFunction__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1905:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1906:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1906:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1907:1: '{'
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__ExplicitFunction__Group__2__Impl4371); 
-             after(grammarAccess.getExplicitFunctionAccess().getLeftCurlyBracketKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__2__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1920:1: rule__ExplicitFunction__Group__3 : rule__ExplicitFunction__Group__3__Impl rule__ExplicitFunction__Group__4 ;
-    public final void rule__ExplicitFunction__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1924:1: ( rule__ExplicitFunction__Group__3__Impl rule__ExplicitFunction__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1925:2: rule__ExplicitFunction__Group__3__Impl rule__ExplicitFunction__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__3__Impl_in_rule__ExplicitFunction__Group__34402);
-            rule__ExplicitFunction__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__4_in_rule__ExplicitFunction__Group__34405);
-            rule__ExplicitFunction__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__3"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1932:1: rule__ExplicitFunction__Group__3__Impl : ( ( rule__ExplicitFunction__Group_3__0 )? ) ;
-    public final void rule__ExplicitFunction__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1936:1: ( ( ( rule__ExplicitFunction__Group_3__0 )? ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1937:1: ( ( rule__ExplicitFunction__Group_3__0 )? )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1937:1: ( ( rule__ExplicitFunction__Group_3__0 )? )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1938:1: ( rule__ExplicitFunction__Group_3__0 )?
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getGroup_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1939:1: ( rule__ExplicitFunction__Group_3__0 )?
-            int alt8=2;
-            int LA8_0 = input.LA(1);
-
-            if ( (LA8_0==18) ) {
-                alt8=1;
-            }
-            switch (alt8) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1939:2: rule__ExplicitFunction__Group_3__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group_3__0_in_rule__ExplicitFunction__Group__3__Impl4432);
-                    rule__ExplicitFunction__Group_3__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getExplicitFunctionAccess().getGroup_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__3__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1949:1: rule__ExplicitFunction__Group__4 : rule__ExplicitFunction__Group__4__Impl rule__ExplicitFunction__Group__5 ;
-    public final void rule__ExplicitFunction__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1953:1: ( rule__ExplicitFunction__Group__4__Impl rule__ExplicitFunction__Group__5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1954:2: rule__ExplicitFunction__Group__4__Impl rule__ExplicitFunction__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__4__Impl_in_rule__ExplicitFunction__Group__44463);
-            rule__ExplicitFunction__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__5_in_rule__ExplicitFunction__Group__44466);
-            rule__ExplicitFunction__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__4"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1961:1: rule__ExplicitFunction__Group__4__Impl : ( ( rule__ExplicitFunction__Group_4__0 )? ) ;
-    public final void rule__ExplicitFunction__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1965:1: ( ( ( rule__ExplicitFunction__Group_4__0 )? ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1966:1: ( ( rule__ExplicitFunction__Group_4__0 )? )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1966:1: ( ( rule__ExplicitFunction__Group_4__0 )? )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1967:1: ( rule__ExplicitFunction__Group_4__0 )?
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getGroup_4()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1968:1: ( rule__ExplicitFunction__Group_4__0 )?
-            int alt9=2;
-            int LA9_0 = input.LA(1);
-
-            if ( (LA9_0==19) ) {
-                alt9=1;
-            }
-            switch (alt9) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1968:2: rule__ExplicitFunction__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group_4__0_in_rule__ExplicitFunction__Group__4__Impl4493);
-                    rule__ExplicitFunction__Group_4__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getExplicitFunctionAccess().getGroup_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__4__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1978:1: rule__ExplicitFunction__Group__5 : rule__ExplicitFunction__Group__5__Impl ;
-    public final void rule__ExplicitFunction__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1982:1: ( rule__ExplicitFunction__Group__5__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1983:2: rule__ExplicitFunction__Group__5__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group__5__Impl_in_rule__ExplicitFunction__Group__54524);
-            rule__ExplicitFunction__Group__5__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__5"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group__5__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1989:1: rule__ExplicitFunction__Group__5__Impl : ( '}' ) ;
-    public final void rule__ExplicitFunction__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1993:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1994:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1994:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:1995:1: '}'
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__ExplicitFunction__Group__5__Impl4552); 
-             after(grammarAccess.getExplicitFunctionAccess().getRightCurlyBracketKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group__5__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group_3__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2020:1: rule__ExplicitFunction__Group_3__0 : rule__ExplicitFunction__Group_3__0__Impl rule__ExplicitFunction__Group_3__1 ;
-    public final void rule__ExplicitFunction__Group_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2024:1: ( rule__ExplicitFunction__Group_3__0__Impl rule__ExplicitFunction__Group_3__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2025:2: rule__ExplicitFunction__Group_3__0__Impl rule__ExplicitFunction__Group_3__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group_3__0__Impl_in_rule__ExplicitFunction__Group_3__04595);
-            rule__ExplicitFunction__Group_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group_3__1_in_rule__ExplicitFunction__Group_3__04598);
-            rule__ExplicitFunction__Group_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group_3__0"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group_3__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2032:1: rule__ExplicitFunction__Group_3__0__Impl : ( 'specification' ) ;
-    public final void rule__ExplicitFunction__Group_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2036:1: ( ( 'specification' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2037:1: ( 'specification' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2037:1: ( 'specification' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2038:1: 'specification'
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getSpecificationKeyword_3_0()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__ExplicitFunction__Group_3__0__Impl4626); 
-             after(grammarAccess.getExplicitFunctionAccess().getSpecificationKeyword_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group_3__0__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group_3__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2051:1: rule__ExplicitFunction__Group_3__1 : rule__ExplicitFunction__Group_3__1__Impl ;
-    public final void rule__ExplicitFunction__Group_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2055:1: ( rule__ExplicitFunction__Group_3__1__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2056:2: rule__ExplicitFunction__Group_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group_3__1__Impl_in_rule__ExplicitFunction__Group_3__14657);
-            rule__ExplicitFunction__Group_3__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group_3__1"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group_3__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2062:1: rule__ExplicitFunction__Group_3__1__Impl : ( ( rule__ExplicitFunction__SpecificationAssignment_3_1 ) ) ;
-    public final void rule__ExplicitFunction__Group_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2066:1: ( ( ( rule__ExplicitFunction__SpecificationAssignment_3_1 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2067:1: ( ( rule__ExplicitFunction__SpecificationAssignment_3_1 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2067:1: ( ( rule__ExplicitFunction__SpecificationAssignment_3_1 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2068:1: ( rule__ExplicitFunction__SpecificationAssignment_3_1 )
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getSpecificationAssignment_3_1()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2069:1: ( rule__ExplicitFunction__SpecificationAssignment_3_1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2069:2: rule__ExplicitFunction__SpecificationAssignment_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__SpecificationAssignment_3_1_in_rule__ExplicitFunction__Group_3__1__Impl4684);
-            rule__ExplicitFunction__SpecificationAssignment_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getExplicitFunctionAccess().getSpecificationAssignment_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group_3__1__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group_4__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2083:1: rule__ExplicitFunction__Group_4__0 : rule__ExplicitFunction__Group_4__0__Impl rule__ExplicitFunction__Group_4__1 ;
-    public final void rule__ExplicitFunction__Group_4__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2087:1: ( rule__ExplicitFunction__Group_4__0__Impl rule__ExplicitFunction__Group_4__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2088:2: rule__ExplicitFunction__Group_4__0__Impl rule__ExplicitFunction__Group_4__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group_4__0__Impl_in_rule__ExplicitFunction__Group_4__04718);
-            rule__ExplicitFunction__Group_4__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group_4__1_in_rule__ExplicitFunction__Group_4__04721);
-            rule__ExplicitFunction__Group_4__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group_4__0"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group_4__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2095:1: rule__ExplicitFunction__Group_4__0__Impl : ( 'expression' ) ;
-    public final void rule__ExplicitFunction__Group_4__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2099:1: ( ( 'expression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2100:1: ( 'expression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2100:1: ( 'expression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2101:1: 'expression'
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getExpressionKeyword_4_0()); 
-            match(input,19,FollowSets000.FOLLOW_19_in_rule__ExplicitFunction__Group_4__0__Impl4749); 
-             after(grammarAccess.getExplicitFunctionAccess().getExpressionKeyword_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group_4__0__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group_4__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2114:1: rule__ExplicitFunction__Group_4__1 : rule__ExplicitFunction__Group_4__1__Impl ;
-    public final void rule__ExplicitFunction__Group_4__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2118:1: ( rule__ExplicitFunction__Group_4__1__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2119:2: rule__ExplicitFunction__Group_4__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__Group_4__1__Impl_in_rule__ExplicitFunction__Group_4__14780);
-            rule__ExplicitFunction__Group_4__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group_4__1"
-
-
-    // $ANTLR start "rule__ExplicitFunction__Group_4__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2125:1: rule__ExplicitFunction__Group_4__1__Impl : ( ( rule__ExplicitFunction__ExpressionAssignment_4_1 ) ) ;
-    public final void rule__ExplicitFunction__Group_4__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2129:1: ( ( ( rule__ExplicitFunction__ExpressionAssignment_4_1 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2130:1: ( ( rule__ExplicitFunction__ExpressionAssignment_4_1 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2130:1: ( ( rule__ExplicitFunction__ExpressionAssignment_4_1 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2131:1: ( rule__ExplicitFunction__ExpressionAssignment_4_1 )
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getExpressionAssignment_4_1()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2132:1: ( rule__ExplicitFunction__ExpressionAssignment_4_1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2132:2: rule__ExplicitFunction__ExpressionAssignment_4_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExplicitFunction__ExpressionAssignment_4_1_in_rule__ExplicitFunction__Group_4__1__Impl4807);
-            rule__ExplicitFunction__ExpressionAssignment_4_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getExplicitFunctionAccess().getExpressionAssignment_4_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__Group_4__1__Impl"
-
-
-    // $ANTLR start "rule__TermExpression__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2146:1: rule__TermExpression__Group__0 : rule__TermExpression__Group__0__Impl rule__TermExpression__Group__1 ;
-    public final void rule__TermExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2150:1: ( rule__TermExpression__Group__0__Impl rule__TermExpression__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2151:2: rule__TermExpression__Group__0__Impl rule__TermExpression__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__0__Impl_in_rule__TermExpression__Group__04841);
-            rule__TermExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__1_in_rule__TermExpression__Group__04844);
-            rule__TermExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__0"
-
-
-    // $ANTLR start "rule__TermExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2158:1: rule__TermExpression__Group__0__Impl : ( 'TermExpression' ) ;
-    public final void rule__TermExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2162:1: ( ( 'TermExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2163:1: ( 'TermExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2163:1: ( 'TermExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2164:1: 'TermExpression'
-            {
-             before(grammarAccess.getTermExpressionAccess().getTermExpressionKeyword_0()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__TermExpression__Group__0__Impl4872); 
-             after(grammarAccess.getTermExpressionAccess().getTermExpressionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__TermExpression__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2177:1: rule__TermExpression__Group__1 : rule__TermExpression__Group__1__Impl rule__TermExpression__Group__2 ;
-    public final void rule__TermExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2181:1: ( rule__TermExpression__Group__1__Impl rule__TermExpression__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2182:2: rule__TermExpression__Group__1__Impl rule__TermExpression__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__1__Impl_in_rule__TermExpression__Group__14903);
-            rule__TermExpression__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__2_in_rule__TermExpression__Group__14906);
-            rule__TermExpression__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__1"
-
-
-    // $ANTLR start "rule__TermExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2189:1: rule__TermExpression__Group__1__Impl : ( '{' ) ;
-    public final void rule__TermExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2193:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2194:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2194:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2195:1: '{'
-            {
-             before(grammarAccess.getTermExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__TermExpression__Group__1__Impl4934); 
-             after(grammarAccess.getTermExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__TermExpression__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2208:1: rule__TermExpression__Group__2 : rule__TermExpression__Group__2__Impl rule__TermExpression__Group__3 ;
-    public final void rule__TermExpression__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2212:1: ( rule__TermExpression__Group__2__Impl rule__TermExpression__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2213:2: rule__TermExpression__Group__2__Impl rule__TermExpression__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__2__Impl_in_rule__TermExpression__Group__24965);
-            rule__TermExpression__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__3_in_rule__TermExpression__Group__24968);
-            rule__TermExpression__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__2"
-
-
-    // $ANTLR start "rule__TermExpression__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2220:1: rule__TermExpression__Group__2__Impl : ( ruleTermExpression2 ) ;
-    public final void rule__TermExpression__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2224:1: ( ( ruleTermExpression2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2225:1: ( ruleTermExpression2 )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2225:1: ( ruleTermExpression2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2226:1: ruleTermExpression2
-            {
-             before(grammarAccess.getTermExpressionAccess().getTermExpression2ParserRuleCall_2()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTermExpression2_in_rule__TermExpression__Group__2__Impl4995);
-            ruleTermExpression2();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermExpressionAccess().getTermExpression2ParserRuleCall_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__2__Impl"
-
-
-    // $ANTLR start "rule__TermExpression__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2237:1: rule__TermExpression__Group__3 : rule__TermExpression__Group__3__Impl rule__TermExpression__Group__4 ;
-    public final void rule__TermExpression__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2241:1: ( rule__TermExpression__Group__3__Impl rule__TermExpression__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2242:2: rule__TermExpression__Group__3__Impl rule__TermExpression__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__3__Impl_in_rule__TermExpression__Group__35024);
-            rule__TermExpression__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__4_in_rule__TermExpression__Group__35027);
-            rule__TermExpression__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__3"
-
-
-    // $ANTLR start "rule__TermExpression__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2249:1: rule__TermExpression__Group__3__Impl : ( ( rule__TermExpression__Group_3__0 )* ) ;
-    public final void rule__TermExpression__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2253:1: ( ( ( rule__TermExpression__Group_3__0 )* ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2254:1: ( ( rule__TermExpression__Group_3__0 )* )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2254:1: ( ( rule__TermExpression__Group_3__0 )* )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2255:1: ( rule__TermExpression__Group_3__0 )*
-            {
-             before(grammarAccess.getTermExpressionAccess().getGroup_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2256:1: ( rule__TermExpression__Group_3__0 )*
-            loop10:
-            do {
-                int alt10=2;
-                int LA10_0 = input.LA(1);
-
-                if ( (LA10_0==11) ) {
-                    alt10=1;
-                }
-
-
-                switch (alt10) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2256:2: rule__TermExpression__Group_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group_3__0_in_rule__TermExpression__Group__3__Impl5054);
-            	    rule__TermExpression__Group_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop10;
-                }
-            } while (true);
-
-             after(grammarAccess.getTermExpressionAccess().getGroup_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__3__Impl"
-
-
-    // $ANTLR start "rule__TermExpression__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2266:1: rule__TermExpression__Group__4 : rule__TermExpression__Group__4__Impl ;
-    public final void rule__TermExpression__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2270:1: ( rule__TermExpression__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2271:2: rule__TermExpression__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group__4__Impl_in_rule__TermExpression__Group__45085);
-            rule__TermExpression__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__4"
-
-
-    // $ANTLR start "rule__TermExpression__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2277:1: rule__TermExpression__Group__4__Impl : ( '}' ) ;
-    public final void rule__TermExpression__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2281:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2282:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2282:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2283:1: '}'
-            {
-             before(grammarAccess.getTermExpressionAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__TermExpression__Group__4__Impl5113); 
-             after(grammarAccess.getTermExpressionAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group__4__Impl"
-
-
-    // $ANTLR start "rule__TermExpression__Group_3__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2306:1: rule__TermExpression__Group_3__0 : rule__TermExpression__Group_3__0__Impl rule__TermExpression__Group_3__1 ;
-    public final void rule__TermExpression__Group_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2310:1: ( rule__TermExpression__Group_3__0__Impl rule__TermExpression__Group_3__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2311:2: rule__TermExpression__Group_3__0__Impl rule__TermExpression__Group_3__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group_3__0__Impl_in_rule__TermExpression__Group_3__05154);
-            rule__TermExpression__Group_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group_3__1_in_rule__TermExpression__Group_3__05157);
-            rule__TermExpression__Group_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group_3__0"
-
-
-    // $ANTLR start "rule__TermExpression__Group_3__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2318:1: rule__TermExpression__Group_3__0__Impl : ( () ) ;
-    public final void rule__TermExpression__Group_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2322:1: ( ( () ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2323:1: ( () )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2323:1: ( () )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2324:1: ()
-            {
-             before(grammarAccess.getTermExpressionAccess().getTermExpressionLeftAction_3_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2325:1: ()
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2327:1: 
-            {
-            }
-
-             after(grammarAccess.getTermExpressionAccess().getTermExpressionLeftAction_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group_3__0__Impl"
-
-
-    // $ANTLR start "rule__TermExpression__Group_3__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2337:1: rule__TermExpression__Group_3__1 : rule__TermExpression__Group_3__1__Impl rule__TermExpression__Group_3__2 ;
-    public final void rule__TermExpression__Group_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2341:1: ( rule__TermExpression__Group_3__1__Impl rule__TermExpression__Group_3__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2342:2: rule__TermExpression__Group_3__1__Impl rule__TermExpression__Group_3__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group_3__1__Impl_in_rule__TermExpression__Group_3__15215);
-            rule__TermExpression__Group_3__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group_3__2_in_rule__TermExpression__Group_3__15218);
-            rule__TermExpression__Group_3__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group_3__1"
-
-
-    // $ANTLR start "rule__TermExpression__Group_3__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2349:1: rule__TermExpression__Group_3__1__Impl : ( ( rule__TermExpression__OperationAssignment_3_1 ) ) ;
-    public final void rule__TermExpression__Group_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2353:1: ( ( ( rule__TermExpression__OperationAssignment_3_1 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2354:1: ( ( rule__TermExpression__OperationAssignment_3_1 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2354:1: ( ( rule__TermExpression__OperationAssignment_3_1 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2355:1: ( rule__TermExpression__OperationAssignment_3_1 )
-            {
-             before(grammarAccess.getTermExpressionAccess().getOperationAssignment_3_1()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2356:1: ( rule__TermExpression__OperationAssignment_3_1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2356:2: rule__TermExpression__OperationAssignment_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__OperationAssignment_3_1_in_rule__TermExpression__Group_3__1__Impl5245);
-            rule__TermExpression__OperationAssignment_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermExpressionAccess().getOperationAssignment_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group_3__1__Impl"
-
-
-    // $ANTLR start "rule__TermExpression__Group_3__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2366:1: rule__TermExpression__Group_3__2 : rule__TermExpression__Group_3__2__Impl ;
-    public final void rule__TermExpression__Group_3__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2370:1: ( rule__TermExpression__Group_3__2__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2371:2: rule__TermExpression__Group_3__2__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__Group_3__2__Impl_in_rule__TermExpression__Group_3__25275);
-            rule__TermExpression__Group_3__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group_3__2"
-
-
-    // $ANTLR start "rule__TermExpression__Group_3__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2377:1: rule__TermExpression__Group_3__2__Impl : ( ( rule__TermExpression__RightAssignment_3_2 ) ) ;
-    public final void rule__TermExpression__Group_3__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2381:1: ( ( ( rule__TermExpression__RightAssignment_3_2 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2382:1: ( ( rule__TermExpression__RightAssignment_3_2 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2382:1: ( ( rule__TermExpression__RightAssignment_3_2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2383:1: ( rule__TermExpression__RightAssignment_3_2 )
-            {
-             before(grammarAccess.getTermExpressionAccess().getRightAssignment_3_2()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2384:1: ( rule__TermExpression__RightAssignment_3_2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2384:2: rule__TermExpression__RightAssignment_3_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression__RightAssignment_3_2_in_rule__TermExpression__Group_3__2__Impl5302);
-            rule__TermExpression__RightAssignment_3_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermExpressionAccess().getRightAssignment_3_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__Group_3__2__Impl"
-
-
-    // $ANTLR start "rule__TermExpression2__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2400:1: rule__TermExpression2__Group__0 : rule__TermExpression2__Group__0__Impl rule__TermExpression2__Group__1 ;
-    public final void rule__TermExpression2__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2404:1: ( rule__TermExpression2__Group__0__Impl rule__TermExpression2__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2405:2: rule__TermExpression2__Group__0__Impl rule__TermExpression2__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression2__Group__0__Impl_in_rule__TermExpression2__Group__05338);
-            rule__TermExpression2__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression2__Group__1_in_rule__TermExpression2__Group__05341);
-            rule__TermExpression2__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression2__Group__0"
-
-
-    // $ANTLR start "rule__TermExpression2__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2412:1: rule__TermExpression2__Group__0__Impl : ( ( rule__TermExpression2__LeftAssignment_0 ) ) ;
-    public final void rule__TermExpression2__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2416:1: ( ( ( rule__TermExpression2__LeftAssignment_0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2417:1: ( ( rule__TermExpression2__LeftAssignment_0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2417:1: ( ( rule__TermExpression2__LeftAssignment_0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2418:1: ( rule__TermExpression2__LeftAssignment_0 )
-            {
-             before(grammarAccess.getTermExpression2Access().getLeftAssignment_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2419:1: ( rule__TermExpression2__LeftAssignment_0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2419:2: rule__TermExpression2__LeftAssignment_0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression2__LeftAssignment_0_in_rule__TermExpression2__Group__0__Impl5368);
-            rule__TermExpression2__LeftAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermExpression2Access().getLeftAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression2__Group__0__Impl"
-
-
-    // $ANTLR start "rule__TermExpression2__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2429:1: rule__TermExpression2__Group__1 : rule__TermExpression2__Group__1__Impl rule__TermExpression2__Group__2 ;
-    public final void rule__TermExpression2__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2433:1: ( rule__TermExpression2__Group__1__Impl rule__TermExpression2__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2434:2: rule__TermExpression2__Group__1__Impl rule__TermExpression2__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression2__Group__1__Impl_in_rule__TermExpression2__Group__15398);
-            rule__TermExpression2__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression2__Group__2_in_rule__TermExpression2__Group__15401);
-            rule__TermExpression2__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression2__Group__1"
-
-
-    // $ANTLR start "rule__TermExpression2__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2441:1: rule__TermExpression2__Group__1__Impl : ( ( rule__TermExpression2__OperationAssignment_1 ) ) ;
-    public final void rule__TermExpression2__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2445:1: ( ( ( rule__TermExpression2__OperationAssignment_1 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2446:1: ( ( rule__TermExpression2__OperationAssignment_1 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2446:1: ( ( rule__TermExpression2__OperationAssignment_1 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2447:1: ( rule__TermExpression2__OperationAssignment_1 )
-            {
-             before(grammarAccess.getTermExpression2Access().getOperationAssignment_1()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2448:1: ( rule__TermExpression2__OperationAssignment_1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2448:2: rule__TermExpression2__OperationAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression2__OperationAssignment_1_in_rule__TermExpression2__Group__1__Impl5428);
-            rule__TermExpression2__OperationAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermExpression2Access().getOperationAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression2__Group__1__Impl"
-
-
-    // $ANTLR start "rule__TermExpression2__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2458:1: rule__TermExpression2__Group__2 : rule__TermExpression2__Group__2__Impl ;
-    public final void rule__TermExpression2__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2462:1: ( rule__TermExpression2__Group__2__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2463:2: rule__TermExpression2__Group__2__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression2__Group__2__Impl_in_rule__TermExpression2__Group__25458);
-            rule__TermExpression2__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression2__Group__2"
-
-
-    // $ANTLR start "rule__TermExpression2__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2469:1: rule__TermExpression2__Group__2__Impl : ( ( rule__TermExpression2__RightAssignment_2 ) ) ;
-    public final void rule__TermExpression2__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2473:1: ( ( ( rule__TermExpression2__RightAssignment_2 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2474:1: ( ( rule__TermExpression2__RightAssignment_2 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2474:1: ( ( rule__TermExpression2__RightAssignment_2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2475:1: ( rule__TermExpression2__RightAssignment_2 )
-            {
-             before(grammarAccess.getTermExpression2Access().getRightAssignment_2()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2476:1: ( rule__TermExpression2__RightAssignment_2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2476:2: rule__TermExpression2__RightAssignment_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__TermExpression2__RightAssignment_2_in_rule__TermExpression2__Group__2__Impl5485);
-            rule__TermExpression2__RightAssignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getTermExpression2Access().getRightAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression2__Group__2__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2492:1: rule__ProductExpression__Group__0 : rule__ProductExpression__Group__0__Impl rule__ProductExpression__Group__1 ;
-    public final void rule__ProductExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2496:1: ( rule__ProductExpression__Group__0__Impl rule__ProductExpression__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2497:2: rule__ProductExpression__Group__0__Impl rule__ProductExpression__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__0__Impl_in_rule__ProductExpression__Group__05521);
-            rule__ProductExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__1_in_rule__ProductExpression__Group__05524);
-            rule__ProductExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__0"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2504:1: rule__ProductExpression__Group__0__Impl : ( 'ProductExpression' ) ;
-    public final void rule__ProductExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2508:1: ( ( 'ProductExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2509:1: ( 'ProductExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2509:1: ( 'ProductExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2510:1: 'ProductExpression'
-            {
-             before(grammarAccess.getProductExpressionAccess().getProductExpressionKeyword_0()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__ProductExpression__Group__0__Impl5552); 
-             after(grammarAccess.getProductExpressionAccess().getProductExpressionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2523:1: rule__ProductExpression__Group__1 : rule__ProductExpression__Group__1__Impl rule__ProductExpression__Group__2 ;
-    public final void rule__ProductExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2527:1: ( rule__ProductExpression__Group__1__Impl rule__ProductExpression__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2528:2: rule__ProductExpression__Group__1__Impl rule__ProductExpression__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__1__Impl_in_rule__ProductExpression__Group__15583);
-            rule__ProductExpression__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__2_in_rule__ProductExpression__Group__15586);
-            rule__ProductExpression__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__1"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2535:1: rule__ProductExpression__Group__1__Impl : ( '{' ) ;
-    public final void rule__ProductExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2539:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2540:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2540:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2541:1: '{'
-            {
-             before(grammarAccess.getProductExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__ProductExpression__Group__1__Impl5614); 
-             after(grammarAccess.getProductExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2554:1: rule__ProductExpression__Group__2 : rule__ProductExpression__Group__2__Impl rule__ProductExpression__Group__3 ;
-    public final void rule__ProductExpression__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2558:1: ( rule__ProductExpression__Group__2__Impl rule__ProductExpression__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2559:2: rule__ProductExpression__Group__2__Impl rule__ProductExpression__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__2__Impl_in_rule__ProductExpression__Group__25645);
-            rule__ProductExpression__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__3_in_rule__ProductExpression__Group__25648);
-            rule__ProductExpression__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__2"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2566:1: rule__ProductExpression__Group__2__Impl : ( ruleProductExpression2 ) ;
-    public final void rule__ProductExpression__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2570:1: ( ( ruleProductExpression2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2571:1: ( ruleProductExpression2 )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2571:1: ( ruleProductExpression2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2572:1: ruleProductExpression2
-            {
-             before(grammarAccess.getProductExpressionAccess().getProductExpression2ParserRuleCall_2()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProductExpression2_in_rule__ProductExpression__Group__2__Impl5675);
-            ruleProductExpression2();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductExpressionAccess().getProductExpression2ParserRuleCall_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__2__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2583:1: rule__ProductExpression__Group__3 : rule__ProductExpression__Group__3__Impl rule__ProductExpression__Group__4 ;
-    public final void rule__ProductExpression__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2587:1: ( rule__ProductExpression__Group__3__Impl rule__ProductExpression__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2588:2: rule__ProductExpression__Group__3__Impl rule__ProductExpression__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__3__Impl_in_rule__ProductExpression__Group__35704);
-            rule__ProductExpression__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__4_in_rule__ProductExpression__Group__35707);
-            rule__ProductExpression__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__3"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2595:1: rule__ProductExpression__Group__3__Impl : ( ( rule__ProductExpression__Group_3__0 )* ) ;
-    public final void rule__ProductExpression__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2599:1: ( ( ( rule__ProductExpression__Group_3__0 )* ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2600:1: ( ( rule__ProductExpression__Group_3__0 )* )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2600:1: ( ( rule__ProductExpression__Group_3__0 )* )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2601:1: ( rule__ProductExpression__Group_3__0 )*
-            {
-             before(grammarAccess.getProductExpressionAccess().getGroup_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2602:1: ( rule__ProductExpression__Group_3__0 )*
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( (LA11_0==12) ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2602:2: rule__ProductExpression__Group_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group_3__0_in_rule__ProductExpression__Group__3__Impl5734);
-            	    rule__ProductExpression__Group_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop11;
-                }
-            } while (true);
-
-             after(grammarAccess.getProductExpressionAccess().getGroup_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__3__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2612:1: rule__ProductExpression__Group__4 : rule__ProductExpression__Group__4__Impl ;
-    public final void rule__ProductExpression__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2616:1: ( rule__ProductExpression__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2617:2: rule__ProductExpression__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group__4__Impl_in_rule__ProductExpression__Group__45765);
-            rule__ProductExpression__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__4"
-
-
-    // $ANTLR start "rule__ProductExpression__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2623:1: rule__ProductExpression__Group__4__Impl : ( '}' ) ;
-    public final void rule__ProductExpression__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2627:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2628:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2628:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2629:1: '}'
-            {
-             before(grammarAccess.getProductExpressionAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__ProductExpression__Group__4__Impl5793); 
-             after(grammarAccess.getProductExpressionAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group__4__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression__Group_3__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2652:1: rule__ProductExpression__Group_3__0 : rule__ProductExpression__Group_3__0__Impl rule__ProductExpression__Group_3__1 ;
-    public final void rule__ProductExpression__Group_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2656:1: ( rule__ProductExpression__Group_3__0__Impl rule__ProductExpression__Group_3__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2657:2: rule__ProductExpression__Group_3__0__Impl rule__ProductExpression__Group_3__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group_3__0__Impl_in_rule__ProductExpression__Group_3__05834);
-            rule__ProductExpression__Group_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group_3__1_in_rule__ProductExpression__Group_3__05837);
-            rule__ProductExpression__Group_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group_3__0"
-
-
-    // $ANTLR start "rule__ProductExpression__Group_3__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2664:1: rule__ProductExpression__Group_3__0__Impl : ( () ) ;
-    public final void rule__ProductExpression__Group_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2668:1: ( ( () ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2669:1: ( () )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2669:1: ( () )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2670:1: ()
-            {
-             before(grammarAccess.getProductExpressionAccess().getProductExpressionLeftAction_3_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2671:1: ()
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2673:1: 
-            {
-            }
-
-             after(grammarAccess.getProductExpressionAccess().getProductExpressionLeftAction_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group_3__0__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression__Group_3__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2683:1: rule__ProductExpression__Group_3__1 : rule__ProductExpression__Group_3__1__Impl rule__ProductExpression__Group_3__2 ;
-    public final void rule__ProductExpression__Group_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2687:1: ( rule__ProductExpression__Group_3__1__Impl rule__ProductExpression__Group_3__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2688:2: rule__ProductExpression__Group_3__1__Impl rule__ProductExpression__Group_3__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group_3__1__Impl_in_rule__ProductExpression__Group_3__15895);
-            rule__ProductExpression__Group_3__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group_3__2_in_rule__ProductExpression__Group_3__15898);
-            rule__ProductExpression__Group_3__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group_3__1"
-
-
-    // $ANTLR start "rule__ProductExpression__Group_3__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2695:1: rule__ProductExpression__Group_3__1__Impl : ( ( rule__ProductExpression__OperationAssignment_3_1 ) ) ;
-    public final void rule__ProductExpression__Group_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2699:1: ( ( ( rule__ProductExpression__OperationAssignment_3_1 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2700:1: ( ( rule__ProductExpression__OperationAssignment_3_1 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2700:1: ( ( rule__ProductExpression__OperationAssignment_3_1 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2701:1: ( rule__ProductExpression__OperationAssignment_3_1 )
-            {
-             before(grammarAccess.getProductExpressionAccess().getOperationAssignment_3_1()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2702:1: ( rule__ProductExpression__OperationAssignment_3_1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2702:2: rule__ProductExpression__OperationAssignment_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__OperationAssignment_3_1_in_rule__ProductExpression__Group_3__1__Impl5925);
-            rule__ProductExpression__OperationAssignment_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductExpressionAccess().getOperationAssignment_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group_3__1__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression__Group_3__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2712:1: rule__ProductExpression__Group_3__2 : rule__ProductExpression__Group_3__2__Impl ;
-    public final void rule__ProductExpression__Group_3__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2716:1: ( rule__ProductExpression__Group_3__2__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2717:2: rule__ProductExpression__Group_3__2__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__Group_3__2__Impl_in_rule__ProductExpression__Group_3__25955);
-            rule__ProductExpression__Group_3__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group_3__2"
-
-
-    // $ANTLR start "rule__ProductExpression__Group_3__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2723:1: rule__ProductExpression__Group_3__2__Impl : ( ( rule__ProductExpression__RightAssignment_3_2 ) ) ;
-    public final void rule__ProductExpression__Group_3__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2727:1: ( ( ( rule__ProductExpression__RightAssignment_3_2 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2728:1: ( ( rule__ProductExpression__RightAssignment_3_2 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2728:1: ( ( rule__ProductExpression__RightAssignment_3_2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2729:1: ( rule__ProductExpression__RightAssignment_3_2 )
-            {
-             before(grammarAccess.getProductExpressionAccess().getRightAssignment_3_2()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2730:1: ( rule__ProductExpression__RightAssignment_3_2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2730:2: rule__ProductExpression__RightAssignment_3_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression__RightAssignment_3_2_in_rule__ProductExpression__Group_3__2__Impl5982);
-            rule__ProductExpression__RightAssignment_3_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductExpressionAccess().getRightAssignment_3_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__Group_3__2__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression2__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2746:1: rule__ProductExpression2__Group__0 : rule__ProductExpression2__Group__0__Impl rule__ProductExpression2__Group__1 ;
-    public final void rule__ProductExpression2__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2750:1: ( rule__ProductExpression2__Group__0__Impl rule__ProductExpression2__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2751:2: rule__ProductExpression2__Group__0__Impl rule__ProductExpression2__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression2__Group__0__Impl_in_rule__ProductExpression2__Group__06018);
-            rule__ProductExpression2__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression2__Group__1_in_rule__ProductExpression2__Group__06021);
-            rule__ProductExpression2__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression2__Group__0"
-
-
-    // $ANTLR start "rule__ProductExpression2__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2758:1: rule__ProductExpression2__Group__0__Impl : ( ( rule__ProductExpression2__LeftAssignment_0 ) ) ;
-    public final void rule__ProductExpression2__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2762:1: ( ( ( rule__ProductExpression2__LeftAssignment_0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2763:1: ( ( rule__ProductExpression2__LeftAssignment_0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2763:1: ( ( rule__ProductExpression2__LeftAssignment_0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2764:1: ( rule__ProductExpression2__LeftAssignment_0 )
-            {
-             before(grammarAccess.getProductExpression2Access().getLeftAssignment_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2765:1: ( rule__ProductExpression2__LeftAssignment_0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2765:2: rule__ProductExpression2__LeftAssignment_0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression2__LeftAssignment_0_in_rule__ProductExpression2__Group__0__Impl6048);
-            rule__ProductExpression2__LeftAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductExpression2Access().getLeftAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression2__Group__0__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression2__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2775:1: rule__ProductExpression2__Group__1 : rule__ProductExpression2__Group__1__Impl rule__ProductExpression2__Group__2 ;
-    public final void rule__ProductExpression2__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2779:1: ( rule__ProductExpression2__Group__1__Impl rule__ProductExpression2__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2780:2: rule__ProductExpression2__Group__1__Impl rule__ProductExpression2__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression2__Group__1__Impl_in_rule__ProductExpression2__Group__16078);
-            rule__ProductExpression2__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression2__Group__2_in_rule__ProductExpression2__Group__16081);
-            rule__ProductExpression2__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression2__Group__1"
-
-
-    // $ANTLR start "rule__ProductExpression2__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2787:1: rule__ProductExpression2__Group__1__Impl : ( ( rule__ProductExpression2__OperationAssignment_1 ) ) ;
-    public final void rule__ProductExpression2__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2791:1: ( ( ( rule__ProductExpression2__OperationAssignment_1 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2792:1: ( ( rule__ProductExpression2__OperationAssignment_1 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2792:1: ( ( rule__ProductExpression2__OperationAssignment_1 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2793:1: ( rule__ProductExpression2__OperationAssignment_1 )
-            {
-             before(grammarAccess.getProductExpression2Access().getOperationAssignment_1()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2794:1: ( rule__ProductExpression2__OperationAssignment_1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2794:2: rule__ProductExpression2__OperationAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression2__OperationAssignment_1_in_rule__ProductExpression2__Group__1__Impl6108);
-            rule__ProductExpression2__OperationAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductExpression2Access().getOperationAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression2__Group__1__Impl"
-
-
-    // $ANTLR start "rule__ProductExpression2__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2804:1: rule__ProductExpression2__Group__2 : rule__ProductExpression2__Group__2__Impl ;
-    public final void rule__ProductExpression2__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2808:1: ( rule__ProductExpression2__Group__2__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2809:2: rule__ProductExpression2__Group__2__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression2__Group__2__Impl_in_rule__ProductExpression2__Group__26138);
-            rule__ProductExpression2__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression2__Group__2"
-
-
-    // $ANTLR start "rule__ProductExpression2__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2815:1: rule__ProductExpression2__Group__2__Impl : ( ( rule__ProductExpression2__RightAssignment_2 ) ) ;
-    public final void rule__ProductExpression2__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2819:1: ( ( ( rule__ProductExpression2__RightAssignment_2 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2820:1: ( ( rule__ProductExpression2__RightAssignment_2 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2820:1: ( ( rule__ProductExpression2__RightAssignment_2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2821:1: ( rule__ProductExpression2__RightAssignment_2 )
-            {
-             before(grammarAccess.getProductExpression2Access().getRightAssignment_2()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2822:1: ( rule__ProductExpression2__RightAssignment_2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2822:2: rule__ProductExpression2__RightAssignment_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProductExpression2__RightAssignment_2_in_rule__ProductExpression2__Group__2__Impl6165);
-            rule__ProductExpression2__RightAssignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProductExpression2Access().getRightAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression2__Group__2__Impl"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2838:1: rule__CompareExpression__Group__0 : rule__CompareExpression__Group__0__Impl rule__CompareExpression__Group__1 ;
-    public final void rule__CompareExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2842:1: ( rule__CompareExpression__Group__0__Impl rule__CompareExpression__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2843:2: rule__CompareExpression__Group__0__Impl rule__CompareExpression__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__0__Impl_in_rule__CompareExpression__Group__06201);
-            rule__CompareExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__1_in_rule__CompareExpression__Group__06204);
-            rule__CompareExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__0"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2850:1: rule__CompareExpression__Group__0__Impl : ( 'CompareExpression' ) ;
-    public final void rule__CompareExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2854:1: ( ( 'CompareExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2855:1: ( 'CompareExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2855:1: ( 'CompareExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2856:1: 'CompareExpression'
-            {
-             before(grammarAccess.getCompareExpressionAccess().getCompareExpressionKeyword_0()); 
-            match(input,22,FollowSets000.FOLLOW_22_in_rule__CompareExpression__Group__0__Impl6232); 
-             after(grammarAccess.getCompareExpressionAccess().getCompareExpressionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2869:1: rule__CompareExpression__Group__1 : rule__CompareExpression__Group__1__Impl rule__CompareExpression__Group__2 ;
-    public final void rule__CompareExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2873:1: ( rule__CompareExpression__Group__1__Impl rule__CompareExpression__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2874:2: rule__CompareExpression__Group__1__Impl rule__CompareExpression__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__1__Impl_in_rule__CompareExpression__Group__16263);
-            rule__CompareExpression__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__2_in_rule__CompareExpression__Group__16266);
-            rule__CompareExpression__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__1"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2881:1: rule__CompareExpression__Group__1__Impl : ( '{' ) ;
-    public final void rule__CompareExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2885:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2886:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2886:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2887:1: '{'
-            {
-             before(grammarAccess.getCompareExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__CompareExpression__Group__1__Impl6294); 
-             after(grammarAccess.getCompareExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2900:1: rule__CompareExpression__Group__2 : rule__CompareExpression__Group__2__Impl rule__CompareExpression__Group__3 ;
-    public final void rule__CompareExpression__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2904:1: ( rule__CompareExpression__Group__2__Impl rule__CompareExpression__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2905:2: rule__CompareExpression__Group__2__Impl rule__CompareExpression__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__2__Impl_in_rule__CompareExpression__Group__26325);
-            rule__CompareExpression__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__3_in_rule__CompareExpression__Group__26328);
-            rule__CompareExpression__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__2"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2912:1: rule__CompareExpression__Group__2__Impl : ( 'operation' ) ;
-    public final void rule__CompareExpression__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2916:1: ( ( 'operation' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2917:1: ( 'operation' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2917:1: ( 'operation' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2918:1: 'operation'
-            {
-             before(grammarAccess.getCompareExpressionAccess().getOperationKeyword_2()); 
-            match(input,23,FollowSets000.FOLLOW_23_in_rule__CompareExpression__Group__2__Impl6356); 
-             after(grammarAccess.getCompareExpressionAccess().getOperationKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__2__Impl"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2931:1: rule__CompareExpression__Group__3 : rule__CompareExpression__Group__3__Impl rule__CompareExpression__Group__4 ;
-    public final void rule__CompareExpression__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2935:1: ( rule__CompareExpression__Group__3__Impl rule__CompareExpression__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2936:2: rule__CompareExpression__Group__3__Impl rule__CompareExpression__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__3__Impl_in_rule__CompareExpression__Group__36387);
-            rule__CompareExpression__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__4_in_rule__CompareExpression__Group__36390);
-            rule__CompareExpression__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__3"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2943:1: rule__CompareExpression__Group__3__Impl : ( ( rule__CompareExpression__OperationAssignment_3 ) ) ;
-    public final void rule__CompareExpression__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2947:1: ( ( ( rule__CompareExpression__OperationAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2948:1: ( ( rule__CompareExpression__OperationAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2948:1: ( ( rule__CompareExpression__OperationAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2949:1: ( rule__CompareExpression__OperationAssignment_3 )
-            {
-             before(grammarAccess.getCompareExpressionAccess().getOperationAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2950:1: ( rule__CompareExpression__OperationAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2950:2: rule__CompareExpression__OperationAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__OperationAssignment_3_in_rule__CompareExpression__Group__3__Impl6417);
-            rule__CompareExpression__OperationAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getCompareExpressionAccess().getOperationAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__3__Impl"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2960:1: rule__CompareExpression__Group__4 : rule__CompareExpression__Group__4__Impl rule__CompareExpression__Group__5 ;
-    public final void rule__CompareExpression__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2964:1: ( rule__CompareExpression__Group__4__Impl rule__CompareExpression__Group__5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2965:2: rule__CompareExpression__Group__4__Impl rule__CompareExpression__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__4__Impl_in_rule__CompareExpression__Group__46447);
-            rule__CompareExpression__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__5_in_rule__CompareExpression__Group__46450);
-            rule__CompareExpression__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__4"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2972:1: rule__CompareExpression__Group__4__Impl : ( 'left' ) ;
-    public final void rule__CompareExpression__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2976:1: ( ( 'left' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2977:1: ( 'left' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2977:1: ( 'left' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2978:1: 'left'
-            {
-             before(grammarAccess.getCompareExpressionAccess().getLeftKeyword_4()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__CompareExpression__Group__4__Impl6478); 
-             after(grammarAccess.getCompareExpressionAccess().getLeftKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__4__Impl"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2991:1: rule__CompareExpression__Group__5 : rule__CompareExpression__Group__5__Impl rule__CompareExpression__Group__6 ;
-    public final void rule__CompareExpression__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2995:1: ( rule__CompareExpression__Group__5__Impl rule__CompareExpression__Group__6 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:2996:2: rule__CompareExpression__Group__5__Impl rule__CompareExpression__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__5__Impl_in_rule__CompareExpression__Group__56509);
-            rule__CompareExpression__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__6_in_rule__CompareExpression__Group__56512);
-            rule__CompareExpression__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__5"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__5__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3003:1: rule__CompareExpression__Group__5__Impl : ( ( rule__CompareExpression__LeftAssignment_5 ) ) ;
-    public final void rule__CompareExpression__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3007:1: ( ( ( rule__CompareExpression__LeftAssignment_5 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3008:1: ( ( rule__CompareExpression__LeftAssignment_5 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3008:1: ( ( rule__CompareExpression__LeftAssignment_5 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3009:1: ( rule__CompareExpression__LeftAssignment_5 )
-            {
-             before(grammarAccess.getCompareExpressionAccess().getLeftAssignment_5()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3010:1: ( rule__CompareExpression__LeftAssignment_5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3010:2: rule__CompareExpression__LeftAssignment_5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__LeftAssignment_5_in_rule__CompareExpression__Group__5__Impl6539);
-            rule__CompareExpression__LeftAssignment_5();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getCompareExpressionAccess().getLeftAssignment_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__5__Impl"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__6"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3020:1: rule__CompareExpression__Group__6 : rule__CompareExpression__Group__6__Impl rule__CompareExpression__Group__7 ;
-    public final void rule__CompareExpression__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3024:1: ( rule__CompareExpression__Group__6__Impl rule__CompareExpression__Group__7 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3025:2: rule__CompareExpression__Group__6__Impl rule__CompareExpression__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__6__Impl_in_rule__CompareExpression__Group__66569);
-            rule__CompareExpression__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__7_in_rule__CompareExpression__Group__66572);
-            rule__CompareExpression__Group__7();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__6"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__6__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3032:1: rule__CompareExpression__Group__6__Impl : ( 'right' ) ;
-    public final void rule__CompareExpression__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3036:1: ( ( 'right' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3037:1: ( 'right' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3037:1: ( 'right' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3038:1: 'right'
-            {
-             before(grammarAccess.getCompareExpressionAccess().getRightKeyword_6()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__CompareExpression__Group__6__Impl6600); 
-             after(grammarAccess.getCompareExpressionAccess().getRightKeyword_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__6__Impl"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__7"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3051:1: rule__CompareExpression__Group__7 : rule__CompareExpression__Group__7__Impl rule__CompareExpression__Group__8 ;
-    public final void rule__CompareExpression__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3055:1: ( rule__CompareExpression__Group__7__Impl rule__CompareExpression__Group__8 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3056:2: rule__CompareExpression__Group__7__Impl rule__CompareExpression__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__7__Impl_in_rule__CompareExpression__Group__76631);
-            rule__CompareExpression__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__8_in_rule__CompareExpression__Group__76634);
-            rule__CompareExpression__Group__8();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__7"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__7__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3063:1: rule__CompareExpression__Group__7__Impl : ( ( rule__CompareExpression__RightAssignment_7 ) ) ;
-    public final void rule__CompareExpression__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3067:1: ( ( ( rule__CompareExpression__RightAssignment_7 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3068:1: ( ( rule__CompareExpression__RightAssignment_7 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3068:1: ( ( rule__CompareExpression__RightAssignment_7 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3069:1: ( rule__CompareExpression__RightAssignment_7 )
-            {
-             before(grammarAccess.getCompareExpressionAccess().getRightAssignment_7()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3070:1: ( rule__CompareExpression__RightAssignment_7 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3070:2: rule__CompareExpression__RightAssignment_7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__RightAssignment_7_in_rule__CompareExpression__Group__7__Impl6661);
-            rule__CompareExpression__RightAssignment_7();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getCompareExpressionAccess().getRightAssignment_7()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__7__Impl"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__8"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3080:1: rule__CompareExpression__Group__8 : rule__CompareExpression__Group__8__Impl ;
-    public final void rule__CompareExpression__Group__8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3084:1: ( rule__CompareExpression__Group__8__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3085:2: rule__CompareExpression__Group__8__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompareExpression__Group__8__Impl_in_rule__CompareExpression__Group__86691);
-            rule__CompareExpression__Group__8__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__8"
-
-
-    // $ANTLR start "rule__CompareExpression__Group__8__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3091:1: rule__CompareExpression__Group__8__Impl : ( '}' ) ;
-    public final void rule__CompareExpression__Group__8__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3095:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3096:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3096:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3097:1: '}'
-            {
-             before(grammarAccess.getCompareExpressionAccess().getRightCurlyBracketKeyword_8()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__CompareExpression__Group__8__Impl6719); 
-             after(grammarAccess.getCompareExpressionAccess().getRightCurlyBracketKeyword_8()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__Group__8__Impl"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3128:1: rule__PowerExpression__Group__0 : rule__PowerExpression__Group__0__Impl rule__PowerExpression__Group__1 ;
-    public final void rule__PowerExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3132:1: ( rule__PowerExpression__Group__0__Impl rule__PowerExpression__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3133:2: rule__PowerExpression__Group__0__Impl rule__PowerExpression__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__0__Impl_in_rule__PowerExpression__Group__06768);
-            rule__PowerExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__1_in_rule__PowerExpression__Group__06771);
-            rule__PowerExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__0"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3140:1: rule__PowerExpression__Group__0__Impl : ( 'PowerExpression' ) ;
-    public final void rule__PowerExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3144:1: ( ( 'PowerExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3145:1: ( 'PowerExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3145:1: ( 'PowerExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3146:1: 'PowerExpression'
-            {
-             before(grammarAccess.getPowerExpressionAccess().getPowerExpressionKeyword_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__PowerExpression__Group__0__Impl6799); 
-             after(grammarAccess.getPowerExpressionAccess().getPowerExpressionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3159:1: rule__PowerExpression__Group__1 : rule__PowerExpression__Group__1__Impl rule__PowerExpression__Group__2 ;
-    public final void rule__PowerExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3163:1: ( rule__PowerExpression__Group__1__Impl rule__PowerExpression__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3164:2: rule__PowerExpression__Group__1__Impl rule__PowerExpression__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__1__Impl_in_rule__PowerExpression__Group__16830);
-            rule__PowerExpression__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__2_in_rule__PowerExpression__Group__16833);
-            rule__PowerExpression__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__1"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3171:1: rule__PowerExpression__Group__1__Impl : ( '{' ) ;
-    public final void rule__PowerExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3175:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3176:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3176:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3177:1: '{'
-            {
-             before(grammarAccess.getPowerExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__PowerExpression__Group__1__Impl6861); 
-             after(grammarAccess.getPowerExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3190:1: rule__PowerExpression__Group__2 : rule__PowerExpression__Group__2__Impl rule__PowerExpression__Group__3 ;
-    public final void rule__PowerExpression__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3194:1: ( rule__PowerExpression__Group__2__Impl rule__PowerExpression__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3195:2: rule__PowerExpression__Group__2__Impl rule__PowerExpression__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__2__Impl_in_rule__PowerExpression__Group__26892);
-            rule__PowerExpression__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__3_in_rule__PowerExpression__Group__26895);
-            rule__PowerExpression__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__2"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3202:1: rule__PowerExpression__Group__2__Impl : ( 'base' ) ;
-    public final void rule__PowerExpression__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3206:1: ( ( 'base' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3207:1: ( 'base' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3207:1: ( 'base' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3208:1: 'base'
-            {
-             before(grammarAccess.getPowerExpressionAccess().getBaseKeyword_2()); 
-            match(input,27,FollowSets000.FOLLOW_27_in_rule__PowerExpression__Group__2__Impl6923); 
-             after(grammarAccess.getPowerExpressionAccess().getBaseKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__2__Impl"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3221:1: rule__PowerExpression__Group__3 : rule__PowerExpression__Group__3__Impl rule__PowerExpression__Group__4 ;
-    public final void rule__PowerExpression__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3225:1: ( rule__PowerExpression__Group__3__Impl rule__PowerExpression__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3226:2: rule__PowerExpression__Group__3__Impl rule__PowerExpression__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__3__Impl_in_rule__PowerExpression__Group__36954);
-            rule__PowerExpression__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__4_in_rule__PowerExpression__Group__36957);
-            rule__PowerExpression__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__3"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3233:1: rule__PowerExpression__Group__3__Impl : ( ( rule__PowerExpression__BaseAssignment_3 ) ) ;
-    public final void rule__PowerExpression__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3237:1: ( ( ( rule__PowerExpression__BaseAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3238:1: ( ( rule__PowerExpression__BaseAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3238:1: ( ( rule__PowerExpression__BaseAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3239:1: ( rule__PowerExpression__BaseAssignment_3 )
-            {
-             before(grammarAccess.getPowerExpressionAccess().getBaseAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3240:1: ( rule__PowerExpression__BaseAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3240:2: rule__PowerExpression__BaseAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__BaseAssignment_3_in_rule__PowerExpression__Group__3__Impl6984);
-            rule__PowerExpression__BaseAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPowerExpressionAccess().getBaseAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__3__Impl"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3250:1: rule__PowerExpression__Group__4 : rule__PowerExpression__Group__4__Impl rule__PowerExpression__Group__5 ;
-    public final void rule__PowerExpression__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3254:1: ( rule__PowerExpression__Group__4__Impl rule__PowerExpression__Group__5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3255:2: rule__PowerExpression__Group__4__Impl rule__PowerExpression__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__4__Impl_in_rule__PowerExpression__Group__47014);
-            rule__PowerExpression__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__5_in_rule__PowerExpression__Group__47017);
-            rule__PowerExpression__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__4"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3262:1: rule__PowerExpression__Group__4__Impl : ( 'exponent' ) ;
-    public final void rule__PowerExpression__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3266:1: ( ( 'exponent' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3267:1: ( 'exponent' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3267:1: ( 'exponent' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3268:1: 'exponent'
-            {
-             before(grammarAccess.getPowerExpressionAccess().getExponentKeyword_4()); 
-            match(input,28,FollowSets000.FOLLOW_28_in_rule__PowerExpression__Group__4__Impl7045); 
-             after(grammarAccess.getPowerExpressionAccess().getExponentKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__4__Impl"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3281:1: rule__PowerExpression__Group__5 : rule__PowerExpression__Group__5__Impl rule__PowerExpression__Group__6 ;
-    public final void rule__PowerExpression__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3285:1: ( rule__PowerExpression__Group__5__Impl rule__PowerExpression__Group__6 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3286:2: rule__PowerExpression__Group__5__Impl rule__PowerExpression__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__5__Impl_in_rule__PowerExpression__Group__57076);
-            rule__PowerExpression__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__6_in_rule__PowerExpression__Group__57079);
-            rule__PowerExpression__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__5"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__5__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3293:1: rule__PowerExpression__Group__5__Impl : ( ( rule__PowerExpression__ExponentAssignment_5 ) ) ;
-    public final void rule__PowerExpression__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3297:1: ( ( ( rule__PowerExpression__ExponentAssignment_5 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3298:1: ( ( rule__PowerExpression__ExponentAssignment_5 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3298:1: ( ( rule__PowerExpression__ExponentAssignment_5 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3299:1: ( rule__PowerExpression__ExponentAssignment_5 )
-            {
-             before(grammarAccess.getPowerExpressionAccess().getExponentAssignment_5()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3300:1: ( rule__PowerExpression__ExponentAssignment_5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3300:2: rule__PowerExpression__ExponentAssignment_5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__ExponentAssignment_5_in_rule__PowerExpression__Group__5__Impl7106);
-            rule__PowerExpression__ExponentAssignment_5();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPowerExpressionAccess().getExponentAssignment_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__5__Impl"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__6"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3310:1: rule__PowerExpression__Group__6 : rule__PowerExpression__Group__6__Impl ;
-    public final void rule__PowerExpression__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3314:1: ( rule__PowerExpression__Group__6__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3315:2: rule__PowerExpression__Group__6__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PowerExpression__Group__6__Impl_in_rule__PowerExpression__Group__67136);
-            rule__PowerExpression__Group__6__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__6"
-
-
-    // $ANTLR start "rule__PowerExpression__Group__6__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3321:1: rule__PowerExpression__Group__6__Impl : ( '}' ) ;
-    public final void rule__PowerExpression__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3325:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3326:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3326:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3327:1: '}'
-            {
-             before(grammarAccess.getPowerExpressionAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__PowerExpression__Group__6__Impl7164); 
-             after(grammarAccess.getPowerExpressionAccess().getRightCurlyBracketKeyword_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__Group__6__Impl"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3354:1: rule__BooleanOperatorExpression__Group__0 : rule__BooleanOperatorExpression__Group__0__Impl rule__BooleanOperatorExpression__Group__1 ;
-    public final void rule__BooleanOperatorExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3358:1: ( rule__BooleanOperatorExpression__Group__0__Impl rule__BooleanOperatorExpression__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3359:2: rule__BooleanOperatorExpression__Group__0__Impl rule__BooleanOperatorExpression__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__0__Impl_in_rule__BooleanOperatorExpression__Group__07209);
-            rule__BooleanOperatorExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__1_in_rule__BooleanOperatorExpression__Group__07212);
-            rule__BooleanOperatorExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__0"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3366:1: rule__BooleanOperatorExpression__Group__0__Impl : ( 'BooleanOperatorExpression' ) ;
-    public final void rule__BooleanOperatorExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3370:1: ( ( 'BooleanOperatorExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3371:1: ( 'BooleanOperatorExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3371:1: ( 'BooleanOperatorExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3372:1: 'BooleanOperatorExpression'
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getBooleanOperatorExpressionKeyword_0()); 
-            match(input,29,FollowSets000.FOLLOW_29_in_rule__BooleanOperatorExpression__Group__0__Impl7240); 
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getBooleanOperatorExpressionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3385:1: rule__BooleanOperatorExpression__Group__1 : rule__BooleanOperatorExpression__Group__1__Impl rule__BooleanOperatorExpression__Group__2 ;
-    public final void rule__BooleanOperatorExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3389:1: ( rule__BooleanOperatorExpression__Group__1__Impl rule__BooleanOperatorExpression__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3390:2: rule__BooleanOperatorExpression__Group__1__Impl rule__BooleanOperatorExpression__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__1__Impl_in_rule__BooleanOperatorExpression__Group__17271);
-            rule__BooleanOperatorExpression__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__2_in_rule__BooleanOperatorExpression__Group__17274);
-            rule__BooleanOperatorExpression__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__1"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3397:1: rule__BooleanOperatorExpression__Group__1__Impl : ( '{' ) ;
-    public final void rule__BooleanOperatorExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3401:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3402:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3402:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3403:1: '{'
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__BooleanOperatorExpression__Group__1__Impl7302); 
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3416:1: rule__BooleanOperatorExpression__Group__2 : rule__BooleanOperatorExpression__Group__2__Impl rule__BooleanOperatorExpression__Group__3 ;
-    public final void rule__BooleanOperatorExpression__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3420:1: ( rule__BooleanOperatorExpression__Group__2__Impl rule__BooleanOperatorExpression__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3421:2: rule__BooleanOperatorExpression__Group__2__Impl rule__BooleanOperatorExpression__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__2__Impl_in_rule__BooleanOperatorExpression__Group__27333);
-            rule__BooleanOperatorExpression__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__3_in_rule__BooleanOperatorExpression__Group__27336);
-            rule__BooleanOperatorExpression__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__2"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3428:1: rule__BooleanOperatorExpression__Group__2__Impl : ( 'operation' ) ;
-    public final void rule__BooleanOperatorExpression__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3432:1: ( ( 'operation' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3433:1: ( 'operation' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3433:1: ( 'operation' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3434:1: 'operation'
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getOperationKeyword_2()); 
-            match(input,23,FollowSets000.FOLLOW_23_in_rule__BooleanOperatorExpression__Group__2__Impl7364); 
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getOperationKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__2__Impl"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3447:1: rule__BooleanOperatorExpression__Group__3 : rule__BooleanOperatorExpression__Group__3__Impl rule__BooleanOperatorExpression__Group__4 ;
-    public final void rule__BooleanOperatorExpression__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3451:1: ( rule__BooleanOperatorExpression__Group__3__Impl rule__BooleanOperatorExpression__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3452:2: rule__BooleanOperatorExpression__Group__3__Impl rule__BooleanOperatorExpression__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__3__Impl_in_rule__BooleanOperatorExpression__Group__37395);
-            rule__BooleanOperatorExpression__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__4_in_rule__BooleanOperatorExpression__Group__37398);
-            rule__BooleanOperatorExpression__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__3"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3459:1: rule__BooleanOperatorExpression__Group__3__Impl : ( ( rule__BooleanOperatorExpression__OperationAssignment_3 ) ) ;
-    public final void rule__BooleanOperatorExpression__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3463:1: ( ( ( rule__BooleanOperatorExpression__OperationAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3464:1: ( ( rule__BooleanOperatorExpression__OperationAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3464:1: ( ( rule__BooleanOperatorExpression__OperationAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3465:1: ( rule__BooleanOperatorExpression__OperationAssignment_3 )
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getOperationAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3466:1: ( rule__BooleanOperatorExpression__OperationAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3466:2: rule__BooleanOperatorExpression__OperationAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__OperationAssignment_3_in_rule__BooleanOperatorExpression__Group__3__Impl7425);
-            rule__BooleanOperatorExpression__OperationAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getOperationAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__3__Impl"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3476:1: rule__BooleanOperatorExpression__Group__4 : rule__BooleanOperatorExpression__Group__4__Impl rule__BooleanOperatorExpression__Group__5 ;
-    public final void rule__BooleanOperatorExpression__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3480:1: ( rule__BooleanOperatorExpression__Group__4__Impl rule__BooleanOperatorExpression__Group__5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3481:2: rule__BooleanOperatorExpression__Group__4__Impl rule__BooleanOperatorExpression__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__4__Impl_in_rule__BooleanOperatorExpression__Group__47455);
-            rule__BooleanOperatorExpression__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__5_in_rule__BooleanOperatorExpression__Group__47458);
-            rule__BooleanOperatorExpression__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__4"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3488:1: rule__BooleanOperatorExpression__Group__4__Impl : ( 'left' ) ;
-    public final void rule__BooleanOperatorExpression__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3492:1: ( ( 'left' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3493:1: ( 'left' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3493:1: ( 'left' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3494:1: 'left'
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getLeftKeyword_4()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__BooleanOperatorExpression__Group__4__Impl7486); 
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getLeftKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__4__Impl"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3507:1: rule__BooleanOperatorExpression__Group__5 : rule__BooleanOperatorExpression__Group__5__Impl rule__BooleanOperatorExpression__Group__6 ;
-    public final void rule__BooleanOperatorExpression__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3511:1: ( rule__BooleanOperatorExpression__Group__5__Impl rule__BooleanOperatorExpression__Group__6 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3512:2: rule__BooleanOperatorExpression__Group__5__Impl rule__BooleanOperatorExpression__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__5__Impl_in_rule__BooleanOperatorExpression__Group__57517);
-            rule__BooleanOperatorExpression__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__6_in_rule__BooleanOperatorExpression__Group__57520);
-            rule__BooleanOperatorExpression__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__5"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__5__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3519:1: rule__BooleanOperatorExpression__Group__5__Impl : ( ( rule__BooleanOperatorExpression__LeftAssignment_5 ) ) ;
-    public final void rule__BooleanOperatorExpression__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3523:1: ( ( ( rule__BooleanOperatorExpression__LeftAssignment_5 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3524:1: ( ( rule__BooleanOperatorExpression__LeftAssignment_5 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3524:1: ( ( rule__BooleanOperatorExpression__LeftAssignment_5 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3525:1: ( rule__BooleanOperatorExpression__LeftAssignment_5 )
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getLeftAssignment_5()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3526:1: ( rule__BooleanOperatorExpression__LeftAssignment_5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3526:2: rule__BooleanOperatorExpression__LeftAssignment_5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__LeftAssignment_5_in_rule__BooleanOperatorExpression__Group__5__Impl7547);
-            rule__BooleanOperatorExpression__LeftAssignment_5();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getLeftAssignment_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__5__Impl"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__6"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3536:1: rule__BooleanOperatorExpression__Group__6 : rule__BooleanOperatorExpression__Group__6__Impl rule__BooleanOperatorExpression__Group__7 ;
-    public final void rule__BooleanOperatorExpression__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3540:1: ( rule__BooleanOperatorExpression__Group__6__Impl rule__BooleanOperatorExpression__Group__7 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3541:2: rule__BooleanOperatorExpression__Group__6__Impl rule__BooleanOperatorExpression__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__6__Impl_in_rule__BooleanOperatorExpression__Group__67577);
-            rule__BooleanOperatorExpression__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__7_in_rule__BooleanOperatorExpression__Group__67580);
-            rule__BooleanOperatorExpression__Group__7();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__6"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__6__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3548:1: rule__BooleanOperatorExpression__Group__6__Impl : ( 'right' ) ;
-    public final void rule__BooleanOperatorExpression__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3552:1: ( ( 'right' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3553:1: ( 'right' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3553:1: ( 'right' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3554:1: 'right'
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getRightKeyword_6()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__BooleanOperatorExpression__Group__6__Impl7608); 
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getRightKeyword_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__6__Impl"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__7"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3567:1: rule__BooleanOperatorExpression__Group__7 : rule__BooleanOperatorExpression__Group__7__Impl rule__BooleanOperatorExpression__Group__8 ;
-    public final void rule__BooleanOperatorExpression__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3571:1: ( rule__BooleanOperatorExpression__Group__7__Impl rule__BooleanOperatorExpression__Group__8 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3572:2: rule__BooleanOperatorExpression__Group__7__Impl rule__BooleanOperatorExpression__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__7__Impl_in_rule__BooleanOperatorExpression__Group__77639);
-            rule__BooleanOperatorExpression__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__8_in_rule__BooleanOperatorExpression__Group__77642);
-            rule__BooleanOperatorExpression__Group__8();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__7"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__7__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3579:1: rule__BooleanOperatorExpression__Group__7__Impl : ( ( rule__BooleanOperatorExpression__RightAssignment_7 ) ) ;
-    public final void rule__BooleanOperatorExpression__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3583:1: ( ( ( rule__BooleanOperatorExpression__RightAssignment_7 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3584:1: ( ( rule__BooleanOperatorExpression__RightAssignment_7 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3584:1: ( ( rule__BooleanOperatorExpression__RightAssignment_7 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3585:1: ( rule__BooleanOperatorExpression__RightAssignment_7 )
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getRightAssignment_7()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3586:1: ( rule__BooleanOperatorExpression__RightAssignment_7 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3586:2: rule__BooleanOperatorExpression__RightAssignment_7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__RightAssignment_7_in_rule__BooleanOperatorExpression__Group__7__Impl7669);
-            rule__BooleanOperatorExpression__RightAssignment_7();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getRightAssignment_7()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__7__Impl"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__8"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3596:1: rule__BooleanOperatorExpression__Group__8 : rule__BooleanOperatorExpression__Group__8__Impl ;
-    public final void rule__BooleanOperatorExpression__Group__8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3600:1: ( rule__BooleanOperatorExpression__Group__8__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3601:2: rule__BooleanOperatorExpression__Group__8__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BooleanOperatorExpression__Group__8__Impl_in_rule__BooleanOperatorExpression__Group__87699);
-            rule__BooleanOperatorExpression__Group__8__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__8"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__Group__8__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3607:1: rule__BooleanOperatorExpression__Group__8__Impl : ( '}' ) ;
-    public final void rule__BooleanOperatorExpression__Group__8__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3611:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3612:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3612:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3613:1: '}'
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getRightCurlyBracketKeyword_8()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__BooleanOperatorExpression__Group__8__Impl7727); 
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getRightCurlyBracketKeyword_8()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__Group__8__Impl"
-
-
-    // $ANTLR start "rule__NotExpression__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3644:1: rule__NotExpression__Group__0 : rule__NotExpression__Group__0__Impl rule__NotExpression__Group__1 ;
-    public final void rule__NotExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3648:1: ( rule__NotExpression__Group__0__Impl rule__NotExpression__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3649:2: rule__NotExpression__Group__0__Impl rule__NotExpression__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__0__Impl_in_rule__NotExpression__Group__07776);
-            rule__NotExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__1_in_rule__NotExpression__Group__07779);
-            rule__NotExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__0"
-
-
-    // $ANTLR start "rule__NotExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3656:1: rule__NotExpression__Group__0__Impl : ( 'NotExpression' ) ;
-    public final void rule__NotExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3660:1: ( ( 'NotExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3661:1: ( 'NotExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3661:1: ( 'NotExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3662:1: 'NotExpression'
-            {
-             before(grammarAccess.getNotExpressionAccess().getNotExpressionKeyword_0()); 
-            match(input,30,FollowSets000.FOLLOW_30_in_rule__NotExpression__Group__0__Impl7807); 
-             after(grammarAccess.getNotExpressionAccess().getNotExpressionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__NotExpression__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3675:1: rule__NotExpression__Group__1 : rule__NotExpression__Group__1__Impl rule__NotExpression__Group__2 ;
-    public final void rule__NotExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3679:1: ( rule__NotExpression__Group__1__Impl rule__NotExpression__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3680:2: rule__NotExpression__Group__1__Impl rule__NotExpression__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__1__Impl_in_rule__NotExpression__Group__17838);
-            rule__NotExpression__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__2_in_rule__NotExpression__Group__17841);
-            rule__NotExpression__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__1"
-
-
-    // $ANTLR start "rule__NotExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3687:1: rule__NotExpression__Group__1__Impl : ( '{' ) ;
-    public final void rule__NotExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3691:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3692:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3692:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3693:1: '{'
-            {
-             before(grammarAccess.getNotExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__NotExpression__Group__1__Impl7869); 
-             after(grammarAccess.getNotExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__NotExpression__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3706:1: rule__NotExpression__Group__2 : rule__NotExpression__Group__2__Impl rule__NotExpression__Group__3 ;
-    public final void rule__NotExpression__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3710:1: ( rule__NotExpression__Group__2__Impl rule__NotExpression__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3711:2: rule__NotExpression__Group__2__Impl rule__NotExpression__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__2__Impl_in_rule__NotExpression__Group__27900);
-            rule__NotExpression__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__3_in_rule__NotExpression__Group__27903);
-            rule__NotExpression__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__2"
-
-
-    // $ANTLR start "rule__NotExpression__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3718:1: rule__NotExpression__Group__2__Impl : ( 'inner' ) ;
-    public final void rule__NotExpression__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3722:1: ( ( 'inner' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3723:1: ( 'inner' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3723:1: ( 'inner' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3724:1: 'inner'
-            {
-             before(grammarAccess.getNotExpressionAccess().getInnerKeyword_2()); 
-            match(input,31,FollowSets000.FOLLOW_31_in_rule__NotExpression__Group__2__Impl7931); 
-             after(grammarAccess.getNotExpressionAccess().getInnerKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__2__Impl"
-
-
-    // $ANTLR start "rule__NotExpression__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3737:1: rule__NotExpression__Group__3 : rule__NotExpression__Group__3__Impl rule__NotExpression__Group__4 ;
-    public final void rule__NotExpression__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3741:1: ( rule__NotExpression__Group__3__Impl rule__NotExpression__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3742:2: rule__NotExpression__Group__3__Impl rule__NotExpression__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__3__Impl_in_rule__NotExpression__Group__37962);
-            rule__NotExpression__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__4_in_rule__NotExpression__Group__37965);
-            rule__NotExpression__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__3"
-
-
-    // $ANTLR start "rule__NotExpression__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3749:1: rule__NotExpression__Group__3__Impl : ( ( rule__NotExpression__InnerAssignment_3 ) ) ;
-    public final void rule__NotExpression__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3753:1: ( ( ( rule__NotExpression__InnerAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3754:1: ( ( rule__NotExpression__InnerAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3754:1: ( ( rule__NotExpression__InnerAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3755:1: ( rule__NotExpression__InnerAssignment_3 )
-            {
-             before(grammarAccess.getNotExpressionAccess().getInnerAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3756:1: ( rule__NotExpression__InnerAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3756:2: rule__NotExpression__InnerAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__InnerAssignment_3_in_rule__NotExpression__Group__3__Impl7992);
-            rule__NotExpression__InnerAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getNotExpressionAccess().getInnerAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__3__Impl"
-
-
-    // $ANTLR start "rule__NotExpression__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3766:1: rule__NotExpression__Group__4 : rule__NotExpression__Group__4__Impl ;
-    public final void rule__NotExpression__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3770:1: ( rule__NotExpression__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3771:2: rule__NotExpression__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NotExpression__Group__4__Impl_in_rule__NotExpression__Group__48022);
-            rule__NotExpression__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__4"
-
-
-    // $ANTLR start "rule__NotExpression__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3777:1: rule__NotExpression__Group__4__Impl : ( '}' ) ;
-    public final void rule__NotExpression__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3781:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3782:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3782:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3783:1: '}'
-            {
-             before(grammarAccess.getNotExpressionAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__NotExpression__Group__4__Impl8050); 
-             after(grammarAccess.getNotExpressionAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__Group__4__Impl"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3806:1: rule__NegativeExpression__Group__0 : rule__NegativeExpression__Group__0__Impl rule__NegativeExpression__Group__1 ;
-    public final void rule__NegativeExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3810:1: ( rule__NegativeExpression__Group__0__Impl rule__NegativeExpression__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3811:2: rule__NegativeExpression__Group__0__Impl rule__NegativeExpression__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__0__Impl_in_rule__NegativeExpression__Group__08091);
-            rule__NegativeExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__1_in_rule__NegativeExpression__Group__08094);
-            rule__NegativeExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__0"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3818:1: rule__NegativeExpression__Group__0__Impl : ( 'NegativeExpression' ) ;
-    public final void rule__NegativeExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3822:1: ( ( 'NegativeExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3823:1: ( 'NegativeExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3823:1: ( 'NegativeExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3824:1: 'NegativeExpression'
-            {
-             before(grammarAccess.getNegativeExpressionAccess().getNegativeExpressionKeyword_0()); 
-            match(input,32,FollowSets000.FOLLOW_32_in_rule__NegativeExpression__Group__0__Impl8122); 
-             after(grammarAccess.getNegativeExpressionAccess().getNegativeExpressionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3837:1: rule__NegativeExpression__Group__1 : rule__NegativeExpression__Group__1__Impl rule__NegativeExpression__Group__2 ;
-    public final void rule__NegativeExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3841:1: ( rule__NegativeExpression__Group__1__Impl rule__NegativeExpression__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3842:2: rule__NegativeExpression__Group__1__Impl rule__NegativeExpression__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__1__Impl_in_rule__NegativeExpression__Group__18153);
-            rule__NegativeExpression__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__2_in_rule__NegativeExpression__Group__18156);
-            rule__NegativeExpression__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__1"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3849:1: rule__NegativeExpression__Group__1__Impl : ( '{' ) ;
-    public final void rule__NegativeExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3853:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3854:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3854:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3855:1: '{'
-            {
-             before(grammarAccess.getNegativeExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__NegativeExpression__Group__1__Impl8184); 
-             after(grammarAccess.getNegativeExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3868:1: rule__NegativeExpression__Group__2 : rule__NegativeExpression__Group__2__Impl rule__NegativeExpression__Group__3 ;
-    public final void rule__NegativeExpression__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3872:1: ( rule__NegativeExpression__Group__2__Impl rule__NegativeExpression__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3873:2: rule__NegativeExpression__Group__2__Impl rule__NegativeExpression__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__2__Impl_in_rule__NegativeExpression__Group__28215);
-            rule__NegativeExpression__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__3_in_rule__NegativeExpression__Group__28218);
-            rule__NegativeExpression__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__2"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3880:1: rule__NegativeExpression__Group__2__Impl : ( 'inner' ) ;
-    public final void rule__NegativeExpression__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3884:1: ( ( 'inner' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3885:1: ( 'inner' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3885:1: ( 'inner' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3886:1: 'inner'
-            {
-             before(grammarAccess.getNegativeExpressionAccess().getInnerKeyword_2()); 
-            match(input,31,FollowSets000.FOLLOW_31_in_rule__NegativeExpression__Group__2__Impl8246); 
-             after(grammarAccess.getNegativeExpressionAccess().getInnerKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__2__Impl"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3899:1: rule__NegativeExpression__Group__3 : rule__NegativeExpression__Group__3__Impl rule__NegativeExpression__Group__4 ;
-    public final void rule__NegativeExpression__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3903:1: ( rule__NegativeExpression__Group__3__Impl rule__NegativeExpression__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3904:2: rule__NegativeExpression__Group__3__Impl rule__NegativeExpression__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__3__Impl_in_rule__NegativeExpression__Group__38277);
-            rule__NegativeExpression__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__4_in_rule__NegativeExpression__Group__38280);
-            rule__NegativeExpression__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__3"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3911:1: rule__NegativeExpression__Group__3__Impl : ( ( rule__NegativeExpression__InnerAssignment_3 ) ) ;
-    public final void rule__NegativeExpression__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3915:1: ( ( ( rule__NegativeExpression__InnerAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3916:1: ( ( rule__NegativeExpression__InnerAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3916:1: ( ( rule__NegativeExpression__InnerAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3917:1: ( rule__NegativeExpression__InnerAssignment_3 )
-            {
-             before(grammarAccess.getNegativeExpressionAccess().getInnerAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3918:1: ( rule__NegativeExpression__InnerAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3918:2: rule__NegativeExpression__InnerAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__InnerAssignment_3_in_rule__NegativeExpression__Group__3__Impl8307);
-            rule__NegativeExpression__InnerAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getNegativeExpressionAccess().getInnerAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__3__Impl"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3928:1: rule__NegativeExpression__Group__4 : rule__NegativeExpression__Group__4__Impl ;
-    public final void rule__NegativeExpression__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3932:1: ( rule__NegativeExpression__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3933:2: rule__NegativeExpression__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NegativeExpression__Group__4__Impl_in_rule__NegativeExpression__Group__48337);
-            rule__NegativeExpression__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__4"
-
-
-    // $ANTLR start "rule__NegativeExpression__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3939:1: rule__NegativeExpression__Group__4__Impl : ( '}' ) ;
-    public final void rule__NegativeExpression__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3943:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3944:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3944:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3945:1: '}'
-            {
-             before(grammarAccess.getNegativeExpressionAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__NegativeExpression__Group__4__Impl8365); 
-             after(grammarAccess.getNegativeExpressionAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__Group__4__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3968:1: rule__IfElseExpression__Group__0 : rule__IfElseExpression__Group__0__Impl rule__IfElseExpression__Group__1 ;
-    public final void rule__IfElseExpression__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3972:1: ( rule__IfElseExpression__Group__0__Impl rule__IfElseExpression__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3973:2: rule__IfElseExpression__Group__0__Impl rule__IfElseExpression__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__0__Impl_in_rule__IfElseExpression__Group__08406);
-            rule__IfElseExpression__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__1_in_rule__IfElseExpression__Group__08409);
-            rule__IfElseExpression__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__0"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3980:1: rule__IfElseExpression__Group__0__Impl : ( 'IfElseExpression' ) ;
-    public final void rule__IfElseExpression__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3984:1: ( ( 'IfElseExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3985:1: ( 'IfElseExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3985:1: ( 'IfElseExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3986:1: 'IfElseExpression'
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionKeyword_0()); 
-            match(input,33,FollowSets000.FOLLOW_33_in_rule__IfElseExpression__Group__0__Impl8437); 
-             after(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__0__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:3999:1: rule__IfElseExpression__Group__1 : rule__IfElseExpression__Group__1__Impl rule__IfElseExpression__Group__2 ;
-    public final void rule__IfElseExpression__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4003:1: ( rule__IfElseExpression__Group__1__Impl rule__IfElseExpression__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4004:2: rule__IfElseExpression__Group__1__Impl rule__IfElseExpression__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__1__Impl_in_rule__IfElseExpression__Group__18468);
-            rule__IfElseExpression__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__2_in_rule__IfElseExpression__Group__18471);
-            rule__IfElseExpression__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__1"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4011:1: rule__IfElseExpression__Group__1__Impl : ( '{' ) ;
-    public final void rule__IfElseExpression__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4015:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4016:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4016:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4017:1: '{'
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__IfElseExpression__Group__1__Impl8499); 
-             after(grammarAccess.getIfElseExpressionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__1__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4030:1: rule__IfElseExpression__Group__2 : rule__IfElseExpression__Group__2__Impl rule__IfElseExpression__Group__3 ;
-    public final void rule__IfElseExpression__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4034:1: ( rule__IfElseExpression__Group__2__Impl rule__IfElseExpression__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4035:2: rule__IfElseExpression__Group__2__Impl rule__IfElseExpression__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__2__Impl_in_rule__IfElseExpression__Group__28530);
-            rule__IfElseExpression__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__3_in_rule__IfElseExpression__Group__28533);
-            rule__IfElseExpression__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__2"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4042:1: rule__IfElseExpression__Group__2__Impl : ( 'ifExpression' ) ;
-    public final void rule__IfElseExpression__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4046:1: ( ( 'ifExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4047:1: ( 'ifExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4047:1: ( 'ifExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4048:1: 'ifExpression'
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getIfExpressionKeyword_2()); 
-            match(input,34,FollowSets000.FOLLOW_34_in_rule__IfElseExpression__Group__2__Impl8561); 
-             after(grammarAccess.getIfElseExpressionAccess().getIfExpressionKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__2__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4061:1: rule__IfElseExpression__Group__3 : rule__IfElseExpression__Group__3__Impl rule__IfElseExpression__Group__4 ;
-    public final void rule__IfElseExpression__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4065:1: ( rule__IfElseExpression__Group__3__Impl rule__IfElseExpression__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4066:2: rule__IfElseExpression__Group__3__Impl rule__IfElseExpression__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__3__Impl_in_rule__IfElseExpression__Group__38592);
-            rule__IfElseExpression__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__4_in_rule__IfElseExpression__Group__38595);
-            rule__IfElseExpression__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__3"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4073:1: rule__IfElseExpression__Group__3__Impl : ( ( rule__IfElseExpression__IfExpressionAssignment_3 ) ) ;
-    public final void rule__IfElseExpression__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4077:1: ( ( ( rule__IfElseExpression__IfExpressionAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4078:1: ( ( rule__IfElseExpression__IfExpressionAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4078:1: ( ( rule__IfElseExpression__IfExpressionAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4079:1: ( rule__IfElseExpression__IfExpressionAssignment_3 )
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getIfExpressionAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4080:1: ( rule__IfElseExpression__IfExpressionAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4080:2: rule__IfElseExpression__IfExpressionAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__IfExpressionAssignment_3_in_rule__IfElseExpression__Group__3__Impl8622);
-            rule__IfElseExpression__IfExpressionAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIfElseExpressionAccess().getIfExpressionAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__3__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4090:1: rule__IfElseExpression__Group__4 : rule__IfElseExpression__Group__4__Impl rule__IfElseExpression__Group__5 ;
-    public final void rule__IfElseExpression__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4094:1: ( rule__IfElseExpression__Group__4__Impl rule__IfElseExpression__Group__5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4095:2: rule__IfElseExpression__Group__4__Impl rule__IfElseExpression__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__4__Impl_in_rule__IfElseExpression__Group__48652);
-            rule__IfElseExpression__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__5_in_rule__IfElseExpression__Group__48655);
-            rule__IfElseExpression__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__4"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4102:1: rule__IfElseExpression__Group__4__Impl : ( 'elseExpression' ) ;
-    public final void rule__IfElseExpression__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4106:1: ( ( 'elseExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4107:1: ( 'elseExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4107:1: ( 'elseExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4108:1: 'elseExpression'
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getElseExpressionKeyword_4()); 
-            match(input,35,FollowSets000.FOLLOW_35_in_rule__IfElseExpression__Group__4__Impl8683); 
-             after(grammarAccess.getIfElseExpressionAccess().getElseExpressionKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__4__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4121:1: rule__IfElseExpression__Group__5 : rule__IfElseExpression__Group__5__Impl rule__IfElseExpression__Group__6 ;
-    public final void rule__IfElseExpression__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4125:1: ( rule__IfElseExpression__Group__5__Impl rule__IfElseExpression__Group__6 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4126:2: rule__IfElseExpression__Group__5__Impl rule__IfElseExpression__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__5__Impl_in_rule__IfElseExpression__Group__58714);
-            rule__IfElseExpression__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__6_in_rule__IfElseExpression__Group__58717);
-            rule__IfElseExpression__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__5"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__5__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4133:1: rule__IfElseExpression__Group__5__Impl : ( ( rule__IfElseExpression__ElseExpressionAssignment_5 ) ) ;
-    public final void rule__IfElseExpression__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4137:1: ( ( ( rule__IfElseExpression__ElseExpressionAssignment_5 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4138:1: ( ( rule__IfElseExpression__ElseExpressionAssignment_5 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4138:1: ( ( rule__IfElseExpression__ElseExpressionAssignment_5 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4139:1: ( rule__IfElseExpression__ElseExpressionAssignment_5 )
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getElseExpressionAssignment_5()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4140:1: ( rule__IfElseExpression__ElseExpressionAssignment_5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4140:2: rule__IfElseExpression__ElseExpressionAssignment_5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__ElseExpressionAssignment_5_in_rule__IfElseExpression__Group__5__Impl8744);
-            rule__IfElseExpression__ElseExpressionAssignment_5();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIfElseExpressionAccess().getElseExpressionAssignment_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__5__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__6"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4150:1: rule__IfElseExpression__Group__6 : rule__IfElseExpression__Group__6__Impl rule__IfElseExpression__Group__7 ;
-    public final void rule__IfElseExpression__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4154:1: ( rule__IfElseExpression__Group__6__Impl rule__IfElseExpression__Group__7 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4155:2: rule__IfElseExpression__Group__6__Impl rule__IfElseExpression__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__6__Impl_in_rule__IfElseExpression__Group__68774);
-            rule__IfElseExpression__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__7_in_rule__IfElseExpression__Group__68777);
-            rule__IfElseExpression__Group__7();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__6"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__6__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4162:1: rule__IfElseExpression__Group__6__Impl : ( 'conditionExpression' ) ;
-    public final void rule__IfElseExpression__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4166:1: ( ( 'conditionExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4167:1: ( 'conditionExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4167:1: ( 'conditionExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4168:1: 'conditionExpression'
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getConditionExpressionKeyword_6()); 
-            match(input,36,FollowSets000.FOLLOW_36_in_rule__IfElseExpression__Group__6__Impl8805); 
-             after(grammarAccess.getIfElseExpressionAccess().getConditionExpressionKeyword_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__6__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__7"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4181:1: rule__IfElseExpression__Group__7 : rule__IfElseExpression__Group__7__Impl rule__IfElseExpression__Group__8 ;
-    public final void rule__IfElseExpression__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4185:1: ( rule__IfElseExpression__Group__7__Impl rule__IfElseExpression__Group__8 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4186:2: rule__IfElseExpression__Group__7__Impl rule__IfElseExpression__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__7__Impl_in_rule__IfElseExpression__Group__78836);
-            rule__IfElseExpression__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__8_in_rule__IfElseExpression__Group__78839);
-            rule__IfElseExpression__Group__8();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__7"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__7__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4193:1: rule__IfElseExpression__Group__7__Impl : ( ( rule__IfElseExpression__ConditionExpressionAssignment_7 ) ) ;
-    public final void rule__IfElseExpression__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4197:1: ( ( ( rule__IfElseExpression__ConditionExpressionAssignment_7 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4198:1: ( ( rule__IfElseExpression__ConditionExpressionAssignment_7 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4198:1: ( ( rule__IfElseExpression__ConditionExpressionAssignment_7 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4199:1: ( rule__IfElseExpression__ConditionExpressionAssignment_7 )
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getConditionExpressionAssignment_7()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4200:1: ( rule__IfElseExpression__ConditionExpressionAssignment_7 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4200:2: rule__IfElseExpression__ConditionExpressionAssignment_7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__ConditionExpressionAssignment_7_in_rule__IfElseExpression__Group__7__Impl8866);
-            rule__IfElseExpression__ConditionExpressionAssignment_7();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIfElseExpressionAccess().getConditionExpressionAssignment_7()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__7__Impl"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__8"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4210:1: rule__IfElseExpression__Group__8 : rule__IfElseExpression__Group__8__Impl ;
-    public final void rule__IfElseExpression__Group__8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4214:1: ( rule__IfElseExpression__Group__8__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4215:2: rule__IfElseExpression__Group__8__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IfElseExpression__Group__8__Impl_in_rule__IfElseExpression__Group__88896);
-            rule__IfElseExpression__Group__8__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__8"
-
-
-    // $ANTLR start "rule__IfElseExpression__Group__8__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4221:1: rule__IfElseExpression__Group__8__Impl : ( '}' ) ;
-    public final void rule__IfElseExpression__Group__8__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4225:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4226:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4226:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4227:1: '}'
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getRightCurlyBracketKeyword_8()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__IfElseExpression__Group__8__Impl8924); 
-             after(grammarAccess.getIfElseExpressionAccess().getRightCurlyBracketKeyword_8()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__Group__8__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4258:1: rule__Function__Group__0 : rule__Function__Group__0__Impl rule__Function__Group__1 ;
-    public final void rule__Function__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4262:1: ( rule__Function__Group__0__Impl rule__Function__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4263:2: rule__Function__Group__0__Impl rule__Function__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__08973);
-            rule__Function__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__1_in_rule__Function__Group__08976);
-            rule__Function__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__0"
-
-
-    // $ANTLR start "rule__Function__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4270:1: rule__Function__Group__0__Impl : ( 'Function' ) ;
-    public final void rule__Function__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4274:1: ( ( 'Function' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4275:1: ( 'Function' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4275:1: ( 'Function' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4276:1: 'Function'
-            {
-             before(grammarAccess.getFunctionAccess().getFunctionKeyword_0()); 
-            match(input,37,FollowSets000.FOLLOW_37_in_rule__Function__Group__0__Impl9004); 
-             after(grammarAccess.getFunctionAccess().getFunctionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4289:1: rule__Function__Group__1 : rule__Function__Group__1__Impl rule__Function__Group__2 ;
-    public final void rule__Function__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4293:1: ( rule__Function__Group__1__Impl rule__Function__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4294:2: rule__Function__Group__1__Impl rule__Function__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__19035);
-            rule__Function__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__2_in_rule__Function__Group__19038);
-            rule__Function__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__1"
-
-
-    // $ANTLR start "rule__Function__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4301:1: rule__Function__Group__1__Impl : ( '{' ) ;
-    public final void rule__Function__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4305:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4306:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4306:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4307:1: '{'
-            {
-             before(grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__Function__Group__1__Impl9066); 
-             after(grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__1__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4320:1: rule__Function__Group__2 : rule__Function__Group__2__Impl rule__Function__Group__3 ;
-    public final void rule__Function__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4324:1: ( rule__Function__Group__2__Impl rule__Function__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4325:2: rule__Function__Group__2__Impl rule__Function__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__29097);
-            rule__Function__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__3_in_rule__Function__Group__29100);
-            rule__Function__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__2"
-
-
-    // $ANTLR start "rule__Function__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4332:1: rule__Function__Group__2__Impl : ( 'id' ) ;
-    public final void rule__Function__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4336:1: ( ( 'id' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4337:1: ( 'id' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4337:1: ( 'id' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4338:1: 'id'
-            {
-             before(grammarAccess.getFunctionAccess().getIdKeyword_2()); 
-            match(input,38,FollowSets000.FOLLOW_38_in_rule__Function__Group__2__Impl9128); 
-             after(grammarAccess.getFunctionAccess().getIdKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__2__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4351:1: rule__Function__Group__3 : rule__Function__Group__3__Impl rule__Function__Group__4 ;
-    public final void rule__Function__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4355:1: ( rule__Function__Group__3__Impl rule__Function__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4356:2: rule__Function__Group__3__Impl rule__Function__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__39159);
-            rule__Function__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__4_in_rule__Function__Group__39162);
-            rule__Function__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__3"
-
-
-    // $ANTLR start "rule__Function__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4363:1: rule__Function__Group__3__Impl : ( ( rule__Function__IdAssignment_3 ) ) ;
-    public final void rule__Function__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4367:1: ( ( ( rule__Function__IdAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4368:1: ( ( rule__Function__IdAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4368:1: ( ( rule__Function__IdAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4369:1: ( rule__Function__IdAssignment_3 )
-            {
-             before(grammarAccess.getFunctionAccess().getIdAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4370:1: ( rule__Function__IdAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4370:2: rule__Function__IdAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__IdAssignment_3_in_rule__Function__Group__3__Impl9189);
-            rule__Function__IdAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getIdAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__3__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4380:1: rule__Function__Group__4 : rule__Function__Group__4__Impl rule__Function__Group__5 ;
-    public final void rule__Function__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4384:1: ( rule__Function__Group__4__Impl rule__Function__Group__5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4385:2: rule__Function__Group__4__Impl rule__Function__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__4__Impl_in_rule__Function__Group__49219);
-            rule__Function__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__5_in_rule__Function__Group__49222);
-            rule__Function__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__4"
-
-
-    // $ANTLR start "rule__Function__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4392:1: rule__Function__Group__4__Impl : ( ( rule__Function__Group_4__0 )? ) ;
-    public final void rule__Function__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4396:1: ( ( ( rule__Function__Group_4__0 )? ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4397:1: ( ( rule__Function__Group_4__0 )? )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4397:1: ( ( rule__Function__Group_4__0 )? )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4398:1: ( rule__Function__Group_4__0 )?
-            {
-             before(grammarAccess.getFunctionAccess().getGroup_4()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4399:1: ( rule__Function__Group_4__0 )?
-            int alt12=2;
-            int LA12_0 = input.LA(1);
-
-            if ( (LA12_0==39) ) {
-                alt12=1;
-            }
-            switch (alt12) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4399:2: rule__Function__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__0_in_rule__Function__Group__4__Impl9249);
-                    rule__Function__Group_4__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getGroup_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__4__Impl"
-
-
-    // $ANTLR start "rule__Function__Group__5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4409:1: rule__Function__Group__5 : rule__Function__Group__5__Impl ;
-    public final void rule__Function__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4413:1: ( rule__Function__Group__5__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4414:2: rule__Function__Group__5__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group__5__Impl_in_rule__Function__Group__59280);
-            rule__Function__Group__5__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__5"
-
-
-    // $ANTLR start "rule__Function__Group__5__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4420:1: rule__Function__Group__5__Impl : ( '}' ) ;
-    public final void rule__Function__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4424:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4425:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4425:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4426:1: '}'
-            {
-             before(grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Function__Group__5__Impl9308); 
-             after(grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group__5__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_4__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4451:1: rule__Function__Group_4__0 : rule__Function__Group_4__0__Impl rule__Function__Group_4__1 ;
-    public final void rule__Function__Group_4__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4455:1: ( rule__Function__Group_4__0__Impl rule__Function__Group_4__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4456:2: rule__Function__Group_4__0__Impl rule__Function__Group_4__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__0__Impl_in_rule__Function__Group_4__09351);
-            rule__Function__Group_4__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__1_in_rule__Function__Group_4__09354);
-            rule__Function__Group_4__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__0"
-
-
-    // $ANTLR start "rule__Function__Group_4__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4463:1: rule__Function__Group_4__0__Impl : ( 'parameters' ) ;
-    public final void rule__Function__Group_4__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4467:1: ( ( 'parameters' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4468:1: ( 'parameters' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4468:1: ( 'parameters' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4469:1: 'parameters'
-            {
-             before(grammarAccess.getFunctionAccess().getParametersKeyword_4_0()); 
-            match(input,39,FollowSets000.FOLLOW_39_in_rule__Function__Group_4__0__Impl9382); 
-             after(grammarAccess.getFunctionAccess().getParametersKeyword_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__0__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_4__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4482:1: rule__Function__Group_4__1 : rule__Function__Group_4__1__Impl rule__Function__Group_4__2 ;
-    public final void rule__Function__Group_4__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4486:1: ( rule__Function__Group_4__1__Impl rule__Function__Group_4__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4487:2: rule__Function__Group_4__1__Impl rule__Function__Group_4__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__1__Impl_in_rule__Function__Group_4__19413);
-            rule__Function__Group_4__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__2_in_rule__Function__Group_4__19416);
-            rule__Function__Group_4__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__1"
-
-
-    // $ANTLR start "rule__Function__Group_4__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4494:1: rule__Function__Group_4__1__Impl : ( '{' ) ;
-    public final void rule__Function__Group_4__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4498:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4499:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4499:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4500:1: '{'
-            {
-             before(grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_4_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__Function__Group_4__1__Impl9444); 
-             after(grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_4_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__1__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_4__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4513:1: rule__Function__Group_4__2 : rule__Function__Group_4__2__Impl rule__Function__Group_4__3 ;
-    public final void rule__Function__Group_4__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4517:1: ( rule__Function__Group_4__2__Impl rule__Function__Group_4__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4518:2: rule__Function__Group_4__2__Impl rule__Function__Group_4__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__2__Impl_in_rule__Function__Group_4__29475);
-            rule__Function__Group_4__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__3_in_rule__Function__Group_4__29478);
-            rule__Function__Group_4__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__2"
-
-
-    // $ANTLR start "rule__Function__Group_4__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4525:1: rule__Function__Group_4__2__Impl : ( ( rule__Function__ParametersAssignment_4_2 ) ) ;
-    public final void rule__Function__Group_4__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4529:1: ( ( ( rule__Function__ParametersAssignment_4_2 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4530:1: ( ( rule__Function__ParametersAssignment_4_2 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4530:1: ( ( rule__Function__ParametersAssignment_4_2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4531:1: ( rule__Function__ParametersAssignment_4_2 )
-            {
-             before(grammarAccess.getFunctionAccess().getParametersAssignment_4_2()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4532:1: ( rule__Function__ParametersAssignment_4_2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4532:2: rule__Function__ParametersAssignment_4_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__ParametersAssignment_4_2_in_rule__Function__Group_4__2__Impl9505);
-            rule__Function__ParametersAssignment_4_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getParametersAssignment_4_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__2__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_4__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4542:1: rule__Function__Group_4__3 : rule__Function__Group_4__3__Impl rule__Function__Group_4__4 ;
-    public final void rule__Function__Group_4__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4546:1: ( rule__Function__Group_4__3__Impl rule__Function__Group_4__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4547:2: rule__Function__Group_4__3__Impl rule__Function__Group_4__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__3__Impl_in_rule__Function__Group_4__39535);
-            rule__Function__Group_4__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__4_in_rule__Function__Group_4__39538);
-            rule__Function__Group_4__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__3"
-
-
-    // $ANTLR start "rule__Function__Group_4__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4554:1: rule__Function__Group_4__3__Impl : ( ( rule__Function__Group_4_3__0 )* ) ;
-    public final void rule__Function__Group_4__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4558:1: ( ( ( rule__Function__Group_4_3__0 )* ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4559:1: ( ( rule__Function__Group_4_3__0 )* )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4559:1: ( ( rule__Function__Group_4_3__0 )* )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4560:1: ( rule__Function__Group_4_3__0 )*
-            {
-             before(grammarAccess.getFunctionAccess().getGroup_4_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4561:1: ( rule__Function__Group_4_3__0 )*
-            loop13:
-            do {
-                int alt13=2;
-                int LA13_0 = input.LA(1);
-
-                if ( (LA13_0==40) ) {
-                    alt13=1;
-                }
-
-
-                switch (alt13) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4561:2: rule__Function__Group_4_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4_3__0_in_rule__Function__Group_4__3__Impl9565);
-            	    rule__Function__Group_4_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop13;
-                }
-            } while (true);
-
-             after(grammarAccess.getFunctionAccess().getGroup_4_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__3__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_4__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4571:1: rule__Function__Group_4__4 : rule__Function__Group_4__4__Impl ;
-    public final void rule__Function__Group_4__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4575:1: ( rule__Function__Group_4__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4576:2: rule__Function__Group_4__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4__4__Impl_in_rule__Function__Group_4__49596);
-            rule__Function__Group_4__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__4"
-
-
-    // $ANTLR start "rule__Function__Group_4__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4582:1: rule__Function__Group_4__4__Impl : ( '}' ) ;
-    public final void rule__Function__Group_4__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4586:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4587:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4587:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4588:1: '}'
-            {
-             before(grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_4_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Function__Group_4__4__Impl9624); 
-             after(grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_4_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4__4__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_4_3__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4611:1: rule__Function__Group_4_3__0 : rule__Function__Group_4_3__0__Impl rule__Function__Group_4_3__1 ;
-    public final void rule__Function__Group_4_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4615:1: ( rule__Function__Group_4_3__0__Impl rule__Function__Group_4_3__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4616:2: rule__Function__Group_4_3__0__Impl rule__Function__Group_4_3__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4_3__0__Impl_in_rule__Function__Group_4_3__09665);
-            rule__Function__Group_4_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4_3__1_in_rule__Function__Group_4_3__09668);
-            rule__Function__Group_4_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4_3__0"
-
-
-    // $ANTLR start "rule__Function__Group_4_3__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4623:1: rule__Function__Group_4_3__0__Impl : ( ',' ) ;
-    public final void rule__Function__Group_4_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4627:1: ( ( ',' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4628:1: ( ',' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4628:1: ( ',' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4629:1: ','
-            {
-             before(grammarAccess.getFunctionAccess().getCommaKeyword_4_3_0()); 
-            match(input,40,FollowSets000.FOLLOW_40_in_rule__Function__Group_4_3__0__Impl9696); 
-             after(grammarAccess.getFunctionAccess().getCommaKeyword_4_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4_3__0__Impl"
-
-
-    // $ANTLR start "rule__Function__Group_4_3__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4642:1: rule__Function__Group_4_3__1 : rule__Function__Group_4_3__1__Impl ;
-    public final void rule__Function__Group_4_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4646:1: ( rule__Function__Group_4_3__1__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4647:2: rule__Function__Group_4_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__Group_4_3__1__Impl_in_rule__Function__Group_4_3__19727);
-            rule__Function__Group_4_3__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4_3__1"
-
-
-    // $ANTLR start "rule__Function__Group_4_3__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4653:1: rule__Function__Group_4_3__1__Impl : ( ( rule__Function__ParametersAssignment_4_3_1 ) ) ;
-    public final void rule__Function__Group_4_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4657:1: ( ( ( rule__Function__ParametersAssignment_4_3_1 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4658:1: ( ( rule__Function__ParametersAssignment_4_3_1 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4658:1: ( ( rule__Function__ParametersAssignment_4_3_1 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4659:1: ( rule__Function__ParametersAssignment_4_3_1 )
-            {
-             before(grammarAccess.getFunctionAccess().getParametersAssignment_4_3_1()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4660:1: ( rule__Function__ParametersAssignment_4_3_1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4660:2: rule__Function__ParametersAssignment_4_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Function__ParametersAssignment_4_3_1_in_rule__Function__Group_4_3__1__Impl9754);
-            rule__Function__ParametersAssignment_4_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFunctionAccess().getParametersAssignment_4_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__Group_4_3__1__Impl"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4674:1: rule__Parenthesis__Group__0 : rule__Parenthesis__Group__0__Impl rule__Parenthesis__Group__1 ;
-    public final void rule__Parenthesis__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4678:1: ( rule__Parenthesis__Group__0__Impl rule__Parenthesis__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4679:2: rule__Parenthesis__Group__0__Impl rule__Parenthesis__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__0__Impl_in_rule__Parenthesis__Group__09788);
-            rule__Parenthesis__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__1_in_rule__Parenthesis__Group__09791);
-            rule__Parenthesis__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__0"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4686:1: rule__Parenthesis__Group__0__Impl : ( 'Parenthesis' ) ;
-    public final void rule__Parenthesis__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4690:1: ( ( 'Parenthesis' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4691:1: ( 'Parenthesis' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4691:1: ( 'Parenthesis' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4692:1: 'Parenthesis'
-            {
-             before(grammarAccess.getParenthesisAccess().getParenthesisKeyword_0()); 
-            match(input,41,FollowSets000.FOLLOW_41_in_rule__Parenthesis__Group__0__Impl9819); 
-             after(grammarAccess.getParenthesisAccess().getParenthesisKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4705:1: rule__Parenthesis__Group__1 : rule__Parenthesis__Group__1__Impl rule__Parenthesis__Group__2 ;
-    public final void rule__Parenthesis__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4709:1: ( rule__Parenthesis__Group__1__Impl rule__Parenthesis__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4710:2: rule__Parenthesis__Group__1__Impl rule__Parenthesis__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__1__Impl_in_rule__Parenthesis__Group__19850);
-            rule__Parenthesis__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__2_in_rule__Parenthesis__Group__19853);
-            rule__Parenthesis__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__1"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4717:1: rule__Parenthesis__Group__1__Impl : ( '{' ) ;
-    public final void rule__Parenthesis__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4721:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4722:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4722:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4723:1: '{'
-            {
-             before(grammarAccess.getParenthesisAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__Parenthesis__Group__1__Impl9881); 
-             after(grammarAccess.getParenthesisAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__1__Impl"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4736:1: rule__Parenthesis__Group__2 : rule__Parenthesis__Group__2__Impl rule__Parenthesis__Group__3 ;
-    public final void rule__Parenthesis__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4740:1: ( rule__Parenthesis__Group__2__Impl rule__Parenthesis__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4741:2: rule__Parenthesis__Group__2__Impl rule__Parenthesis__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__2__Impl_in_rule__Parenthesis__Group__29912);
-            rule__Parenthesis__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__3_in_rule__Parenthesis__Group__29915);
-            rule__Parenthesis__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__2"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4748:1: rule__Parenthesis__Group__2__Impl : ( 'innerExpression' ) ;
-    public final void rule__Parenthesis__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4752:1: ( ( 'innerExpression' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4753:1: ( 'innerExpression' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4753:1: ( 'innerExpression' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4754:1: 'innerExpression'
-            {
-             before(grammarAccess.getParenthesisAccess().getInnerExpressionKeyword_2()); 
-            match(input,42,FollowSets000.FOLLOW_42_in_rule__Parenthesis__Group__2__Impl9943); 
-             after(grammarAccess.getParenthesisAccess().getInnerExpressionKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__2__Impl"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4767:1: rule__Parenthesis__Group__3 : rule__Parenthesis__Group__3__Impl rule__Parenthesis__Group__4 ;
-    public final void rule__Parenthesis__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4771:1: ( rule__Parenthesis__Group__3__Impl rule__Parenthesis__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4772:2: rule__Parenthesis__Group__3__Impl rule__Parenthesis__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__3__Impl_in_rule__Parenthesis__Group__39974);
-            rule__Parenthesis__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__4_in_rule__Parenthesis__Group__39977);
-            rule__Parenthesis__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__3"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4779:1: rule__Parenthesis__Group__3__Impl : ( ( rule__Parenthesis__InnerExpressionAssignment_3 ) ) ;
-    public final void rule__Parenthesis__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4783:1: ( ( ( rule__Parenthesis__InnerExpressionAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4784:1: ( ( rule__Parenthesis__InnerExpressionAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4784:1: ( ( rule__Parenthesis__InnerExpressionAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4785:1: ( rule__Parenthesis__InnerExpressionAssignment_3 )
-            {
-             before(grammarAccess.getParenthesisAccess().getInnerExpressionAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4786:1: ( rule__Parenthesis__InnerExpressionAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4786:2: rule__Parenthesis__InnerExpressionAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__InnerExpressionAssignment_3_in_rule__Parenthesis__Group__3__Impl10004);
-            rule__Parenthesis__InnerExpressionAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getParenthesisAccess().getInnerExpressionAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__3__Impl"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4796:1: rule__Parenthesis__Group__4 : rule__Parenthesis__Group__4__Impl ;
-    public final void rule__Parenthesis__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4800:1: ( rule__Parenthesis__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4801:2: rule__Parenthesis__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parenthesis__Group__4__Impl_in_rule__Parenthesis__Group__410034);
-            rule__Parenthesis__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__4"
-
-
-    // $ANTLR start "rule__Parenthesis__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4807:1: rule__Parenthesis__Group__4__Impl : ( '}' ) ;
-    public final void rule__Parenthesis__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4811:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4812:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4812:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4813:1: '}'
-            {
-             before(grammarAccess.getParenthesisAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Parenthesis__Group__4__Impl10062); 
-             after(grammarAccess.getParenthesisAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__Group__4__Impl"
-
-
-    // $ANTLR start "rule__Literal_Impl__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4836:1: rule__Literal_Impl__Group__0 : rule__Literal_Impl__Group__0__Impl rule__Literal_Impl__Group__1 ;
-    public final void rule__Literal_Impl__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4840:1: ( rule__Literal_Impl__Group__0__Impl rule__Literal_Impl__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4841:2: rule__Literal_Impl__Group__0__Impl rule__Literal_Impl__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Literal_Impl__Group__0__Impl_in_rule__Literal_Impl__Group__010103);
-            rule__Literal_Impl__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Literal_Impl__Group__1_in_rule__Literal_Impl__Group__010106);
-            rule__Literal_Impl__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Literal_Impl__Group__0"
-
-
-    // $ANTLR start "rule__Literal_Impl__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4848:1: rule__Literal_Impl__Group__0__Impl : ( () ) ;
-    public final void rule__Literal_Impl__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4852:1: ( ( () ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4853:1: ( () )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4853:1: ( () )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4854:1: ()
-            {
-             before(grammarAccess.getLiteral_ImplAccess().getLiteralAction_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4855:1: ()
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4857:1: 
-            {
-            }
-
-             after(grammarAccess.getLiteral_ImplAccess().getLiteralAction_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Literal_Impl__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Literal_Impl__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4867:1: rule__Literal_Impl__Group__1 : rule__Literal_Impl__Group__1__Impl ;
-    public final void rule__Literal_Impl__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4871:1: ( rule__Literal_Impl__Group__1__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4872:2: rule__Literal_Impl__Group__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Literal_Impl__Group__1__Impl_in_rule__Literal_Impl__Group__110164);
-            rule__Literal_Impl__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Literal_Impl__Group__1"
-
-
-    // $ANTLR start "rule__Literal_Impl__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4878:1: rule__Literal_Impl__Group__1__Impl : ( 'Literal' ) ;
-    public final void rule__Literal_Impl__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4882:1: ( ( 'Literal' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4883:1: ( 'Literal' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4883:1: ( 'Literal' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4884:1: 'Literal'
-            {
-             before(grammarAccess.getLiteral_ImplAccess().getLiteralKeyword_1()); 
-            match(input,43,FollowSets000.FOLLOW_43_in_rule__Literal_Impl__Group__1__Impl10192); 
-             after(grammarAccess.getLiteral_ImplAccess().getLiteralKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Literal_Impl__Group__1__Impl"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4901:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
-    public final void rule__StringLiteral__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4905:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4906:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__010227);
-            rule__StringLiteral__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__010230);
-            rule__StringLiteral__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__0"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4913:1: rule__StringLiteral__Group__0__Impl : ( 'StringLiteral' ) ;
-    public final void rule__StringLiteral__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4917:1: ( ( 'StringLiteral' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4918:1: ( 'StringLiteral' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4918:1: ( 'StringLiteral' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4919:1: 'StringLiteral'
-            {
-             before(grammarAccess.getStringLiteralAccess().getStringLiteralKeyword_0()); 
-            match(input,44,FollowSets000.FOLLOW_44_in_rule__StringLiteral__Group__0__Impl10258); 
-             after(grammarAccess.getStringLiteralAccess().getStringLiteralKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__0__Impl"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4932:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl rule__StringLiteral__Group__2 ;
-    public final void rule__StringLiteral__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4936:1: ( rule__StringLiteral__Group__1__Impl rule__StringLiteral__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4937:2: rule__StringLiteral__Group__1__Impl rule__StringLiteral__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__110289);
-            rule__StringLiteral__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__2_in_rule__StringLiteral__Group__110292);
-            rule__StringLiteral__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__1"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4944:1: rule__StringLiteral__Group__1__Impl : ( '{' ) ;
-    public final void rule__StringLiteral__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4948:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4949:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4949:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4950:1: '{'
-            {
-             before(grammarAccess.getStringLiteralAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__StringLiteral__Group__1__Impl10320); 
-             after(grammarAccess.getStringLiteralAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__1__Impl"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4963:1: rule__StringLiteral__Group__2 : rule__StringLiteral__Group__2__Impl rule__StringLiteral__Group__3 ;
-    public final void rule__StringLiteral__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4967:1: ( rule__StringLiteral__Group__2__Impl rule__StringLiteral__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4968:2: rule__StringLiteral__Group__2__Impl rule__StringLiteral__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__2__Impl_in_rule__StringLiteral__Group__210351);
-            rule__StringLiteral__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__3_in_rule__StringLiteral__Group__210354);
-            rule__StringLiteral__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__2"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4975:1: rule__StringLiteral__Group__2__Impl : ( 'value' ) ;
-    public final void rule__StringLiteral__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4979:1: ( ( 'value' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4980:1: ( 'value' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4980:1: ( 'value' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4981:1: 'value'
-            {
-             before(grammarAccess.getStringLiteralAccess().getValueKeyword_2()); 
-            match(input,45,FollowSets000.FOLLOW_45_in_rule__StringLiteral__Group__2__Impl10382); 
-             after(grammarAccess.getStringLiteralAccess().getValueKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__2__Impl"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4994:1: rule__StringLiteral__Group__3 : rule__StringLiteral__Group__3__Impl rule__StringLiteral__Group__4 ;
-    public final void rule__StringLiteral__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4998:1: ( rule__StringLiteral__Group__3__Impl rule__StringLiteral__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:4999:2: rule__StringLiteral__Group__3__Impl rule__StringLiteral__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__3__Impl_in_rule__StringLiteral__Group__310413);
-            rule__StringLiteral__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__4_in_rule__StringLiteral__Group__310416);
-            rule__StringLiteral__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__3"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5006:1: rule__StringLiteral__Group__3__Impl : ( ( rule__StringLiteral__ValueAssignment_3 ) ) ;
-    public final void rule__StringLiteral__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5010:1: ( ( ( rule__StringLiteral__ValueAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5011:1: ( ( rule__StringLiteral__ValueAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5011:1: ( ( rule__StringLiteral__ValueAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5012:1: ( rule__StringLiteral__ValueAssignment_3 )
-            {
-             before(grammarAccess.getStringLiteralAccess().getValueAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5013:1: ( rule__StringLiteral__ValueAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5013:2: rule__StringLiteral__ValueAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__ValueAssignment_3_in_rule__StringLiteral__Group__3__Impl10443);
-            rule__StringLiteral__ValueAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getStringLiteralAccess().getValueAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__3__Impl"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5023:1: rule__StringLiteral__Group__4 : rule__StringLiteral__Group__4__Impl ;
-    public final void rule__StringLiteral__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5027:1: ( rule__StringLiteral__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5028:2: rule__StringLiteral__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StringLiteral__Group__4__Impl_in_rule__StringLiteral__Group__410473);
-            rule__StringLiteral__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__4"
-
-
-    // $ANTLR start "rule__StringLiteral__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5034:1: rule__StringLiteral__Group__4__Impl : ( '}' ) ;
-    public final void rule__StringLiteral__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5038:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5039:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5039:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5040:1: '}'
-            {
-             before(grammarAccess.getStringLiteralAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__StringLiteral__Group__4__Impl10501); 
-             after(grammarAccess.getStringLiteralAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__Group__4__Impl"
-
-
-    // $ANTLR start "rule__BoolLiteral__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5063:1: rule__BoolLiteral__Group__0 : rule__BoolLiteral__Group__0__Impl rule__BoolLiteral__Group__1 ;
-    public final void rule__BoolLiteral__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5067:1: ( rule__BoolLiteral__Group__0__Impl rule__BoolLiteral__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5068:2: rule__BoolLiteral__Group__0__Impl rule__BoolLiteral__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoolLiteral__Group__0__Impl_in_rule__BoolLiteral__Group__010542);
-            rule__BoolLiteral__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoolLiteral__Group__1_in_rule__BoolLiteral__Group__010545);
-            rule__BoolLiteral__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoolLiteral__Group__0"
-
-
-    // $ANTLR start "rule__BoolLiteral__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5075:1: rule__BoolLiteral__Group__0__Impl : ( ( rule__BoolLiteral__ValueAssignment_0 ) ) ;
-    public final void rule__BoolLiteral__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5079:1: ( ( ( rule__BoolLiteral__ValueAssignment_0 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5080:1: ( ( rule__BoolLiteral__ValueAssignment_0 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5080:1: ( ( rule__BoolLiteral__ValueAssignment_0 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5081:1: ( rule__BoolLiteral__ValueAssignment_0 )
-            {
-             before(grammarAccess.getBoolLiteralAccess().getValueAssignment_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5082:1: ( rule__BoolLiteral__ValueAssignment_0 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5082:2: rule__BoolLiteral__ValueAssignment_0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoolLiteral__ValueAssignment_0_in_rule__BoolLiteral__Group__0__Impl10572);
-            rule__BoolLiteral__ValueAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBoolLiteralAccess().getValueAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoolLiteral__Group__0__Impl"
-
-
-    // $ANTLR start "rule__BoolLiteral__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5092:1: rule__BoolLiteral__Group__1 : rule__BoolLiteral__Group__1__Impl ;
-    public final void rule__BoolLiteral__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5096:1: ( rule__BoolLiteral__Group__1__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5097:2: rule__BoolLiteral__Group__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoolLiteral__Group__1__Impl_in_rule__BoolLiteral__Group__110602);
-            rule__BoolLiteral__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoolLiteral__Group__1"
-
-
-    // $ANTLR start "rule__BoolLiteral__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5103:1: rule__BoolLiteral__Group__1__Impl : ( 'BoolLiteral' ) ;
-    public final void rule__BoolLiteral__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5107:1: ( ( 'BoolLiteral' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5108:1: ( 'BoolLiteral' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5108:1: ( 'BoolLiteral' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5109:1: 'BoolLiteral'
-            {
-             before(grammarAccess.getBoolLiteralAccess().getBoolLiteralKeyword_1()); 
-            match(input,46,FollowSets000.FOLLOW_46_in_rule__BoolLiteral__Group__1__Impl10630); 
-             after(grammarAccess.getBoolLiteralAccess().getBoolLiteralKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoolLiteral__Group__1__Impl"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5126:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
-    public final void rule__IntLiteral__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5130:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5131:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__010665);
-            rule__IntLiteral__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__010668);
-            rule__IntLiteral__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__0"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5138:1: rule__IntLiteral__Group__0__Impl : ( 'IntLiteral' ) ;
-    public final void rule__IntLiteral__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5142:1: ( ( 'IntLiteral' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5143:1: ( 'IntLiteral' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5143:1: ( 'IntLiteral' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5144:1: 'IntLiteral'
-            {
-             before(grammarAccess.getIntLiteralAccess().getIntLiteralKeyword_0()); 
-            match(input,47,FollowSets000.FOLLOW_47_in_rule__IntLiteral__Group__0__Impl10696); 
-             after(grammarAccess.getIntLiteralAccess().getIntLiteralKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__0__Impl"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5157:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl rule__IntLiteral__Group__2 ;
-    public final void rule__IntLiteral__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5161:1: ( rule__IntLiteral__Group__1__Impl rule__IntLiteral__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5162:2: rule__IntLiteral__Group__1__Impl rule__IntLiteral__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__110727);
-            rule__IntLiteral__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__2_in_rule__IntLiteral__Group__110730);
-            rule__IntLiteral__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__1"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5169:1: rule__IntLiteral__Group__1__Impl : ( '{' ) ;
-    public final void rule__IntLiteral__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5173:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5174:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5174:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5175:1: '{'
-            {
-             before(grammarAccess.getIntLiteralAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__IntLiteral__Group__1__Impl10758); 
-             after(grammarAccess.getIntLiteralAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__1__Impl"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5188:1: rule__IntLiteral__Group__2 : rule__IntLiteral__Group__2__Impl rule__IntLiteral__Group__3 ;
-    public final void rule__IntLiteral__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5192:1: ( rule__IntLiteral__Group__2__Impl rule__IntLiteral__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5193:2: rule__IntLiteral__Group__2__Impl rule__IntLiteral__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__2__Impl_in_rule__IntLiteral__Group__210789);
-            rule__IntLiteral__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__3_in_rule__IntLiteral__Group__210792);
-            rule__IntLiteral__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__2"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5200:1: rule__IntLiteral__Group__2__Impl : ( 'value' ) ;
-    public final void rule__IntLiteral__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5204:1: ( ( 'value' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5205:1: ( 'value' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5205:1: ( 'value' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5206:1: 'value'
-            {
-             before(grammarAccess.getIntLiteralAccess().getValueKeyword_2()); 
-            match(input,45,FollowSets000.FOLLOW_45_in_rule__IntLiteral__Group__2__Impl10820); 
-             after(grammarAccess.getIntLiteralAccess().getValueKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__2__Impl"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5219:1: rule__IntLiteral__Group__3 : rule__IntLiteral__Group__3__Impl rule__IntLiteral__Group__4 ;
-    public final void rule__IntLiteral__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5223:1: ( rule__IntLiteral__Group__3__Impl rule__IntLiteral__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5224:2: rule__IntLiteral__Group__3__Impl rule__IntLiteral__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__3__Impl_in_rule__IntLiteral__Group__310851);
-            rule__IntLiteral__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__4_in_rule__IntLiteral__Group__310854);
-            rule__IntLiteral__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__3"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5231:1: rule__IntLiteral__Group__3__Impl : ( ( rule__IntLiteral__ValueAssignment_3 ) ) ;
-    public final void rule__IntLiteral__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5235:1: ( ( ( rule__IntLiteral__ValueAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5236:1: ( ( rule__IntLiteral__ValueAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5236:1: ( ( rule__IntLiteral__ValueAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5237:1: ( rule__IntLiteral__ValueAssignment_3 )
-            {
-             before(grammarAccess.getIntLiteralAccess().getValueAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5238:1: ( rule__IntLiteral__ValueAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5238:2: rule__IntLiteral__ValueAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__ValueAssignment_3_in_rule__IntLiteral__Group__3__Impl10881);
-            rule__IntLiteral__ValueAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getIntLiteralAccess().getValueAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__3__Impl"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5248:1: rule__IntLiteral__Group__4 : rule__IntLiteral__Group__4__Impl ;
-    public final void rule__IntLiteral__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5252:1: ( rule__IntLiteral__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5253:2: rule__IntLiteral__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__IntLiteral__Group__4__Impl_in_rule__IntLiteral__Group__410911);
-            rule__IntLiteral__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__4"
-
-
-    // $ANTLR start "rule__IntLiteral__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5259:1: rule__IntLiteral__Group__4__Impl : ( '}' ) ;
-    public final void rule__IntLiteral__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5263:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5264:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5264:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5265:1: '}'
-            {
-             before(grammarAccess.getIntLiteralAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__IntLiteral__Group__4__Impl10939); 
-             after(grammarAccess.getIntLiteralAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5288:1: rule__DoubleLiteral__Group__0 : rule__DoubleLiteral__Group__0__Impl rule__DoubleLiteral__Group__1 ;
-    public final void rule__DoubleLiteral__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5292:1: ( rule__DoubleLiteral__Group__0__Impl rule__DoubleLiteral__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5293:2: rule__DoubleLiteral__Group__0__Impl rule__DoubleLiteral__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__0__Impl_in_rule__DoubleLiteral__Group__010980);
-            rule__DoubleLiteral__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__1_in_rule__DoubleLiteral__Group__010983);
-            rule__DoubleLiteral__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__0"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5300:1: rule__DoubleLiteral__Group__0__Impl : ( 'DoubleLiteral' ) ;
-    public final void rule__DoubleLiteral__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5304:1: ( ( 'DoubleLiteral' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5305:1: ( 'DoubleLiteral' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5305:1: ( 'DoubleLiteral' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5306:1: 'DoubleLiteral'
-            {
-             before(grammarAccess.getDoubleLiteralAccess().getDoubleLiteralKeyword_0()); 
-            match(input,48,FollowSets000.FOLLOW_48_in_rule__DoubleLiteral__Group__0__Impl11011); 
-             after(grammarAccess.getDoubleLiteralAccess().getDoubleLiteralKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5319:1: rule__DoubleLiteral__Group__1 : rule__DoubleLiteral__Group__1__Impl rule__DoubleLiteral__Group__2 ;
-    public final void rule__DoubleLiteral__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5323:1: ( rule__DoubleLiteral__Group__1__Impl rule__DoubleLiteral__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5324:2: rule__DoubleLiteral__Group__1__Impl rule__DoubleLiteral__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__1__Impl_in_rule__DoubleLiteral__Group__111042);
-            rule__DoubleLiteral__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__2_in_rule__DoubleLiteral__Group__111045);
-            rule__DoubleLiteral__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__1"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5331:1: rule__DoubleLiteral__Group__1__Impl : ( '{' ) ;
-    public final void rule__DoubleLiteral__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5335:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5336:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5336:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5337:1: '{'
-            {
-             before(grammarAccess.getDoubleLiteralAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__DoubleLiteral__Group__1__Impl11073); 
-             after(grammarAccess.getDoubleLiteralAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5350:1: rule__DoubleLiteral__Group__2 : rule__DoubleLiteral__Group__2__Impl rule__DoubleLiteral__Group__3 ;
-    public final void rule__DoubleLiteral__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5354:1: ( rule__DoubleLiteral__Group__2__Impl rule__DoubleLiteral__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5355:2: rule__DoubleLiteral__Group__2__Impl rule__DoubleLiteral__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__2__Impl_in_rule__DoubleLiteral__Group__211104);
-            rule__DoubleLiteral__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__3_in_rule__DoubleLiteral__Group__211107);
-            rule__DoubleLiteral__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__2"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5362:1: rule__DoubleLiteral__Group__2__Impl : ( 'value' ) ;
-    public final void rule__DoubleLiteral__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5366:1: ( ( 'value' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5367:1: ( 'value' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5367:1: ( 'value' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5368:1: 'value'
-            {
-             before(grammarAccess.getDoubleLiteralAccess().getValueKeyword_2()); 
-            match(input,45,FollowSets000.FOLLOW_45_in_rule__DoubleLiteral__Group__2__Impl11135); 
-             after(grammarAccess.getDoubleLiteralAccess().getValueKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5381:1: rule__DoubleLiteral__Group__3 : rule__DoubleLiteral__Group__3__Impl rule__DoubleLiteral__Group__4 ;
-    public final void rule__DoubleLiteral__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5385:1: ( rule__DoubleLiteral__Group__3__Impl rule__DoubleLiteral__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5386:2: rule__DoubleLiteral__Group__3__Impl rule__DoubleLiteral__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__3__Impl_in_rule__DoubleLiteral__Group__311166);
-            rule__DoubleLiteral__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__4_in_rule__DoubleLiteral__Group__311169);
-            rule__DoubleLiteral__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__3"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5393:1: rule__DoubleLiteral__Group__3__Impl : ( ( rule__DoubleLiteral__ValueAssignment_3 ) ) ;
-    public final void rule__DoubleLiteral__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5397:1: ( ( ( rule__DoubleLiteral__ValueAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5398:1: ( ( rule__DoubleLiteral__ValueAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5398:1: ( ( rule__DoubleLiteral__ValueAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5399:1: ( rule__DoubleLiteral__ValueAssignment_3 )
-            {
-             before(grammarAccess.getDoubleLiteralAccess().getValueAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5400:1: ( rule__DoubleLiteral__ValueAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5400:2: rule__DoubleLiteral__ValueAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__ValueAssignment_3_in_rule__DoubleLiteral__Group__3__Impl11196);
-            rule__DoubleLiteral__ValueAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDoubleLiteralAccess().getValueAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5410:1: rule__DoubleLiteral__Group__4 : rule__DoubleLiteral__Group__4__Impl ;
-    public final void rule__DoubleLiteral__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5414:1: ( rule__DoubleLiteral__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5415:2: rule__DoubleLiteral__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__DoubleLiteral__Group__4__Impl_in_rule__DoubleLiteral__Group__411226);
-            rule__DoubleLiteral__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__4"
-
-
-    // $ANTLR start "rule__DoubleLiteral__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5421:1: rule__DoubleLiteral__Group__4__Impl : ( '}' ) ;
-    public final void rule__DoubleLiteral__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5425:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5426:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5426:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5427:1: '}'
-            {
-             before(grammarAccess.getDoubleLiteralAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__DoubleLiteral__Group__4__Impl11254); 
-             after(grammarAccess.getDoubleLiteralAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__Group__4__Impl"
-
-
-    // $ANTLR start "rule__FormalParameter__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5450:1: rule__FormalParameter__Group__0 : rule__FormalParameter__Group__0__Impl rule__FormalParameter__Group__1 ;
-    public final void rule__FormalParameter__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5454:1: ( rule__FormalParameter__Group__0__Impl rule__FormalParameter__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5455:2: rule__FormalParameter__Group__0__Impl rule__FormalParameter__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__FormalParameter__Group__0__Impl_in_rule__FormalParameter__Group__011295);
-            rule__FormalParameter__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__FormalParameter__Group__1_in_rule__FormalParameter__Group__011298);
-            rule__FormalParameter__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__FormalParameter__Group__0"
-
-
-    // $ANTLR start "rule__FormalParameter__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5462:1: rule__FormalParameter__Group__0__Impl : ( () ) ;
-    public final void rule__FormalParameter__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5466:1: ( ( () ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5467:1: ( () )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5467:1: ( () )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5468:1: ()
-            {
-             before(grammarAccess.getFormalParameterAccess().getFormalParameterAction_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5469:1: ()
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5471:1: 
-            {
-            }
-
-             after(grammarAccess.getFormalParameterAccess().getFormalParameterAction_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__FormalParameter__Group__0__Impl"
-
-
-    // $ANTLR start "rule__FormalParameter__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5481:1: rule__FormalParameter__Group__1 : rule__FormalParameter__Group__1__Impl rule__FormalParameter__Group__2 ;
-    public final void rule__FormalParameter__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5485:1: ( rule__FormalParameter__Group__1__Impl rule__FormalParameter__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5486:2: rule__FormalParameter__Group__1__Impl rule__FormalParameter__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__FormalParameter__Group__1__Impl_in_rule__FormalParameter__Group__111356);
-            rule__FormalParameter__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__FormalParameter__Group__2_in_rule__FormalParameter__Group__111359);
-            rule__FormalParameter__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__FormalParameter__Group__1"
-
-
-    // $ANTLR start "rule__FormalParameter__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5493:1: rule__FormalParameter__Group__1__Impl : ( 'FormalParameter' ) ;
-    public final void rule__FormalParameter__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5497:1: ( ( 'FormalParameter' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5498:1: ( 'FormalParameter' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5498:1: ( 'FormalParameter' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5499:1: 'FormalParameter'
-            {
-             before(grammarAccess.getFormalParameterAccess().getFormalParameterKeyword_1()); 
-            match(input,49,FollowSets000.FOLLOW_49_in_rule__FormalParameter__Group__1__Impl11387); 
-             after(grammarAccess.getFormalParameterAccess().getFormalParameterKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__FormalParameter__Group__1__Impl"
-
-
-    // $ANTLR start "rule__FormalParameter__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5512:1: rule__FormalParameter__Group__2 : rule__FormalParameter__Group__2__Impl ;
-    public final void rule__FormalParameter__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5516:1: ( rule__FormalParameter__Group__2__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5517:2: rule__FormalParameter__Group__2__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__FormalParameter__Group__2__Impl_in_rule__FormalParameter__Group__211418);
-            rule__FormalParameter__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__FormalParameter__Group__2"
-
-
-    // $ANTLR start "rule__FormalParameter__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5523:1: rule__FormalParameter__Group__2__Impl : ( ( rule__FormalParameter__NameAssignment_2 ) ) ;
-    public final void rule__FormalParameter__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5527:1: ( ( ( rule__FormalParameter__NameAssignment_2 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5528:1: ( ( rule__FormalParameter__NameAssignment_2 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5528:1: ( ( rule__FormalParameter__NameAssignment_2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5529:1: ( rule__FormalParameter__NameAssignment_2 )
-            {
-             before(grammarAccess.getFormalParameterAccess().getNameAssignment_2()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5530:1: ( rule__FormalParameter__NameAssignment_2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5530:2: rule__FormalParameter__NameAssignment_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__FormalParameter__NameAssignment_2_in_rule__FormalParameter__Group__2__Impl11445);
-            rule__FormalParameter__NameAssignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getFormalParameterAccess().getNameAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__FormalParameter__Group__2__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5546:1: rule__ProbabilityMassFunction__Group__0 : rule__ProbabilityMassFunction__Group__0__Impl rule__ProbabilityMassFunction__Group__1 ;
-    public final void rule__ProbabilityMassFunction__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5550:1: ( rule__ProbabilityMassFunction__Group__0__Impl rule__ProbabilityMassFunction__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5551:2: rule__ProbabilityMassFunction__Group__0__Impl rule__ProbabilityMassFunction__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__0__Impl_in_rule__ProbabilityMassFunction__Group__011481);
-            rule__ProbabilityMassFunction__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__1_in_rule__ProbabilityMassFunction__Group__011484);
-            rule__ProbabilityMassFunction__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__0"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5558:1: rule__ProbabilityMassFunction__Group__0__Impl : ( () ) ;
-    public final void rule__ProbabilityMassFunction__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5562:1: ( ( () ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5563:1: ( () )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5563:1: ( () )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5564:1: ()
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5565:1: ()
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5567:1: 
-            {
-            }
-
-             after(grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__0__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5577:1: rule__ProbabilityMassFunction__Group__1 : rule__ProbabilityMassFunction__Group__1__Impl rule__ProbabilityMassFunction__Group__2 ;
-    public final void rule__ProbabilityMassFunction__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5581:1: ( rule__ProbabilityMassFunction__Group__1__Impl rule__ProbabilityMassFunction__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5582:2: rule__ProbabilityMassFunction__Group__1__Impl rule__ProbabilityMassFunction__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__1__Impl_in_rule__ProbabilityMassFunction__Group__111542);
-            rule__ProbabilityMassFunction__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__2_in_rule__ProbabilityMassFunction__Group__111545);
-            rule__ProbabilityMassFunction__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__1"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5589:1: rule__ProbabilityMassFunction__Group__1__Impl : ( 'ProbabilityMassFunction' ) ;
-    public final void rule__ProbabilityMassFunction__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5593:1: ( ( 'ProbabilityMassFunction' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5594:1: ( 'ProbabilityMassFunction' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5594:1: ( 'ProbabilityMassFunction' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5595:1: 'ProbabilityMassFunction'
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1()); 
-            match(input,50,FollowSets000.FOLLOW_50_in_rule__ProbabilityMassFunction__Group__1__Impl11573); 
-             after(grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__1__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5608:1: rule__ProbabilityMassFunction__Group__2 : rule__ProbabilityMassFunction__Group__2__Impl rule__ProbabilityMassFunction__Group__3 ;
-    public final void rule__ProbabilityMassFunction__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5612:1: ( rule__ProbabilityMassFunction__Group__2__Impl rule__ProbabilityMassFunction__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5613:2: rule__ProbabilityMassFunction__Group__2__Impl rule__ProbabilityMassFunction__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__2__Impl_in_rule__ProbabilityMassFunction__Group__211604);
-            rule__ProbabilityMassFunction__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__3_in_rule__ProbabilityMassFunction__Group__211607);
-            rule__ProbabilityMassFunction__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__2"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5620:1: rule__ProbabilityMassFunction__Group__2__Impl : ( '{' ) ;
-    public final void rule__ProbabilityMassFunction__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5624:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5625:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5625:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5626:1: '{'
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__ProbabilityMassFunction__Group__2__Impl11635); 
-             after(grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__2__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5639:1: rule__ProbabilityMassFunction__Group__3 : rule__ProbabilityMassFunction__Group__3__Impl rule__ProbabilityMassFunction__Group__4 ;
-    public final void rule__ProbabilityMassFunction__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5643:1: ( rule__ProbabilityMassFunction__Group__3__Impl rule__ProbabilityMassFunction__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5644:2: rule__ProbabilityMassFunction__Group__3__Impl rule__ProbabilityMassFunction__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__3__Impl_in_rule__ProbabilityMassFunction__Group__311666);
-            rule__ProbabilityMassFunction__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__4_in_rule__ProbabilityMassFunction__Group__311669);
-            rule__ProbabilityMassFunction__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__3"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5651:1: rule__ProbabilityMassFunction__Group__3__Impl : ( ( rule__ProbabilityMassFunction__Group_3__0 )? ) ;
-    public final void rule__ProbabilityMassFunction__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5655:1: ( ( ( rule__ProbabilityMassFunction__Group_3__0 )? ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5656:1: ( ( rule__ProbabilityMassFunction__Group_3__0 )? )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5656:1: ( ( rule__ProbabilityMassFunction__Group_3__0 )? )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5657:1: ( rule__ProbabilityMassFunction__Group_3__0 )?
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5658:1: ( rule__ProbabilityMassFunction__Group_3__0 )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
-
-            if ( (LA14_0==51) ) {
-                alt14=1;
-            }
-            switch (alt14) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5658:2: rule__ProbabilityMassFunction__Group_3__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__0_in_rule__ProbabilityMassFunction__Group__3__Impl11696);
-                    rule__ProbabilityMassFunction__Group_3__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__3__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5668:1: rule__ProbabilityMassFunction__Group__4 : rule__ProbabilityMassFunction__Group__4__Impl ;
-    public final void rule__ProbabilityMassFunction__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5672:1: ( rule__ProbabilityMassFunction__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5673:2: rule__ProbabilityMassFunction__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group__4__Impl_in_rule__ProbabilityMassFunction__Group__411727);
-            rule__ProbabilityMassFunction__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__4"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5679:1: rule__ProbabilityMassFunction__Group__4__Impl : ( '}' ) ;
-    public final void rule__ProbabilityMassFunction__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5683:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5684:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5684:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5685:1: '}'
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__ProbabilityMassFunction__Group__4__Impl11755); 
-             after(grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group__4__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5708:1: rule__ProbabilityMassFunction__Group_3__0 : rule__ProbabilityMassFunction__Group_3__0__Impl rule__ProbabilityMassFunction__Group_3__1 ;
-    public final void rule__ProbabilityMassFunction__Group_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5712:1: ( rule__ProbabilityMassFunction__Group_3__0__Impl rule__ProbabilityMassFunction__Group_3__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5713:2: rule__ProbabilityMassFunction__Group_3__0__Impl rule__ProbabilityMassFunction__Group_3__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__0__Impl_in_rule__ProbabilityMassFunction__Group_3__011796);
-            rule__ProbabilityMassFunction__Group_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__1_in_rule__ProbabilityMassFunction__Group_3__011799);
-            rule__ProbabilityMassFunction__Group_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__0"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5720:1: rule__ProbabilityMassFunction__Group_3__0__Impl : ( 'sample' ) ;
-    public final void rule__ProbabilityMassFunction__Group_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5724:1: ( ( 'sample' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5725:1: ( 'sample' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5725:1: ( 'sample' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5726:1: 'sample'
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0()); 
-            match(input,51,FollowSets000.FOLLOW_51_in_rule__ProbabilityMassFunction__Group_3__0__Impl11827); 
-             after(grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__0__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5739:1: rule__ProbabilityMassFunction__Group_3__1 : rule__ProbabilityMassFunction__Group_3__1__Impl rule__ProbabilityMassFunction__Group_3__2 ;
-    public final void rule__ProbabilityMassFunction__Group_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5743:1: ( rule__ProbabilityMassFunction__Group_3__1__Impl rule__ProbabilityMassFunction__Group_3__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5744:2: rule__ProbabilityMassFunction__Group_3__1__Impl rule__ProbabilityMassFunction__Group_3__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__1__Impl_in_rule__ProbabilityMassFunction__Group_3__111858);
-            rule__ProbabilityMassFunction__Group_3__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__2_in_rule__ProbabilityMassFunction__Group_3__111861);
-            rule__ProbabilityMassFunction__Group_3__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__1"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5751:1: rule__ProbabilityMassFunction__Group_3__1__Impl : ( '{' ) ;
-    public final void rule__ProbabilityMassFunction__Group_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5755:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5756:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5756:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5757:1: '{'
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__ProbabilityMassFunction__Group_3__1__Impl11889); 
-             after(grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__1__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5770:1: rule__ProbabilityMassFunction__Group_3__2 : rule__ProbabilityMassFunction__Group_3__2__Impl rule__ProbabilityMassFunction__Group_3__3 ;
-    public final void rule__ProbabilityMassFunction__Group_3__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5774:1: ( rule__ProbabilityMassFunction__Group_3__2__Impl rule__ProbabilityMassFunction__Group_3__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5775:2: rule__ProbabilityMassFunction__Group_3__2__Impl rule__ProbabilityMassFunction__Group_3__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__2__Impl_in_rule__ProbabilityMassFunction__Group_3__211920);
-            rule__ProbabilityMassFunction__Group_3__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__3_in_rule__ProbabilityMassFunction__Group_3__211923);
-            rule__ProbabilityMassFunction__Group_3__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__2"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5782:1: rule__ProbabilityMassFunction__Group_3__2__Impl : ( ( rule__ProbabilityMassFunction__SampleAssignment_3_2 ) ) ;
-    public final void rule__ProbabilityMassFunction__Group_3__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5786:1: ( ( ( rule__ProbabilityMassFunction__SampleAssignment_3_2 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5787:1: ( ( rule__ProbabilityMassFunction__SampleAssignment_3_2 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5787:1: ( ( rule__ProbabilityMassFunction__SampleAssignment_3_2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5788:1: ( rule__ProbabilityMassFunction__SampleAssignment_3_2 )
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_2()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5789:1: ( rule__ProbabilityMassFunction__SampleAssignment_3_2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5789:2: rule__ProbabilityMassFunction__SampleAssignment_3_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__SampleAssignment_3_2_in_rule__ProbabilityMassFunction__Group_3__2__Impl11950);
-            rule__ProbabilityMassFunction__SampleAssignment_3_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__2__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5799:1: rule__ProbabilityMassFunction__Group_3__3 : rule__ProbabilityMassFunction__Group_3__3__Impl rule__ProbabilityMassFunction__Group_3__4 ;
-    public final void rule__ProbabilityMassFunction__Group_3__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5803:1: ( rule__ProbabilityMassFunction__Group_3__3__Impl rule__ProbabilityMassFunction__Group_3__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5804:2: rule__ProbabilityMassFunction__Group_3__3__Impl rule__ProbabilityMassFunction__Group_3__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__3__Impl_in_rule__ProbabilityMassFunction__Group_3__311980);
-            rule__ProbabilityMassFunction__Group_3__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__4_in_rule__ProbabilityMassFunction__Group_3__311983);
-            rule__ProbabilityMassFunction__Group_3__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__3"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5811:1: rule__ProbabilityMassFunction__Group_3__3__Impl : ( ( rule__ProbabilityMassFunction__Group_3_3__0 )* ) ;
-    public final void rule__ProbabilityMassFunction__Group_3__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5815:1: ( ( ( rule__ProbabilityMassFunction__Group_3_3__0 )* ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5816:1: ( ( rule__ProbabilityMassFunction__Group_3_3__0 )* )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5816:1: ( ( rule__ProbabilityMassFunction__Group_3_3__0 )* )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5817:1: ( rule__ProbabilityMassFunction__Group_3_3__0 )*
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5818:1: ( rule__ProbabilityMassFunction__Group_3_3__0 )*
-            loop15:
-            do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
-
-                if ( (LA15_0==40) ) {
-                    alt15=1;
-                }
-
-
-                switch (alt15) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5818:2: rule__ProbabilityMassFunction__Group_3_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3_3__0_in_rule__ProbabilityMassFunction__Group_3__3__Impl12010);
-            	    rule__ProbabilityMassFunction__Group_3_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop15;
-                }
-            } while (true);
-
-             after(grammarAccess.getProbabilityMassFunctionAccess().getGroup_3_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__3__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5828:1: rule__ProbabilityMassFunction__Group_3__4 : rule__ProbabilityMassFunction__Group_3__4__Impl ;
-    public final void rule__ProbabilityMassFunction__Group_3__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5832:1: ( rule__ProbabilityMassFunction__Group_3__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5833:2: rule__ProbabilityMassFunction__Group_3__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3__4__Impl_in_rule__ProbabilityMassFunction__Group_3__412041);
-            rule__ProbabilityMassFunction__Group_3__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__4"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5839:1: rule__ProbabilityMassFunction__Group_3__4__Impl : ( '}' ) ;
-    public final void rule__ProbabilityMassFunction__Group_3__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5843:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5844:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5844:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5845:1: '}'
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__ProbabilityMassFunction__Group_3__4__Impl12069); 
-             after(grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3__4__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3_3__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5868:1: rule__ProbabilityMassFunction__Group_3_3__0 : rule__ProbabilityMassFunction__Group_3_3__0__Impl rule__ProbabilityMassFunction__Group_3_3__1 ;
-    public final void rule__ProbabilityMassFunction__Group_3_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5872:1: ( rule__ProbabilityMassFunction__Group_3_3__0__Impl rule__ProbabilityMassFunction__Group_3_3__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5873:2: rule__ProbabilityMassFunction__Group_3_3__0__Impl rule__ProbabilityMassFunction__Group_3_3__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3_3__0__Impl_in_rule__ProbabilityMassFunction__Group_3_3__012110);
-            rule__ProbabilityMassFunction__Group_3_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3_3__1_in_rule__ProbabilityMassFunction__Group_3_3__012113);
-            rule__ProbabilityMassFunction__Group_3_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3_3__0"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3_3__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5880:1: rule__ProbabilityMassFunction__Group_3_3__0__Impl : ( ',' ) ;
-    public final void rule__ProbabilityMassFunction__Group_3_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5884:1: ( ( ',' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5885:1: ( ',' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5885:1: ( ',' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5886:1: ','
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0()); 
-            match(input,40,FollowSets000.FOLLOW_40_in_rule__ProbabilityMassFunction__Group_3_3__0__Impl12141); 
-             after(grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3_3__0__Impl"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3_3__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5899:1: rule__ProbabilityMassFunction__Group_3_3__1 : rule__ProbabilityMassFunction__Group_3_3__1__Impl ;
-    public final void rule__ProbabilityMassFunction__Group_3_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5903:1: ( rule__ProbabilityMassFunction__Group_3_3__1__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5904:2: rule__ProbabilityMassFunction__Group_3_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__Group_3_3__1__Impl_in_rule__ProbabilityMassFunction__Group_3_3__112172);
-            rule__ProbabilityMassFunction__Group_3_3__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3_3__1"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__Group_3_3__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5910:1: rule__ProbabilityMassFunction__Group_3_3__1__Impl : ( ( rule__ProbabilityMassFunction__SampleAssignment_3_3_1 ) ) ;
-    public final void rule__ProbabilityMassFunction__Group_3_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5914:1: ( ( ( rule__ProbabilityMassFunction__SampleAssignment_3_3_1 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5915:1: ( ( rule__ProbabilityMassFunction__SampleAssignment_3_3_1 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5915:1: ( ( rule__ProbabilityMassFunction__SampleAssignment_3_3_1 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5916:1: ( rule__ProbabilityMassFunction__SampleAssignment_3_3_1 )
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_3_1()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5917:1: ( rule__ProbabilityMassFunction__SampleAssignment_3_3_1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5917:2: rule__ProbabilityMassFunction__SampleAssignment_3_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ProbabilityMassFunction__SampleAssignment_3_3_1_in_rule__ProbabilityMassFunction__Group_3_3__1__Impl12199);
-            rule__ProbabilityMassFunction__SampleAssignment_3_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__Group_3_3__1__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5931:1: rule__BoxedPDF__Group__0 : rule__BoxedPDF__Group__0__Impl rule__BoxedPDF__Group__1 ;
-    public final void rule__BoxedPDF__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5935:1: ( rule__BoxedPDF__Group__0__Impl rule__BoxedPDF__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5936:2: rule__BoxedPDF__Group__0__Impl rule__BoxedPDF__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__0__Impl_in_rule__BoxedPDF__Group__012233);
-            rule__BoxedPDF__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__1_in_rule__BoxedPDF__Group__012236);
-            rule__BoxedPDF__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__0"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5943:1: rule__BoxedPDF__Group__0__Impl : ( () ) ;
-    public final void rule__BoxedPDF__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5947:1: ( ( () ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5948:1: ( () )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5948:1: ( () )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5949:1: ()
-            {
-             before(grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5950:1: ()
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5952:1: 
-            {
-            }
-
-             after(grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__0__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5962:1: rule__BoxedPDF__Group__1 : rule__BoxedPDF__Group__1__Impl rule__BoxedPDF__Group__2 ;
-    public final void rule__BoxedPDF__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5966:1: ( rule__BoxedPDF__Group__1__Impl rule__BoxedPDF__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5967:2: rule__BoxedPDF__Group__1__Impl rule__BoxedPDF__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__1__Impl_in_rule__BoxedPDF__Group__112294);
-            rule__BoxedPDF__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__2_in_rule__BoxedPDF__Group__112297);
-            rule__BoxedPDF__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__1"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5974:1: rule__BoxedPDF__Group__1__Impl : ( 'BoxedPDF' ) ;
-    public final void rule__BoxedPDF__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5978:1: ( ( 'BoxedPDF' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5979:1: ( 'BoxedPDF' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5979:1: ( 'BoxedPDF' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5980:1: 'BoxedPDF'
-            {
-             before(grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1()); 
-            match(input,52,FollowSets000.FOLLOW_52_in_rule__BoxedPDF__Group__1__Impl12325); 
-             after(grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__1__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5993:1: rule__BoxedPDF__Group__2 : rule__BoxedPDF__Group__2__Impl rule__BoxedPDF__Group__3 ;
-    public final void rule__BoxedPDF__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5997:1: ( rule__BoxedPDF__Group__2__Impl rule__BoxedPDF__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:5998:2: rule__BoxedPDF__Group__2__Impl rule__BoxedPDF__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__2__Impl_in_rule__BoxedPDF__Group__212356);
-            rule__BoxedPDF__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__3_in_rule__BoxedPDF__Group__212359);
-            rule__BoxedPDF__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__2"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6005:1: rule__BoxedPDF__Group__2__Impl : ( '{' ) ;
-    public final void rule__BoxedPDF__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6009:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6010:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6010:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6011:1: '{'
-            {
-             before(grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__BoxedPDF__Group__2__Impl12387); 
-             after(grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__2__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6024:1: rule__BoxedPDF__Group__3 : rule__BoxedPDF__Group__3__Impl rule__BoxedPDF__Group__4 ;
-    public final void rule__BoxedPDF__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6028:1: ( rule__BoxedPDF__Group__3__Impl rule__BoxedPDF__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6029:2: rule__BoxedPDF__Group__3__Impl rule__BoxedPDF__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__3__Impl_in_rule__BoxedPDF__Group__312418);
-            rule__BoxedPDF__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__4_in_rule__BoxedPDF__Group__312421);
-            rule__BoxedPDF__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__3"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6036:1: rule__BoxedPDF__Group__3__Impl : ( ( rule__BoxedPDF__Group_3__0 )? ) ;
-    public final void rule__BoxedPDF__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6040:1: ( ( ( rule__BoxedPDF__Group_3__0 )? ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6041:1: ( ( rule__BoxedPDF__Group_3__0 )? )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6041:1: ( ( rule__BoxedPDF__Group_3__0 )? )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6042:1: ( rule__BoxedPDF__Group_3__0 )?
-            {
-             before(grammarAccess.getBoxedPDFAccess().getGroup_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6043:1: ( rule__BoxedPDF__Group_3__0 )?
-            int alt16=2;
-            int LA16_0 = input.LA(1);
-
-            if ( (LA16_0==51) ) {
-                alt16=1;
-            }
-            switch (alt16) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6043:2: rule__BoxedPDF__Group_3__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__0_in_rule__BoxedPDF__Group__3__Impl12448);
-                    rule__BoxedPDF__Group_3__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getBoxedPDFAccess().getGroup_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__3__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6053:1: rule__BoxedPDF__Group__4 : rule__BoxedPDF__Group__4__Impl ;
-    public final void rule__BoxedPDF__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6057:1: ( rule__BoxedPDF__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6058:2: rule__BoxedPDF__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group__4__Impl_in_rule__BoxedPDF__Group__412479);
-            rule__BoxedPDF__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__4"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6064:1: rule__BoxedPDF__Group__4__Impl : ( '}' ) ;
-    public final void rule__BoxedPDF__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6068:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6069:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6069:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6070:1: '}'
-            {
-             before(grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__BoxedPDF__Group__4__Impl12507); 
-             after(grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group__4__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6093:1: rule__BoxedPDF__Group_3__0 : rule__BoxedPDF__Group_3__0__Impl rule__BoxedPDF__Group_3__1 ;
-    public final void rule__BoxedPDF__Group_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6097:1: ( rule__BoxedPDF__Group_3__0__Impl rule__BoxedPDF__Group_3__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6098:2: rule__BoxedPDF__Group_3__0__Impl rule__BoxedPDF__Group_3__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__0__Impl_in_rule__BoxedPDF__Group_3__012548);
-            rule__BoxedPDF__Group_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__1_in_rule__BoxedPDF__Group_3__012551);
-            rule__BoxedPDF__Group_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__0"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6105:1: rule__BoxedPDF__Group_3__0__Impl : ( 'sample' ) ;
-    public final void rule__BoxedPDF__Group_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6109:1: ( ( 'sample' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6110:1: ( 'sample' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6110:1: ( 'sample' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6111:1: 'sample'
-            {
-             before(grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0()); 
-            match(input,51,FollowSets000.FOLLOW_51_in_rule__BoxedPDF__Group_3__0__Impl12579); 
-             after(grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__0__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6124:1: rule__BoxedPDF__Group_3__1 : rule__BoxedPDF__Group_3__1__Impl rule__BoxedPDF__Group_3__2 ;
-    public final void rule__BoxedPDF__Group_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6128:1: ( rule__BoxedPDF__Group_3__1__Impl rule__BoxedPDF__Group_3__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6129:2: rule__BoxedPDF__Group_3__1__Impl rule__BoxedPDF__Group_3__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__1__Impl_in_rule__BoxedPDF__Group_3__112610);
-            rule__BoxedPDF__Group_3__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__2_in_rule__BoxedPDF__Group_3__112613);
-            rule__BoxedPDF__Group_3__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__1"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6136:1: rule__BoxedPDF__Group_3__1__Impl : ( '{' ) ;
-    public final void rule__BoxedPDF__Group_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6140:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6141:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6141:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6142:1: '{'
-            {
-             before(grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__BoxedPDF__Group_3__1__Impl12641); 
-             after(grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__1__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6155:1: rule__BoxedPDF__Group_3__2 : rule__BoxedPDF__Group_3__2__Impl rule__BoxedPDF__Group_3__3 ;
-    public final void rule__BoxedPDF__Group_3__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6159:1: ( rule__BoxedPDF__Group_3__2__Impl rule__BoxedPDF__Group_3__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6160:2: rule__BoxedPDF__Group_3__2__Impl rule__BoxedPDF__Group_3__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__2__Impl_in_rule__BoxedPDF__Group_3__212672);
-            rule__BoxedPDF__Group_3__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__3_in_rule__BoxedPDF__Group_3__212675);
-            rule__BoxedPDF__Group_3__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__2"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6167:1: rule__BoxedPDF__Group_3__2__Impl : ( ( rule__BoxedPDF__SampleAssignment_3_2 ) ) ;
-    public final void rule__BoxedPDF__Group_3__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6171:1: ( ( ( rule__BoxedPDF__SampleAssignment_3_2 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6172:1: ( ( rule__BoxedPDF__SampleAssignment_3_2 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6172:1: ( ( rule__BoxedPDF__SampleAssignment_3_2 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6173:1: ( rule__BoxedPDF__SampleAssignment_3_2 )
-            {
-             before(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_2()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6174:1: ( rule__BoxedPDF__SampleAssignment_3_2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6174:2: rule__BoxedPDF__SampleAssignment_3_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__SampleAssignment_3_2_in_rule__BoxedPDF__Group_3__2__Impl12702);
-            rule__BoxedPDF__SampleAssignment_3_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__2__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6184:1: rule__BoxedPDF__Group_3__3 : rule__BoxedPDF__Group_3__3__Impl rule__BoxedPDF__Group_3__4 ;
-    public final void rule__BoxedPDF__Group_3__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6188:1: ( rule__BoxedPDF__Group_3__3__Impl rule__BoxedPDF__Group_3__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6189:2: rule__BoxedPDF__Group_3__3__Impl rule__BoxedPDF__Group_3__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__3__Impl_in_rule__BoxedPDF__Group_3__312732);
-            rule__BoxedPDF__Group_3__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__4_in_rule__BoxedPDF__Group_3__312735);
-            rule__BoxedPDF__Group_3__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__3"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6196:1: rule__BoxedPDF__Group_3__3__Impl : ( ( rule__BoxedPDF__Group_3_3__0 )* ) ;
-    public final void rule__BoxedPDF__Group_3__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6200:1: ( ( ( rule__BoxedPDF__Group_3_3__0 )* ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6201:1: ( ( rule__BoxedPDF__Group_3_3__0 )* )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6201:1: ( ( rule__BoxedPDF__Group_3_3__0 )* )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6202:1: ( rule__BoxedPDF__Group_3_3__0 )*
-            {
-             before(grammarAccess.getBoxedPDFAccess().getGroup_3_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6203:1: ( rule__BoxedPDF__Group_3_3__0 )*
-            loop17:
-            do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
-
-                if ( (LA17_0==40) ) {
-                    alt17=1;
-                }
-
-
-                switch (alt17) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6203:2: rule__BoxedPDF__Group_3_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3_3__0_in_rule__BoxedPDF__Group_3__3__Impl12762);
-            	    rule__BoxedPDF__Group_3_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop17;
-                }
-            } while (true);
-
-             after(grammarAccess.getBoxedPDFAccess().getGroup_3_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__3__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6213:1: rule__BoxedPDF__Group_3__4 : rule__BoxedPDF__Group_3__4__Impl ;
-    public final void rule__BoxedPDF__Group_3__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6217:1: ( rule__BoxedPDF__Group_3__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6218:2: rule__BoxedPDF__Group_3__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3__4__Impl_in_rule__BoxedPDF__Group_3__412793);
-            rule__BoxedPDF__Group_3__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__4"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6224:1: rule__BoxedPDF__Group_3__4__Impl : ( '}' ) ;
-    public final void rule__BoxedPDF__Group_3__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6228:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6229:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6229:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6230:1: '}'
-            {
-             before(grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__BoxedPDF__Group_3__4__Impl12821); 
-             after(grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3__4__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3_3__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6253:1: rule__BoxedPDF__Group_3_3__0 : rule__BoxedPDF__Group_3_3__0__Impl rule__BoxedPDF__Group_3_3__1 ;
-    public final void rule__BoxedPDF__Group_3_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6257:1: ( rule__BoxedPDF__Group_3_3__0__Impl rule__BoxedPDF__Group_3_3__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6258:2: rule__BoxedPDF__Group_3_3__0__Impl rule__BoxedPDF__Group_3_3__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3_3__0__Impl_in_rule__BoxedPDF__Group_3_3__012862);
-            rule__BoxedPDF__Group_3_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3_3__1_in_rule__BoxedPDF__Group_3_3__012865);
-            rule__BoxedPDF__Group_3_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3_3__0"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3_3__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6265:1: rule__BoxedPDF__Group_3_3__0__Impl : ( ',' ) ;
-    public final void rule__BoxedPDF__Group_3_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6269:1: ( ( ',' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6270:1: ( ',' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6270:1: ( ',' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6271:1: ','
-            {
-             before(grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0()); 
-            match(input,40,FollowSets000.FOLLOW_40_in_rule__BoxedPDF__Group_3_3__0__Impl12893); 
-             after(grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3_3__0__Impl"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3_3__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6284:1: rule__BoxedPDF__Group_3_3__1 : rule__BoxedPDF__Group_3_3__1__Impl ;
-    public final void rule__BoxedPDF__Group_3_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6288:1: ( rule__BoxedPDF__Group_3_3__1__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6289:2: rule__BoxedPDF__Group_3_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__Group_3_3__1__Impl_in_rule__BoxedPDF__Group_3_3__112924);
-            rule__BoxedPDF__Group_3_3__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3_3__1"
-
-
-    // $ANTLR start "rule__BoxedPDF__Group_3_3__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6295:1: rule__BoxedPDF__Group_3_3__1__Impl : ( ( rule__BoxedPDF__SampleAssignment_3_3_1 ) ) ;
-    public final void rule__BoxedPDF__Group_3_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6299:1: ( ( ( rule__BoxedPDF__SampleAssignment_3_3_1 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6300:1: ( ( rule__BoxedPDF__SampleAssignment_3_3_1 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6300:1: ( ( rule__BoxedPDF__SampleAssignment_3_3_1 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6301:1: ( rule__BoxedPDF__SampleAssignment_3_3_1 )
-            {
-             before(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_3_1()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6302:1: ( rule__BoxedPDF__SampleAssignment_3_3_1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6302:2: rule__BoxedPDF__SampleAssignment_3_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BoxedPDF__SampleAssignment_3_3_1_in_rule__BoxedPDF__Group_3_3__1__Impl12951);
-            rule__BoxedPDF__SampleAssignment_3_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__Group_3_3__1__Impl"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6316:1: rule__NormalDistribution__Group__0 : rule__NormalDistribution__Group__0__Impl rule__NormalDistribution__Group__1 ;
-    public final void rule__NormalDistribution__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6320:1: ( rule__NormalDistribution__Group__0__Impl rule__NormalDistribution__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6321:2: rule__NormalDistribution__Group__0__Impl rule__NormalDistribution__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__0__Impl_in_rule__NormalDistribution__Group__012985);
-            rule__NormalDistribution__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__1_in_rule__NormalDistribution__Group__012988);
-            rule__NormalDistribution__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__0"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6328:1: rule__NormalDistribution__Group__0__Impl : ( 'NormalDistribution' ) ;
-    public final void rule__NormalDistribution__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6332:1: ( ( 'NormalDistribution' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6333:1: ( 'NormalDistribution' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6333:1: ( 'NormalDistribution' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6334:1: 'NormalDistribution'
-            {
-             before(grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0()); 
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__NormalDistribution__Group__0__Impl13016); 
-             after(grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__0__Impl"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6347:1: rule__NormalDistribution__Group__1 : rule__NormalDistribution__Group__1__Impl rule__NormalDistribution__Group__2 ;
-    public final void rule__NormalDistribution__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6351:1: ( rule__NormalDistribution__Group__1__Impl rule__NormalDistribution__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6352:2: rule__NormalDistribution__Group__1__Impl rule__NormalDistribution__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__1__Impl_in_rule__NormalDistribution__Group__113047);
-            rule__NormalDistribution__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__2_in_rule__NormalDistribution__Group__113050);
-            rule__NormalDistribution__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__1"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6359:1: rule__NormalDistribution__Group__1__Impl : ( '{' ) ;
-    public final void rule__NormalDistribution__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6363:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6364:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6364:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6365:1: '{'
-            {
-             before(grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__NormalDistribution__Group__1__Impl13078); 
-             after(grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__1__Impl"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6378:1: rule__NormalDistribution__Group__2 : rule__NormalDistribution__Group__2__Impl rule__NormalDistribution__Group__3 ;
-    public final void rule__NormalDistribution__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6382:1: ( rule__NormalDistribution__Group__2__Impl rule__NormalDistribution__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6383:2: rule__NormalDistribution__Group__2__Impl rule__NormalDistribution__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__2__Impl_in_rule__NormalDistribution__Group__213109);
-            rule__NormalDistribution__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__3_in_rule__NormalDistribution__Group__213112);
-            rule__NormalDistribution__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__2"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6390:1: rule__NormalDistribution__Group__2__Impl : ( 'mu' ) ;
-    public final void rule__NormalDistribution__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6394:1: ( ( 'mu' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6395:1: ( 'mu' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6395:1: ( 'mu' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6396:1: 'mu'
-            {
-             before(grammarAccess.getNormalDistributionAccess().getMuKeyword_2()); 
-            match(input,54,FollowSets000.FOLLOW_54_in_rule__NormalDistribution__Group__2__Impl13140); 
-             after(grammarAccess.getNormalDistributionAccess().getMuKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__2__Impl"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6409:1: rule__NormalDistribution__Group__3 : rule__NormalDistribution__Group__3__Impl rule__NormalDistribution__Group__4 ;
-    public final void rule__NormalDistribution__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6413:1: ( rule__NormalDistribution__Group__3__Impl rule__NormalDistribution__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6414:2: rule__NormalDistribution__Group__3__Impl rule__NormalDistribution__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__3__Impl_in_rule__NormalDistribution__Group__313171);
-            rule__NormalDistribution__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__4_in_rule__NormalDistribution__Group__313174);
-            rule__NormalDistribution__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__3"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6421:1: rule__NormalDistribution__Group__3__Impl : ( ( rule__NormalDistribution__MuAssignment_3 ) ) ;
-    public final void rule__NormalDistribution__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6425:1: ( ( ( rule__NormalDistribution__MuAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6426:1: ( ( rule__NormalDistribution__MuAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6426:1: ( ( rule__NormalDistribution__MuAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6427:1: ( rule__NormalDistribution__MuAssignment_3 )
-            {
-             before(grammarAccess.getNormalDistributionAccess().getMuAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6428:1: ( rule__NormalDistribution__MuAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6428:2: rule__NormalDistribution__MuAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__MuAssignment_3_in_rule__NormalDistribution__Group__3__Impl13201);
-            rule__NormalDistribution__MuAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getNormalDistributionAccess().getMuAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__3__Impl"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6438:1: rule__NormalDistribution__Group__4 : rule__NormalDistribution__Group__4__Impl rule__NormalDistribution__Group__5 ;
-    public final void rule__NormalDistribution__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6442:1: ( rule__NormalDistribution__Group__4__Impl rule__NormalDistribution__Group__5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6443:2: rule__NormalDistribution__Group__4__Impl rule__NormalDistribution__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__4__Impl_in_rule__NormalDistribution__Group__413231);
-            rule__NormalDistribution__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__5_in_rule__NormalDistribution__Group__413234);
-            rule__NormalDistribution__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__4"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6450:1: rule__NormalDistribution__Group__4__Impl : ( 'sigma' ) ;
-    public final void rule__NormalDistribution__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6454:1: ( ( 'sigma' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6455:1: ( 'sigma' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6455:1: ( 'sigma' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6456:1: 'sigma'
-            {
-             before(grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4()); 
-            match(input,55,FollowSets000.FOLLOW_55_in_rule__NormalDistribution__Group__4__Impl13262); 
-             after(grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__4__Impl"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6469:1: rule__NormalDistribution__Group__5 : rule__NormalDistribution__Group__5__Impl rule__NormalDistribution__Group__6 ;
-    public final void rule__NormalDistribution__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6473:1: ( rule__NormalDistribution__Group__5__Impl rule__NormalDistribution__Group__6 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6474:2: rule__NormalDistribution__Group__5__Impl rule__NormalDistribution__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__5__Impl_in_rule__NormalDistribution__Group__513293);
-            rule__NormalDistribution__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__6_in_rule__NormalDistribution__Group__513296);
-            rule__NormalDistribution__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__5"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__5__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6481:1: rule__NormalDistribution__Group__5__Impl : ( ( rule__NormalDistribution__SigmaAssignment_5 ) ) ;
-    public final void rule__NormalDistribution__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6485:1: ( ( ( rule__NormalDistribution__SigmaAssignment_5 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6486:1: ( ( rule__NormalDistribution__SigmaAssignment_5 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6486:1: ( ( rule__NormalDistribution__SigmaAssignment_5 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6487:1: ( rule__NormalDistribution__SigmaAssignment_5 )
-            {
-             before(grammarAccess.getNormalDistributionAccess().getSigmaAssignment_5()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6488:1: ( rule__NormalDistribution__SigmaAssignment_5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6488:2: rule__NormalDistribution__SigmaAssignment_5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__SigmaAssignment_5_in_rule__NormalDistribution__Group__5__Impl13323);
-            rule__NormalDistribution__SigmaAssignment_5();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getNormalDistributionAccess().getSigmaAssignment_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__5__Impl"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__6"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6498:1: rule__NormalDistribution__Group__6 : rule__NormalDistribution__Group__6__Impl ;
-    public final void rule__NormalDistribution__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6502:1: ( rule__NormalDistribution__Group__6__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6503:2: rule__NormalDistribution__Group__6__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__NormalDistribution__Group__6__Impl_in_rule__NormalDistribution__Group__613353);
-            rule__NormalDistribution__Group__6__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__6"
-
-
-    // $ANTLR start "rule__NormalDistribution__Group__6__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6509:1: rule__NormalDistribution__Group__6__Impl : ( '}' ) ;
-    public final void rule__NormalDistribution__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6513:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6514:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6514:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6515:1: '}'
-            {
-             before(grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__NormalDistribution__Group__6__Impl13381); 
-             after(grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__Group__6__Impl"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6542:1: rule__ExponentialDistribution__Group__0 : rule__ExponentialDistribution__Group__0__Impl rule__ExponentialDistribution__Group__1 ;
-    public final void rule__ExponentialDistribution__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6546:1: ( rule__ExponentialDistribution__Group__0__Impl rule__ExponentialDistribution__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6547:2: rule__ExponentialDistribution__Group__0__Impl rule__ExponentialDistribution__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__0__Impl_in_rule__ExponentialDistribution__Group__013426);
-            rule__ExponentialDistribution__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__1_in_rule__ExponentialDistribution__Group__013429);
-            rule__ExponentialDistribution__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__0"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6554:1: rule__ExponentialDistribution__Group__0__Impl : ( 'ExponentialDistribution' ) ;
-    public final void rule__ExponentialDistribution__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6558:1: ( ( 'ExponentialDistribution' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6559:1: ( 'ExponentialDistribution' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6559:1: ( 'ExponentialDistribution' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6560:1: 'ExponentialDistribution'
-            {
-             before(grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0()); 
-            match(input,56,FollowSets000.FOLLOW_56_in_rule__ExponentialDistribution__Group__0__Impl13457); 
-             after(grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__0__Impl"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6573:1: rule__ExponentialDistribution__Group__1 : rule__ExponentialDistribution__Group__1__Impl rule__ExponentialDistribution__Group__2 ;
-    public final void rule__ExponentialDistribution__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6577:1: ( rule__ExponentialDistribution__Group__1__Impl rule__ExponentialDistribution__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6578:2: rule__ExponentialDistribution__Group__1__Impl rule__ExponentialDistribution__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__1__Impl_in_rule__ExponentialDistribution__Group__113488);
-            rule__ExponentialDistribution__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__2_in_rule__ExponentialDistribution__Group__113491);
-            rule__ExponentialDistribution__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__1"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6585:1: rule__ExponentialDistribution__Group__1__Impl : ( '{' ) ;
-    public final void rule__ExponentialDistribution__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6589:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6590:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6590:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6591:1: '{'
-            {
-             before(grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__ExponentialDistribution__Group__1__Impl13519); 
-             after(grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__1__Impl"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6604:1: rule__ExponentialDistribution__Group__2 : rule__ExponentialDistribution__Group__2__Impl rule__ExponentialDistribution__Group__3 ;
-    public final void rule__ExponentialDistribution__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6608:1: ( rule__ExponentialDistribution__Group__2__Impl rule__ExponentialDistribution__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6609:2: rule__ExponentialDistribution__Group__2__Impl rule__ExponentialDistribution__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__2__Impl_in_rule__ExponentialDistribution__Group__213550);
-            rule__ExponentialDistribution__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__3_in_rule__ExponentialDistribution__Group__213553);
-            rule__ExponentialDistribution__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__2"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6616:1: rule__ExponentialDistribution__Group__2__Impl : ( 'rate' ) ;
-    public final void rule__ExponentialDistribution__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6620:1: ( ( 'rate' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6621:1: ( 'rate' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6621:1: ( 'rate' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6622:1: 'rate'
-            {
-             before(grammarAccess.getExponentialDistributionAccess().getRateKeyword_2()); 
-            match(input,57,FollowSets000.FOLLOW_57_in_rule__ExponentialDistribution__Group__2__Impl13581); 
-             after(grammarAccess.getExponentialDistributionAccess().getRateKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__2__Impl"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6635:1: rule__ExponentialDistribution__Group__3 : rule__ExponentialDistribution__Group__3__Impl rule__ExponentialDistribution__Group__4 ;
-    public final void rule__ExponentialDistribution__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6639:1: ( rule__ExponentialDistribution__Group__3__Impl rule__ExponentialDistribution__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6640:2: rule__ExponentialDistribution__Group__3__Impl rule__ExponentialDistribution__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__3__Impl_in_rule__ExponentialDistribution__Group__313612);
-            rule__ExponentialDistribution__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__4_in_rule__ExponentialDistribution__Group__313615);
-            rule__ExponentialDistribution__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__3"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6647:1: rule__ExponentialDistribution__Group__3__Impl : ( ( rule__ExponentialDistribution__RateAssignment_3 ) ) ;
-    public final void rule__ExponentialDistribution__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6651:1: ( ( ( rule__ExponentialDistribution__RateAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6652:1: ( ( rule__ExponentialDistribution__RateAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6652:1: ( ( rule__ExponentialDistribution__RateAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6653:1: ( rule__ExponentialDistribution__RateAssignment_3 )
-            {
-             before(grammarAccess.getExponentialDistributionAccess().getRateAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6654:1: ( rule__ExponentialDistribution__RateAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6654:2: rule__ExponentialDistribution__RateAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__RateAssignment_3_in_rule__ExponentialDistribution__Group__3__Impl13642);
-            rule__ExponentialDistribution__RateAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getExponentialDistributionAccess().getRateAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__3__Impl"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6664:1: rule__ExponentialDistribution__Group__4 : rule__ExponentialDistribution__Group__4__Impl ;
-    public final void rule__ExponentialDistribution__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6668:1: ( rule__ExponentialDistribution__Group__4__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6669:2: rule__ExponentialDistribution__Group__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ExponentialDistribution__Group__4__Impl_in_rule__ExponentialDistribution__Group__413672);
-            rule__ExponentialDistribution__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__4"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6675:1: rule__ExponentialDistribution__Group__4__Impl : ( '}' ) ;
-    public final void rule__ExponentialDistribution__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6679:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6680:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6680:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6681:1: '}'
-            {
-             before(grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__ExponentialDistribution__Group__4__Impl13700); 
-             after(grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__Group__4__Impl"
-
-
-    // $ANTLR start "rule__EBigInteger__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6704:1: rule__EBigInteger__Group__0 : rule__EBigInteger__Group__0__Impl rule__EBigInteger__Group__1 ;
-    public final void rule__EBigInteger__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6708:1: ( rule__EBigInteger__Group__0__Impl rule__EBigInteger__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6709:2: rule__EBigInteger__Group__0__Impl rule__EBigInteger__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EBigInteger__Group__0__Impl_in_rule__EBigInteger__Group__013741);
-            rule__EBigInteger__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__EBigInteger__Group__1_in_rule__EBigInteger__Group__013744);
-            rule__EBigInteger__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigInteger__Group__0"
-
-
-    // $ANTLR start "rule__EBigInteger__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6716:1: rule__EBigInteger__Group__0__Impl : ( ( '-' )? ) ;
-    public final void rule__EBigInteger__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6720:1: ( ( ( '-' )? ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6721:1: ( ( '-' )? )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6721:1: ( ( '-' )? )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6722:1: ( '-' )?
-            {
-             before(grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6723:1: ( '-' )?
-            int alt18=2;
-            int LA18_0 = input.LA(1);
-
-            if ( (LA18_0==58) ) {
-                alt18=1;
-            }
-            switch (alt18) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6724:2: '-'
-                    {
-                    match(input,58,FollowSets000.FOLLOW_58_in_rule__EBigInteger__Group__0__Impl13773); 
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigInteger__Group__0__Impl"
-
-
-    // $ANTLR start "rule__EBigInteger__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6735:1: rule__EBigInteger__Group__1 : rule__EBigInteger__Group__1__Impl ;
-    public final void rule__EBigInteger__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6739:1: ( rule__EBigInteger__Group__1__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6740:2: rule__EBigInteger__Group__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EBigInteger__Group__1__Impl_in_rule__EBigInteger__Group__113806);
-            rule__EBigInteger__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigInteger__Group__1"
-
-
-    // $ANTLR start "rule__EBigInteger__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6746:1: rule__EBigInteger__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__EBigInteger__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6750:1: ( ( RULE_INT ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6751:1: ( RULE_INT )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6751:1: ( RULE_INT )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6752:1: RULE_INT
-            {
-             before(grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EBigInteger__Group__1__Impl13833); 
-             after(grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigInteger__Group__1__Impl"
-
-
-    // $ANTLR start "rule__EBigDecimal__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6767:1: rule__EBigDecimal__Group__0 : rule__EBigDecimal__Group__0__Impl rule__EBigDecimal__Group__1 ;
-    public final void rule__EBigDecimal__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6771:1: ( rule__EBigDecimal__Group__0__Impl rule__EBigDecimal__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6772:2: rule__EBigDecimal__Group__0__Impl rule__EBigDecimal__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EBigDecimal__Group__0__Impl_in_rule__EBigDecimal__Group__013866);
-            rule__EBigDecimal__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__EBigDecimal__Group__1_in_rule__EBigDecimal__Group__013869);
-            rule__EBigDecimal__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigDecimal__Group__0"
-
-
-    // $ANTLR start "rule__EBigDecimal__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6779:1: rule__EBigDecimal__Group__0__Impl : ( ( RULE_INT )? ) ;
-    public final void rule__EBigDecimal__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6783:1: ( ( ( RULE_INT )? ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6784:1: ( ( RULE_INT )? )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6784:1: ( ( RULE_INT )? )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6785:1: ( RULE_INT )?
-            {
-             before(grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6786:1: ( RULE_INT )?
-            int alt19=2;
-            int LA19_0 = input.LA(1);
-
-            if ( (LA19_0==RULE_INT) ) {
-                alt19=1;
-            }
-            switch (alt19) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6786:3: RULE_INT
-                    {
-                    match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EBigDecimal__Group__0__Impl13897); 
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigDecimal__Group__0__Impl"
-
-
-    // $ANTLR start "rule__EBigDecimal__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6796:1: rule__EBigDecimal__Group__1 : rule__EBigDecimal__Group__1__Impl rule__EBigDecimal__Group__2 ;
-    public final void rule__EBigDecimal__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6800:1: ( rule__EBigDecimal__Group__1__Impl rule__EBigDecimal__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6801:2: rule__EBigDecimal__Group__1__Impl rule__EBigDecimal__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EBigDecimal__Group__1__Impl_in_rule__EBigDecimal__Group__113928);
-            rule__EBigDecimal__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__EBigDecimal__Group__2_in_rule__EBigDecimal__Group__113931);
-            rule__EBigDecimal__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigDecimal__Group__1"
-
-
-    // $ANTLR start "rule__EBigDecimal__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6808:1: rule__EBigDecimal__Group__1__Impl : ( '.' ) ;
-    public final void rule__EBigDecimal__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6812:1: ( ( '.' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6813:1: ( '.' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6813:1: ( '.' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6814:1: '.'
-            {
-             before(grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); 
-            match(input,59,FollowSets000.FOLLOW_59_in_rule__EBigDecimal__Group__1__Impl13959); 
-             after(grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigDecimal__Group__1__Impl"
-
-
-    // $ANTLR start "rule__EBigDecimal__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6827:1: rule__EBigDecimal__Group__2 : rule__EBigDecimal__Group__2__Impl ;
-    public final void rule__EBigDecimal__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6831:1: ( rule__EBigDecimal__Group__2__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6832:2: rule__EBigDecimal__Group__2__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EBigDecimal__Group__2__Impl_in_rule__EBigDecimal__Group__213990);
-            rule__EBigDecimal__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigDecimal__Group__2"
-
-
-    // $ANTLR start "rule__EBigDecimal__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6838:1: rule__EBigDecimal__Group__2__Impl : ( RULE_INT ) ;
-    public final void rule__EBigDecimal__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6842:1: ( ( RULE_INT ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6843:1: ( RULE_INT )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6843:1: ( RULE_INT )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6844:1: RULE_INT
-            {
-             before(grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); 
-            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EBigDecimal__Group__2__Impl14017); 
-             after(grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EBigDecimal__Group__2__Impl"
-
-
-    // $ANTLR start "rule__Sample__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6861:1: rule__Sample__Group__0 : rule__Sample__Group__0__Impl rule__Sample__Group__1 ;
-    public final void rule__Sample__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6865:1: ( rule__Sample__Group__0__Impl rule__Sample__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6866:2: rule__Sample__Group__0__Impl rule__Sample__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__0__Impl_in_rule__Sample__Group__014052);
-            rule__Sample__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__1_in_rule__Sample__Group__014055);
-            rule__Sample__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__0"
-
-
-    // $ANTLR start "rule__Sample__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6873:1: rule__Sample__Group__0__Impl : ( 'Sample' ) ;
-    public final void rule__Sample__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6877:1: ( ( 'Sample' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6878:1: ( 'Sample' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6878:1: ( 'Sample' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6879:1: 'Sample'
-            {
-             before(grammarAccess.getSampleAccess().getSampleKeyword_0()); 
-            match(input,60,FollowSets000.FOLLOW_60_in_rule__Sample__Group__0__Impl14083); 
-             after(grammarAccess.getSampleAccess().getSampleKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Sample__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6892:1: rule__Sample__Group__1 : rule__Sample__Group__1__Impl rule__Sample__Group__2 ;
-    public final void rule__Sample__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6896:1: ( rule__Sample__Group__1__Impl rule__Sample__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6897:2: rule__Sample__Group__1__Impl rule__Sample__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__1__Impl_in_rule__Sample__Group__114114);
-            rule__Sample__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__2_in_rule__Sample__Group__114117);
-            rule__Sample__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__1"
-
-
-    // $ANTLR start "rule__Sample__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6904:1: rule__Sample__Group__1__Impl : ( '{' ) ;
-    public final void rule__Sample__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6908:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6909:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6909:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6910:1: '{'
-            {
-             before(grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__Sample__Group__1__Impl14145); 
-             after(grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__1__Impl"
-
-
-    // $ANTLR start "rule__Sample__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6923:1: rule__Sample__Group__2 : rule__Sample__Group__2__Impl rule__Sample__Group__3 ;
-    public final void rule__Sample__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6927:1: ( rule__Sample__Group__2__Impl rule__Sample__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6928:2: rule__Sample__Group__2__Impl rule__Sample__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__2__Impl_in_rule__Sample__Group__214176);
-            rule__Sample__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__3_in_rule__Sample__Group__214179);
-            rule__Sample__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__2"
-
-
-    // $ANTLR start "rule__Sample__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6935:1: rule__Sample__Group__2__Impl : ( 'probability' ) ;
-    public final void rule__Sample__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6939:1: ( ( 'probability' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6940:1: ( 'probability' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6940:1: ( 'probability' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6941:1: 'probability'
-            {
-             before(grammarAccess.getSampleAccess().getProbabilityKeyword_2()); 
-            match(input,61,FollowSets000.FOLLOW_61_in_rule__Sample__Group__2__Impl14207); 
-             after(grammarAccess.getSampleAccess().getProbabilityKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__2__Impl"
-
-
-    // $ANTLR start "rule__Sample__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6954:1: rule__Sample__Group__3 : rule__Sample__Group__3__Impl rule__Sample__Group__4 ;
-    public final void rule__Sample__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6958:1: ( rule__Sample__Group__3__Impl rule__Sample__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6959:2: rule__Sample__Group__3__Impl rule__Sample__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__3__Impl_in_rule__Sample__Group__314238);
-            rule__Sample__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__4_in_rule__Sample__Group__314241);
-            rule__Sample__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__3"
-
-
-    // $ANTLR start "rule__Sample__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6966:1: rule__Sample__Group__3__Impl : ( ( rule__Sample__ProbabilityAssignment_3 ) ) ;
-    public final void rule__Sample__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6970:1: ( ( ( rule__Sample__ProbabilityAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6971:1: ( ( rule__Sample__ProbabilityAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6971:1: ( ( rule__Sample__ProbabilityAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6972:1: ( rule__Sample__ProbabilityAssignment_3 )
-            {
-             before(grammarAccess.getSampleAccess().getProbabilityAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6973:1: ( rule__Sample__ProbabilityAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6973:2: rule__Sample__ProbabilityAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__ProbabilityAssignment_3_in_rule__Sample__Group__3__Impl14268);
-            rule__Sample__ProbabilityAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSampleAccess().getProbabilityAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__3__Impl"
-
-
-    // $ANTLR start "rule__Sample__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6983:1: rule__Sample__Group__4 : rule__Sample__Group__4__Impl rule__Sample__Group__5 ;
-    public final void rule__Sample__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6987:1: ( rule__Sample__Group__4__Impl rule__Sample__Group__5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6988:2: rule__Sample__Group__4__Impl rule__Sample__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__4__Impl_in_rule__Sample__Group__414298);
-            rule__Sample__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__5_in_rule__Sample__Group__414301);
-            rule__Sample__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__4"
-
-
-    // $ANTLR start "rule__Sample__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6995:1: rule__Sample__Group__4__Impl : ( 'value' ) ;
-    public final void rule__Sample__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:6999:1: ( ( 'value' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7000:1: ( 'value' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7000:1: ( 'value' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7001:1: 'value'
-            {
-             before(grammarAccess.getSampleAccess().getValueKeyword_4()); 
-            match(input,45,FollowSets000.FOLLOW_45_in_rule__Sample__Group__4__Impl14329); 
-             after(grammarAccess.getSampleAccess().getValueKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__4__Impl"
-
-
-    // $ANTLR start "rule__Sample__Group__5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7014:1: rule__Sample__Group__5 : rule__Sample__Group__5__Impl rule__Sample__Group__6 ;
-    public final void rule__Sample__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7018:1: ( rule__Sample__Group__5__Impl rule__Sample__Group__6 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7019:2: rule__Sample__Group__5__Impl rule__Sample__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__5__Impl_in_rule__Sample__Group__514360);
-            rule__Sample__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__6_in_rule__Sample__Group__514363);
-            rule__Sample__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__5"
-
-
-    // $ANTLR start "rule__Sample__Group__5__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7026:1: rule__Sample__Group__5__Impl : ( ( rule__Sample__ValueAssignment_5 ) ) ;
-    public final void rule__Sample__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7030:1: ( ( ( rule__Sample__ValueAssignment_5 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7031:1: ( ( rule__Sample__ValueAssignment_5 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7031:1: ( ( rule__Sample__ValueAssignment_5 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7032:1: ( rule__Sample__ValueAssignment_5 )
-            {
-             before(grammarAccess.getSampleAccess().getValueAssignment_5()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7033:1: ( rule__Sample__ValueAssignment_5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7033:2: rule__Sample__ValueAssignment_5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__ValueAssignment_5_in_rule__Sample__Group__5__Impl14390);
-            rule__Sample__ValueAssignment_5();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSampleAccess().getValueAssignment_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__5__Impl"
-
-
-    // $ANTLR start "rule__Sample__Group__6"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7043:1: rule__Sample__Group__6 : rule__Sample__Group__6__Impl ;
-    public final void rule__Sample__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7047:1: ( rule__Sample__Group__6__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7048:2: rule__Sample__Group__6__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Sample__Group__6__Impl_in_rule__Sample__Group__614420);
-            rule__Sample__Group__6__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__6"
-
-
-    // $ANTLR start "rule__Sample__Group__6__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7054:1: rule__Sample__Group__6__Impl : ( '}' ) ;
-    public final void rule__Sample__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7058:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7059:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7059:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7060:1: '}'
-            {
-             before(grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Sample__Group__6__Impl14448); 
-             after(grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__Group__6__Impl"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7088:1: rule__ContinuousSample__Group__0 : rule__ContinuousSample__Group__0__Impl rule__ContinuousSample__Group__1 ;
-    public final void rule__ContinuousSample__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7092:1: ( rule__ContinuousSample__Group__0__Impl rule__ContinuousSample__Group__1 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7093:2: rule__ContinuousSample__Group__0__Impl rule__ContinuousSample__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__0__Impl_in_rule__ContinuousSample__Group__014494);
-            rule__ContinuousSample__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__1_in_rule__ContinuousSample__Group__014497);
-            rule__ContinuousSample__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__0"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__0__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7100:1: rule__ContinuousSample__Group__0__Impl : ( 'ContinuousSample' ) ;
-    public final void rule__ContinuousSample__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7104:1: ( ( 'ContinuousSample' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7105:1: ( 'ContinuousSample' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7105:1: ( 'ContinuousSample' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7106:1: 'ContinuousSample'
-            {
-             before(grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0()); 
-            match(input,62,FollowSets000.FOLLOW_62_in_rule__ContinuousSample__Group__0__Impl14525); 
-             after(grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__0__Impl"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7119:1: rule__ContinuousSample__Group__1 : rule__ContinuousSample__Group__1__Impl rule__ContinuousSample__Group__2 ;
-    public final void rule__ContinuousSample__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7123:1: ( rule__ContinuousSample__Group__1__Impl rule__ContinuousSample__Group__2 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7124:2: rule__ContinuousSample__Group__1__Impl rule__ContinuousSample__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__1__Impl_in_rule__ContinuousSample__Group__114556);
-            rule__ContinuousSample__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__2_in_rule__ContinuousSample__Group__114559);
-            rule__ContinuousSample__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__1"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__1__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7131:1: rule__ContinuousSample__Group__1__Impl : ( '{' ) ;
-    public final void rule__ContinuousSample__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7135:1: ( ( '{' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7136:1: ( '{' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7136:1: ( '{' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7137:1: '{'
-            {
-             before(grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__ContinuousSample__Group__1__Impl14587); 
-             after(grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__1__Impl"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7150:1: rule__ContinuousSample__Group__2 : rule__ContinuousSample__Group__2__Impl rule__ContinuousSample__Group__3 ;
-    public final void rule__ContinuousSample__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7154:1: ( rule__ContinuousSample__Group__2__Impl rule__ContinuousSample__Group__3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7155:2: rule__ContinuousSample__Group__2__Impl rule__ContinuousSample__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__2__Impl_in_rule__ContinuousSample__Group__214618);
-            rule__ContinuousSample__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__3_in_rule__ContinuousSample__Group__214621);
-            rule__ContinuousSample__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__2"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__2__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7162:1: rule__ContinuousSample__Group__2__Impl : ( 'value' ) ;
-    public final void rule__ContinuousSample__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7166:1: ( ( 'value' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7167:1: ( 'value' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7167:1: ( 'value' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7168:1: 'value'
-            {
-             before(grammarAccess.getContinuousSampleAccess().getValueKeyword_2()); 
-            match(input,45,FollowSets000.FOLLOW_45_in_rule__ContinuousSample__Group__2__Impl14649); 
-             after(grammarAccess.getContinuousSampleAccess().getValueKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__2__Impl"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7181:1: rule__ContinuousSample__Group__3 : rule__ContinuousSample__Group__3__Impl rule__ContinuousSample__Group__4 ;
-    public final void rule__ContinuousSample__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7185:1: ( rule__ContinuousSample__Group__3__Impl rule__ContinuousSample__Group__4 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7186:2: rule__ContinuousSample__Group__3__Impl rule__ContinuousSample__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__3__Impl_in_rule__ContinuousSample__Group__314680);
-            rule__ContinuousSample__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__4_in_rule__ContinuousSample__Group__314683);
-            rule__ContinuousSample__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__3"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__3__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7193:1: rule__ContinuousSample__Group__3__Impl : ( ( rule__ContinuousSample__ValueAssignment_3 ) ) ;
-    public final void rule__ContinuousSample__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7197:1: ( ( ( rule__ContinuousSample__ValueAssignment_3 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7198:1: ( ( rule__ContinuousSample__ValueAssignment_3 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7198:1: ( ( rule__ContinuousSample__ValueAssignment_3 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7199:1: ( rule__ContinuousSample__ValueAssignment_3 )
-            {
-             before(grammarAccess.getContinuousSampleAccess().getValueAssignment_3()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7200:1: ( rule__ContinuousSample__ValueAssignment_3 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7200:2: rule__ContinuousSample__ValueAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__ValueAssignment_3_in_rule__ContinuousSample__Group__3__Impl14710);
-            rule__ContinuousSample__ValueAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getContinuousSampleAccess().getValueAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__3__Impl"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__4"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7210:1: rule__ContinuousSample__Group__4 : rule__ContinuousSample__Group__4__Impl rule__ContinuousSample__Group__5 ;
-    public final void rule__ContinuousSample__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7214:1: ( rule__ContinuousSample__Group__4__Impl rule__ContinuousSample__Group__5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7215:2: rule__ContinuousSample__Group__4__Impl rule__ContinuousSample__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__4__Impl_in_rule__ContinuousSample__Group__414740);
-            rule__ContinuousSample__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__5_in_rule__ContinuousSample__Group__414743);
-            rule__ContinuousSample__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__4"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__4__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7222:1: rule__ContinuousSample__Group__4__Impl : ( 'probability' ) ;
-    public final void rule__ContinuousSample__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7226:1: ( ( 'probability' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7227:1: ( 'probability' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7227:1: ( 'probability' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7228:1: 'probability'
-            {
-             before(grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4()); 
-            match(input,61,FollowSets000.FOLLOW_61_in_rule__ContinuousSample__Group__4__Impl14771); 
-             after(grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__4__Impl"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7241:1: rule__ContinuousSample__Group__5 : rule__ContinuousSample__Group__5__Impl rule__ContinuousSample__Group__6 ;
-    public final void rule__ContinuousSample__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7245:1: ( rule__ContinuousSample__Group__5__Impl rule__ContinuousSample__Group__6 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7246:2: rule__ContinuousSample__Group__5__Impl rule__ContinuousSample__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__5__Impl_in_rule__ContinuousSample__Group__514802);
-            rule__ContinuousSample__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__6_in_rule__ContinuousSample__Group__514805);
-            rule__ContinuousSample__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__5"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__5__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7253:1: rule__ContinuousSample__Group__5__Impl : ( ( rule__ContinuousSample__ProbabilityAssignment_5 ) ) ;
-    public final void rule__ContinuousSample__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7257:1: ( ( ( rule__ContinuousSample__ProbabilityAssignment_5 ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7258:1: ( ( rule__ContinuousSample__ProbabilityAssignment_5 ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7258:1: ( ( rule__ContinuousSample__ProbabilityAssignment_5 ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7259:1: ( rule__ContinuousSample__ProbabilityAssignment_5 )
-            {
-             before(grammarAccess.getContinuousSampleAccess().getProbabilityAssignment_5()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7260:1: ( rule__ContinuousSample__ProbabilityAssignment_5 )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7260:2: rule__ContinuousSample__ProbabilityAssignment_5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__ProbabilityAssignment_5_in_rule__ContinuousSample__Group__5__Impl14832);
-            rule__ContinuousSample__ProbabilityAssignment_5();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getContinuousSampleAccess().getProbabilityAssignment_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__5__Impl"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__6"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7270:1: rule__ContinuousSample__Group__6 : rule__ContinuousSample__Group__6__Impl ;
-    public final void rule__ContinuousSample__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7274:1: ( rule__ContinuousSample__Group__6__Impl )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7275:2: rule__ContinuousSample__Group__6__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ContinuousSample__Group__6__Impl_in_rule__ContinuousSample__Group__614862);
-            rule__ContinuousSample__Group__6__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__6"
-
-
-    // $ANTLR start "rule__ContinuousSample__Group__6__Impl"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7281:1: rule__ContinuousSample__Group__6__Impl : ( '}' ) ;
-    public final void rule__ContinuousSample__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7285:1: ( ( '}' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7286:1: ( '}' )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7286:1: ( '}' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7287:1: '}'
-            {
-             before(grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__ContinuousSample__Group__6__Impl14890); 
-             after(grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__Group__6__Impl"
-
-
-    // $ANTLR start "rule__ExplicitFunction__SpecificationAssignment_3_1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7315:1: rule__ExplicitFunction__SpecificationAssignment_3_1 : ( ruleEString ) ;
-    public final void rule__ExplicitFunction__SpecificationAssignment_3_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7319:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7320:1: ( ruleEString )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7320:1: ( ruleEString )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7321:1: ruleEString
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getSpecificationEStringParserRuleCall_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ExplicitFunction__SpecificationAssignment_3_114940);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getExplicitFunctionAccess().getSpecificationEStringParserRuleCall_3_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__SpecificationAssignment_3_1"
-
-
-    // $ANTLR start "rule__ExplicitFunction__ExpressionAssignment_4_1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7330:1: rule__ExplicitFunction__ExpressionAssignment_4_1 : ( ruleExpression ) ;
-    public final void rule__ExplicitFunction__ExpressionAssignment_4_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7334:1: ( ( ruleExpression ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7335:1: ( ruleExpression )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7335:1: ( ruleExpression )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7336:1: ruleExpression
-            {
-             before(grammarAccess.getExplicitFunctionAccess().getExpressionExpressionParserRuleCall_4_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__ExplicitFunction__ExpressionAssignment_4_114971);
-            ruleExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getExplicitFunctionAccess().getExpressionExpressionParserRuleCall_4_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExplicitFunction__ExpressionAssignment_4_1"
-
-
-    // $ANTLR start "rule__TermExpression__OperationAssignment_3_1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7345:1: rule__TermExpression__OperationAssignment_3_1 : ( ruleTermOperations ) ;
-    public final void rule__TermExpression__OperationAssignment_3_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7349:1: ( ( ruleTermOperations ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7350:1: ( ruleTermOperations )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7350:1: ( ruleTermOperations )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7351:1: ruleTermOperations
-            {
-             before(grammarAccess.getTermExpressionAccess().getOperationTermOperationsParserRuleCall_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTermOperations_in_rule__TermExpression__OperationAssignment_3_115002);
-            ruleTermOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermExpressionAccess().getOperationTermOperationsParserRuleCall_3_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__OperationAssignment_3_1"
-
-
-    // $ANTLR start "rule__TermExpression__RightAssignment_3_2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7360:1: rule__TermExpression__RightAssignment_3_2 : ( ruleProduct ) ;
-    public final void rule__TermExpression__RightAssignment_3_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7364:1: ( ( ruleProduct ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7365:1: ( ruleProduct )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7365:1: ( ruleProduct )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7366:1: ruleProduct
-            {
-             before(grammarAccess.getTermExpressionAccess().getRightProductParserRuleCall_3_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProduct_in_rule__TermExpression__RightAssignment_3_215033);
-            ruleProduct();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermExpressionAccess().getRightProductParserRuleCall_3_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression__RightAssignment_3_2"
-
-
-    // $ANTLR start "rule__TermExpression2__LeftAssignment_0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7375:1: rule__TermExpression2__LeftAssignment_0 : ( ruleTerm ) ;
-    public final void rule__TermExpression2__LeftAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7379:1: ( ( ruleTerm ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7380:1: ( ruleTerm )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7380:1: ( ruleTerm )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7381:1: ruleTerm
-            {
-             before(grammarAccess.getTermExpression2Access().getLeftTermParserRuleCall_0_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_rule__TermExpression2__LeftAssignment_015064);
-            ruleTerm();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermExpression2Access().getLeftTermParserRuleCall_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression2__LeftAssignment_0"
-
-
-    // $ANTLR start "rule__TermExpression2__OperationAssignment_1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7390:1: rule__TermExpression2__OperationAssignment_1 : ( ruleTermOperations ) ;
-    public final void rule__TermExpression2__OperationAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7394:1: ( ( ruleTermOperations ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7395:1: ( ruleTermOperations )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7395:1: ( ruleTermOperations )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7396:1: ruleTermOperations
-            {
-             before(grammarAccess.getTermExpression2Access().getOperationTermOperationsParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTermOperations_in_rule__TermExpression2__OperationAssignment_115095);
-            ruleTermOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermExpression2Access().getOperationTermOperationsParserRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression2__OperationAssignment_1"
-
-
-    // $ANTLR start "rule__TermExpression2__RightAssignment_2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7405:1: rule__TermExpression2__RightAssignment_2 : ( ruleProduct ) ;
-    public final void rule__TermExpression2__RightAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7409:1: ( ( ruleProduct ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7410:1: ( ruleProduct )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7410:1: ( ruleProduct )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7411:1: ruleProduct
-            {
-             before(grammarAccess.getTermExpression2Access().getRightProductParserRuleCall_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProduct_in_rule__TermExpression2__RightAssignment_215126);
-            ruleProduct();
-
-            state._fsp--;
-
-             after(grammarAccess.getTermExpression2Access().getRightProductParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__TermExpression2__RightAssignment_2"
-
-
-    // $ANTLR start "rule__ProductExpression__OperationAssignment_3_1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7420:1: rule__ProductExpression__OperationAssignment_3_1 : ( ruleProductOperations ) ;
-    public final void rule__ProductExpression__OperationAssignment_3_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7424:1: ( ( ruleProductOperations ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7425:1: ( ruleProductOperations )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7425:1: ( ruleProductOperations )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7426:1: ruleProductOperations
-            {
-             before(grammarAccess.getProductExpressionAccess().getOperationProductOperationsParserRuleCall_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProductOperations_in_rule__ProductExpression__OperationAssignment_3_115157);
-            ruleProductOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductExpressionAccess().getOperationProductOperationsParserRuleCall_3_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__OperationAssignment_3_1"
-
-
-    // $ANTLR start "rule__ProductExpression__RightAssignment_3_2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7435:1: rule__ProductExpression__RightAssignment_3_2 : ( rulePower ) ;
-    public final void rule__ProductExpression__RightAssignment_3_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7439:1: ( ( rulePower ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7440:1: ( rulePower )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7440:1: ( rulePower )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7441:1: rulePower
-            {
-             before(grammarAccess.getProductExpressionAccess().getRightPowerParserRuleCall_3_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_rulePower_in_rule__ProductExpression__RightAssignment_3_215188);
-            rulePower();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductExpressionAccess().getRightPowerParserRuleCall_3_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression__RightAssignment_3_2"
-
-
-    // $ANTLR start "rule__ProductExpression2__LeftAssignment_0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7450:1: rule__ProductExpression2__LeftAssignment_0 : ( ruleProduct ) ;
-    public final void rule__ProductExpression2__LeftAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7454:1: ( ( ruleProduct ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7455:1: ( ruleProduct )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7455:1: ( ruleProduct )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7456:1: ruleProduct
-            {
-             before(grammarAccess.getProductExpression2Access().getLeftProductParserRuleCall_0_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProduct_in_rule__ProductExpression2__LeftAssignment_015219);
-            ruleProduct();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductExpression2Access().getLeftProductParserRuleCall_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression2__LeftAssignment_0"
-
-
-    // $ANTLR start "rule__ProductExpression2__OperationAssignment_1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7465:1: rule__ProductExpression2__OperationAssignment_1 : ( ruleProductOperations ) ;
-    public final void rule__ProductExpression2__OperationAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7469:1: ( ( ruleProductOperations ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7470:1: ( ruleProductOperations )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7470:1: ( ruleProductOperations )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7471:1: ruleProductOperations
-            {
-             before(grammarAccess.getProductExpression2Access().getOperationProductOperationsParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProductOperations_in_rule__ProductExpression2__OperationAssignment_115250);
-            ruleProductOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductExpression2Access().getOperationProductOperationsParserRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression2__OperationAssignment_1"
-
-
-    // $ANTLR start "rule__ProductExpression2__RightAssignment_2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7480:1: rule__ProductExpression2__RightAssignment_2 : ( rulePower ) ;
-    public final void rule__ProductExpression2__RightAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7484:1: ( ( rulePower ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7485:1: ( rulePower )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7485:1: ( rulePower )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7486:1: rulePower
-            {
-             before(grammarAccess.getProductExpression2Access().getRightPowerParserRuleCall_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_rulePower_in_rule__ProductExpression2__RightAssignment_215281);
-            rulePower();
-
-            state._fsp--;
-
-             after(grammarAccess.getProductExpression2Access().getRightPowerParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProductExpression2__RightAssignment_2"
-
-
-    // $ANTLR start "rule__CompareExpression__OperationAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7495:1: rule__CompareExpression__OperationAssignment_3 : ( ruleCompareOperations ) ;
-    public final void rule__CompareExpression__OperationAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7499:1: ( ( ruleCompareOperations ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7500:1: ( ruleCompareOperations )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7500:1: ( ruleCompareOperations )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7501:1: ruleCompareOperations
-            {
-             before(grammarAccess.getCompareExpressionAccess().getOperationCompareOperationsParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompareOperations_in_rule__CompareExpression__OperationAssignment_315312);
-            ruleCompareOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getCompareExpressionAccess().getOperationCompareOperationsParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__OperationAssignment_3"
-
-
-    // $ANTLR start "rule__CompareExpression__LeftAssignment_5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7510:1: rule__CompareExpression__LeftAssignment_5 : ( ruleTerm ) ;
-    public final void rule__CompareExpression__LeftAssignment_5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7514:1: ( ( ruleTerm ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7515:1: ( ruleTerm )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7515:1: ( ruleTerm )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7516:1: ruleTerm
-            {
-             before(grammarAccess.getCompareExpressionAccess().getLeftTermParserRuleCall_5_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_rule__CompareExpression__LeftAssignment_515343);
-            ruleTerm();
-
-            state._fsp--;
-
-             after(grammarAccess.getCompareExpressionAccess().getLeftTermParserRuleCall_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__LeftAssignment_5"
-
-
-    // $ANTLR start "rule__CompareExpression__RightAssignment_7"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7525:1: rule__CompareExpression__RightAssignment_7 : ( ruleTerm ) ;
-    public final void rule__CompareExpression__RightAssignment_7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7529:1: ( ( ruleTerm ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7530:1: ( ruleTerm )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7530:1: ( ruleTerm )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7531:1: ruleTerm
-            {
-             before(grammarAccess.getCompareExpressionAccess().getRightTermParserRuleCall_7_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_rule__CompareExpression__RightAssignment_715374);
-            ruleTerm();
-
-            state._fsp--;
-
-             after(grammarAccess.getCompareExpressionAccess().getRightTermParserRuleCall_7_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__CompareExpression__RightAssignment_7"
-
-
-    // $ANTLR start "rule__PowerExpression__BaseAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7540:1: rule__PowerExpression__BaseAssignment_3 : ( rulePower ) ;
-    public final void rule__PowerExpression__BaseAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7544:1: ( ( rulePower ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7545:1: ( rulePower )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7545:1: ( rulePower )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7546:1: rulePower
-            {
-             before(grammarAccess.getPowerExpressionAccess().getBasePowerParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_rulePower_in_rule__PowerExpression__BaseAssignment_315405);
-            rulePower();
-
-            state._fsp--;
-
-             after(grammarAccess.getPowerExpressionAccess().getBasePowerParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__BaseAssignment_3"
-
-
-    // $ANTLR start "rule__PowerExpression__ExponentAssignment_5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7555:1: rule__PowerExpression__ExponentAssignment_5 : ( ruleUnary ) ;
-    public final void rule__PowerExpression__ExponentAssignment_5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7559:1: ( ( ruleUnary ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7560:1: ( ruleUnary )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7560:1: ( ruleUnary )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7561:1: ruleUnary
-            {
-             before(grammarAccess.getPowerExpressionAccess().getExponentUnaryParserRuleCall_5_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleUnary_in_rule__PowerExpression__ExponentAssignment_515436);
-            ruleUnary();
-
-            state._fsp--;
-
-             after(grammarAccess.getPowerExpressionAccess().getExponentUnaryParserRuleCall_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PowerExpression__ExponentAssignment_5"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__OperationAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7570:1: rule__BooleanOperatorExpression__OperationAssignment_3 : ( ruleBooleanOperations ) ;
-    public final void rule__BooleanOperatorExpression__OperationAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7574:1: ( ( ruleBooleanOperations ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7575:1: ( ruleBooleanOperations )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7575:1: ( ruleBooleanOperations )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7576:1: ruleBooleanOperations
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getOperationBooleanOperationsParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanOperations_in_rule__BooleanOperatorExpression__OperationAssignment_315467);
-            ruleBooleanOperations();
-
-            state._fsp--;
-
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getOperationBooleanOperationsParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__OperationAssignment_3"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__LeftAssignment_5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7585:1: rule__BooleanOperatorExpression__LeftAssignment_5 : ( ruleBooleanExpression ) ;
-    public final void rule__BooleanOperatorExpression__LeftAssignment_5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7589:1: ( ( ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7590:1: ( ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7590:1: ( ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7591:1: ruleBooleanExpression
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getLeftBooleanExpressionParserRuleCall_5_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_rule__BooleanOperatorExpression__LeftAssignment_515498);
-            ruleBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getLeftBooleanExpressionParserRuleCall_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__LeftAssignment_5"
-
-
-    // $ANTLR start "rule__BooleanOperatorExpression__RightAssignment_7"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7600:1: rule__BooleanOperatorExpression__RightAssignment_7 : ( ruleBooleanExpression ) ;
-    public final void rule__BooleanOperatorExpression__RightAssignment_7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7604:1: ( ( ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7605:1: ( ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7605:1: ( ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7606:1: ruleBooleanExpression
-            {
-             before(grammarAccess.getBooleanOperatorExpressionAccess().getRightBooleanExpressionParserRuleCall_7_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_rule__BooleanOperatorExpression__RightAssignment_715529);
-            ruleBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getBooleanOperatorExpressionAccess().getRightBooleanExpressionParserRuleCall_7_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BooleanOperatorExpression__RightAssignment_7"
-
-
-    // $ANTLR start "rule__NotExpression__InnerAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7615:1: rule__NotExpression__InnerAssignment_3 : ( ruleUnary ) ;
-    public final void rule__NotExpression__InnerAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7619:1: ( ( ruleUnary ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7620:1: ( ruleUnary )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7620:1: ( ruleUnary )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7621:1: ruleUnary
-            {
-             before(grammarAccess.getNotExpressionAccess().getInnerUnaryParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleUnary_in_rule__NotExpression__InnerAssignment_315560);
-            ruleUnary();
-
-            state._fsp--;
-
-             after(grammarAccess.getNotExpressionAccess().getInnerUnaryParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NotExpression__InnerAssignment_3"
-
-
-    // $ANTLR start "rule__NegativeExpression__InnerAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7630:1: rule__NegativeExpression__InnerAssignment_3 : ( ruleUnary ) ;
-    public final void rule__NegativeExpression__InnerAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7634:1: ( ( ruleUnary ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7635:1: ( ruleUnary )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7635:1: ( ruleUnary )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7636:1: ruleUnary
-            {
-             before(grammarAccess.getNegativeExpressionAccess().getInnerUnaryParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleUnary_in_rule__NegativeExpression__InnerAssignment_315591);
-            ruleUnary();
-
-            state._fsp--;
-
-             after(grammarAccess.getNegativeExpressionAccess().getInnerUnaryParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NegativeExpression__InnerAssignment_3"
-
-
-    // $ANTLR start "rule__IfElseExpression__IfExpressionAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7645:1: rule__IfElseExpression__IfExpressionAssignment_3 : ( ruleBooleanExpression ) ;
-    public final void rule__IfElseExpression__IfExpressionAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7649:1: ( ( ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7650:1: ( ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7650:1: ( ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7651:1: ruleBooleanExpression
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getIfExpressionBooleanExpressionParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_rule__IfElseExpression__IfExpressionAssignment_315622);
-            ruleBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getIfElseExpressionAccess().getIfExpressionBooleanExpressionParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__IfExpressionAssignment_3"
-
-
-    // $ANTLR start "rule__IfElseExpression__ElseExpressionAssignment_5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7660:1: rule__IfElseExpression__ElseExpressionAssignment_5 : ( ruleBooleanExpression ) ;
-    public final void rule__IfElseExpression__ElseExpressionAssignment_5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7664:1: ( ( ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7665:1: ( ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7665:1: ( ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7666:1: ruleBooleanExpression
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getElseExpressionBooleanExpressionParserRuleCall_5_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_rule__IfElseExpression__ElseExpressionAssignment_515653);
-            ruleBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getIfElseExpressionAccess().getElseExpressionBooleanExpressionParserRuleCall_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__ElseExpressionAssignment_5"
-
-
-    // $ANTLR start "rule__IfElseExpression__ConditionExpressionAssignment_7"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7675:1: rule__IfElseExpression__ConditionExpressionAssignment_7 : ( ruleBooleanExpression ) ;
-    public final void rule__IfElseExpression__ConditionExpressionAssignment_7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7679:1: ( ( ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7680:1: ( ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7680:1: ( ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7681:1: ruleBooleanExpression
-            {
-             before(grammarAccess.getIfElseExpressionAccess().getConditionExpressionBooleanExpressionParserRuleCall_7_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_rule__IfElseExpression__ConditionExpressionAssignment_715684);
-            ruleBooleanExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getIfElseExpressionAccess().getConditionExpressionBooleanExpressionParserRuleCall_7_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IfElseExpression__ConditionExpressionAssignment_7"
-
-
-    // $ANTLR start "rule__Function__IdAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7690:1: rule__Function__IdAssignment_3 : ( ruleEString ) ;
-    public final void rule__Function__IdAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7694:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7695:1: ( ruleEString )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7695:1: ( ruleEString )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7696:1: ruleEString
-            {
-             before(grammarAccess.getFunctionAccess().getIdEStringParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Function__IdAssignment_315715);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getFunctionAccess().getIdEStringParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__IdAssignment_3"
-
-
-    // $ANTLR start "rule__Function__ParametersAssignment_4_2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7705:1: rule__Function__ParametersAssignment_4_2 : ( ruleExpression ) ;
-    public final void rule__Function__ParametersAssignment_4_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7709:1: ( ( ruleExpression ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7710:1: ( ruleExpression )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7710:1: ( ruleExpression )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7711:1: ruleExpression
-            {
-             before(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__Function__ParametersAssignment_4_215746);
-            ruleExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__ParametersAssignment_4_2"
-
-
-    // $ANTLR start "rule__Function__ParametersAssignment_4_3_1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7720:1: rule__Function__ParametersAssignment_4_3_1 : ( ruleExpression ) ;
-    public final void rule__Function__ParametersAssignment_4_3_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7724:1: ( ( ruleExpression ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7725:1: ( ruleExpression )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7725:1: ( ruleExpression )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7726:1: ruleExpression
-            {
-             before(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__Function__ParametersAssignment_4_3_115777);
-            ruleExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_3_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Function__ParametersAssignment_4_3_1"
-
-
-    // $ANTLR start "rule__Parenthesis__InnerExpressionAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7735:1: rule__Parenthesis__InnerExpressionAssignment_3 : ( ruleExpression ) ;
-    public final void rule__Parenthesis__InnerExpressionAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7739:1: ( ( ruleExpression ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7740:1: ( ruleExpression )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7740:1: ( ruleExpression )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7741:1: ruleExpression
-            {
-             before(grammarAccess.getParenthesisAccess().getInnerExpressionExpressionParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_rule__Parenthesis__InnerExpressionAssignment_315808);
-            ruleExpression();
-
-            state._fsp--;
-
-             after(grammarAccess.getParenthesisAccess().getInnerExpressionExpressionParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parenthesis__InnerExpressionAssignment_3"
-
-
-    // $ANTLR start "rule__StringLiteral__ValueAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7750:1: rule__StringLiteral__ValueAssignment_3 : ( ruleEString ) ;
-    public final void rule__StringLiteral__ValueAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7754:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7755:1: ( ruleEString )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7755:1: ( ruleEString )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7756:1: ruleEString
-            {
-             before(grammarAccess.getStringLiteralAccess().getValueEStringParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__StringLiteral__ValueAssignment_315839);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getStringLiteralAccess().getValueEStringParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__StringLiteral__ValueAssignment_3"
-
-
-    // $ANTLR start "rule__BoolLiteral__ValueAssignment_0"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7765:1: rule__BoolLiteral__ValueAssignment_0 : ( ( 'value' ) ) ;
-    public final void rule__BoolLiteral__ValueAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7769:1: ( ( ( 'value' ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7770:1: ( ( 'value' ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7770:1: ( ( 'value' ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7771:1: ( 'value' )
-            {
-             before(grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7772:1: ( 'value' )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7773:1: 'value'
-            {
-             before(grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0()); 
-            match(input,45,FollowSets000.FOLLOW_45_in_rule__BoolLiteral__ValueAssignment_015875); 
-             after(grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0()); 
-
-            }
-
-             after(grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoolLiteral__ValueAssignment_0"
-
-
-    // $ANTLR start "rule__IntLiteral__ValueAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7788:1: rule__IntLiteral__ValueAssignment_3 : ( ruleEBigInteger ) ;
-    public final void rule__IntLiteral__ValueAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7792:1: ( ( ruleEBigInteger ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7793:1: ( ruleEBigInteger )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7793:1: ( ruleEBigInteger )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7794:1: ruleEBigInteger
-            {
-             before(grammarAccess.getIntLiteralAccess().getValueEBigIntegerParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigInteger_in_rule__IntLiteral__ValueAssignment_315914);
-            ruleEBigInteger();
-
-            state._fsp--;
-
-             after(grammarAccess.getIntLiteralAccess().getValueEBigIntegerParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__IntLiteral__ValueAssignment_3"
-
-
-    // $ANTLR start "rule__DoubleLiteral__ValueAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7803:1: rule__DoubleLiteral__ValueAssignment_3 : ( ruleEBigDecimal ) ;
-    public final void rule__DoubleLiteral__ValueAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7807:1: ( ( ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7808:1: ( ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7808:1: ( ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7809:1: ruleEBigDecimal
-            {
-             before(grammarAccess.getDoubleLiteralAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_rule__DoubleLiteral__ValueAssignment_315945);
-            ruleEBigDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getDoubleLiteralAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DoubleLiteral__ValueAssignment_3"
-
-
-    // $ANTLR start "rule__FormalParameter__NameAssignment_2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7818:1: rule__FormalParameter__NameAssignment_2 : ( ruleEString ) ;
-    public final void rule__FormalParameter__NameAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7822:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7823:1: ( ruleEString )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7823:1: ( ruleEString )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7824:1: ruleEString
-            {
-             before(grammarAccess.getFormalParameterAccess().getNameEStringParserRuleCall_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__FormalParameter__NameAssignment_215976);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getFormalParameterAccess().getNameEStringParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__FormalParameter__NameAssignment_2"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__SampleAssignment_3_2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7833:1: rule__ProbabilityMassFunction__SampleAssignment_3_2 : ( ruleSample ) ;
-    public final void rule__ProbabilityMassFunction__SampleAssignment_3_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7837:1: ( ( ruleSample ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7838:1: ( ruleSample )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7838:1: ( ruleSample )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7839:1: ruleSample
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSample_in_rule__ProbabilityMassFunction__SampleAssignment_3_216007);
-            ruleSample();
-
-            state._fsp--;
-
-             after(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__SampleAssignment_3_2"
-
-
-    // $ANTLR start "rule__ProbabilityMassFunction__SampleAssignment_3_3_1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7848:1: rule__ProbabilityMassFunction__SampleAssignment_3_3_1 : ( ruleSample ) ;
-    public final void rule__ProbabilityMassFunction__SampleAssignment_3_3_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7852:1: ( ( ruleSample ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7853:1: ( ruleSample )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7853:1: ( ruleSample )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7854:1: ruleSample
-            {
-             before(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSample_in_rule__ProbabilityMassFunction__SampleAssignment_3_3_116038);
-            ruleSample();
-
-            state._fsp--;
-
-             after(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ProbabilityMassFunction__SampleAssignment_3_3_1"
-
-
-    // $ANTLR start "rule__BoxedPDF__SampleAssignment_3_2"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7863:1: rule__BoxedPDF__SampleAssignment_3_2 : ( ruleContinuousSample ) ;
-    public final void rule__BoxedPDF__SampleAssignment_3_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7867:1: ( ( ruleContinuousSample ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7868:1: ( ruleContinuousSample )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7868:1: ( ruleContinuousSample )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7869:1: ruleContinuousSample
-            {
-             before(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_rule__BoxedPDF__SampleAssignment_3_216069);
-            ruleContinuousSample();
-
-            state._fsp--;
-
-             after(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__SampleAssignment_3_2"
-
-
-    // $ANTLR start "rule__BoxedPDF__SampleAssignment_3_3_1"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7878:1: rule__BoxedPDF__SampleAssignment_3_3_1 : ( ruleContinuousSample ) ;
-    public final void rule__BoxedPDF__SampleAssignment_3_3_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7882:1: ( ( ruleContinuousSample ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7883:1: ( ruleContinuousSample )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7883:1: ( ruleContinuousSample )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7884:1: ruleContinuousSample
-            {
-             before(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_rule__BoxedPDF__SampleAssignment_3_3_116100);
-            ruleContinuousSample();
-
-            state._fsp--;
-
-             after(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__BoxedPDF__SampleAssignment_3_3_1"
-
-
-    // $ANTLR start "rule__NormalDistribution__MuAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7893:1: rule__NormalDistribution__MuAssignment_3 : ( ruleEBigDecimal ) ;
-    public final void rule__NormalDistribution__MuAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7897:1: ( ( ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7898:1: ( ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7898:1: ( ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7899:1: ruleEBigDecimal
-            {
-             before(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_rule__NormalDistribution__MuAssignment_316131);
-            ruleEBigDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__MuAssignment_3"
-
-
-    // $ANTLR start "rule__NormalDistribution__SigmaAssignment_5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7908:1: rule__NormalDistribution__SigmaAssignment_5 : ( ruleEBigDecimal ) ;
-    public final void rule__NormalDistribution__SigmaAssignment_5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7912:1: ( ( ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7913:1: ( ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7913:1: ( ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7914:1: ruleEBigDecimal
-            {
-             before(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_rule__NormalDistribution__SigmaAssignment_516162);
-            ruleEBigDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NormalDistribution__SigmaAssignment_5"
-
-
-    // $ANTLR start "rule__ExponentialDistribution__RateAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7923:1: rule__ExponentialDistribution__RateAssignment_3 : ( ruleEBigDecimal ) ;
-    public final void rule__ExponentialDistribution__RateAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7927:1: ( ( ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7928:1: ( ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7928:1: ( ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7929:1: ruleEBigDecimal
-            {
-             before(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_rule__ExponentialDistribution__RateAssignment_316193);
-            ruleEBigDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ExponentialDistribution__RateAssignment_3"
-
-
-    // $ANTLR start "rule__Sample__ProbabilityAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7938:1: rule__Sample__ProbabilityAssignment_3 : ( ruleEBigDecimal ) ;
-    public final void rule__Sample__ProbabilityAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7942:1: ( ( ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7943:1: ( ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7943:1: ( ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7944:1: ruleEBigDecimal
-            {
-             before(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_rule__Sample__ProbabilityAssignment_316224);
-            ruleEBigDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__ProbabilityAssignment_3"
-
-
-    // $ANTLR start "rule__Sample__ValueAssignment_5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7953:1: rule__Sample__ValueAssignment_5 : ( ( ruleEString ) ) ;
-    public final void rule__Sample__ValueAssignment_5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7957:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7958:1: ( ( ruleEString ) )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7958:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7959:1: ( ruleEString )
-            {
-             before(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); 
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7960:1: ( ruleEString )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7961:1: ruleEString
-            {
-             before(grammarAccess.getSampleAccess().getValueEObjectEStringParserRuleCall_5_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Sample__ValueAssignment_516259);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getSampleAccess().getValueEObjectEStringParserRuleCall_5_0_1()); 
-
-            }
-
-             after(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sample__ValueAssignment_5"
-
-
-    // $ANTLR start "rule__ContinuousSample__ValueAssignment_3"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7972:1: rule__ContinuousSample__ValueAssignment_3 : ( ruleEBigDecimal ) ;
-    public final void rule__ContinuousSample__ValueAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7976:1: ( ( ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7977:1: ( ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7977:1: ( ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7978:1: ruleEBigDecimal
-            {
-             before(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_rule__ContinuousSample__ValueAssignment_316294);
-            ruleEBigDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__ValueAssignment_3"
-
-
-    // $ANTLR start "rule__ContinuousSample__ProbabilityAssignment_5"
-    // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7987:1: rule__ContinuousSample__ProbabilityAssignment_5 : ( ruleEBigDecimal ) ;
-    public final void rule__ContinuousSample__ProbabilityAssignment_5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7991:1: ( ( ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7992:1: ( ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7992:1: ( ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/contentassist/antlr/internal/InternalMyDsl1.g:7993:1: ruleEBigDecimal
-            {
-             before(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_rule__ContinuousSample__ProbabilityAssignment_516325);
-            ruleEBigDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ContinuousSample__ProbabilityAssignment_5"
-
-    // Delegated rules
-
-
- 
-
-    
-    private static class FollowSets000 {
-        public static final BitSet FOLLOW_ruleExplicitFunction_in_entryRuleExplicitFunction61 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExplicitFunction68 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__0_in_ruleExplicitFunction94 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression121 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExpression128 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Expression__Alternatives_in_ruleExpression154 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm181 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTerm188 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Term__Alternatives_in_ruleTerm214 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProduct_in_entryRuleProduct241 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProduct248 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Product__Alternatives_in_ruleProduct274 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePower_in_entryRulePower301 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePower308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Power__Alternatives_in_rulePower334 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnary_in_entryRuleUnary361 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleUnary368 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Unary__Alternatives_in_ruleUnary394 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_entryRuleBooleanExpression421 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanExpression428 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanExpression__Alternatives_in_ruleBooleanExpression454 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString481 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEString488 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EString__Alternatives_in_ruleEString514 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression_in_entryRuleTermExpression541 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTermExpression548 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__0_in_ruleTermExpression574 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression2_in_entryRuleTermExpression2601 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTermExpression2608 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression2__Group__0_in_ruleTermExpression2634 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_entryRuleProductExpression661 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProductExpression668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__0_in_ruleProductExpression694 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression2_in_entryRuleProductExpression2721 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProductExpression2728 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression2__Group__0_in_ruleProductExpression2754 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompareExpression_in_entryRuleCompareExpression781 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompareExpression788 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__0_in_ruleCompareExpression814 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_entryRulePowerExpression841 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePowerExpression848 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__0_in_rulePowerExpression874 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanOperatorExpression_in_entryRuleBooleanOperatorExpression901 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanOperatorExpression908 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__0_in_ruleBooleanOperatorExpression934 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_entryRuleNotExpression961 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNotExpression968 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__0_in_ruleNotExpression994 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_entryRuleNegativeExpression1021 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNegativeExpression1028 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__0_in_ruleNegativeExpression1054 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression1081 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleIfElseExpression1088 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__0_in_ruleIfElseExpression1114 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction1141 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleFunction1148 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group__0_in_ruleFunction1174 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_entryRuleParenthesis1201 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleParenthesis1208 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__0_in_ruleParenthesis1234 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_entryRuleLiteral_Impl1261 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLiteral_Impl1268 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Literal_Impl__Group__0_in_ruleLiteral_Impl1294 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1321 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral1328 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1354 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_entryRuleBoolLiteral1381 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBoolLiteral1388 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoolLiteral__Group__0_in_ruleBoolLiteral1414 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1441 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral1448 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1474 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral1501 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleDoubleLiteral1508 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__0_in_ruleDoubleLiteral1534 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter1561 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleFormalParameter1568 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__FormalParameter__Group__0_in_ruleFormalParameter1594 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_entryRuleProbabilityMassFunction1621 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProbabilityMassFunction1628 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__0_in_ruleProbabilityMassFunction1654 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_entryRuleBoxedPDF1681 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBoxedPDF1688 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__0_in_ruleBoxedPDF1714 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_entryRuleNormalDistribution1741 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNormalDistribution1748 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__0_in_ruleNormalDistribution1774 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_entryRuleExponentialDistribution1801 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExponentialDistribution1808 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__0_in_ruleExponentialDistribution1834 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermOperations_in_entryRuleTermOperations1861 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTermOperations1868 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_11_in_ruleTermOperations1895 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductOperations_in_entryRuleProductOperations1923 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProductOperations1930 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_12_in_ruleProductOperations1957 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompareOperations_in_entryRuleCompareOperations1985 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompareOperations1992 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_13_in_ruleCompareOperations2019 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanOperations_in_entryRuleBooleanOperations2047 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanOperations2054 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_14_in_ruleBooleanOperations2081 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigInteger_in_entryRuleEBigInteger2111 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEBigInteger2118 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EBigInteger__Group__0_in_ruleEBigInteger2144 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_entryRuleEBigDecimal2171 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEBigDecimal2178 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EBigDecimal__Group__0_in_ruleEBigDecimal2204 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSample_in_entryRuleSample2231 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSample2238 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__Group__0_in_ruleSample2264 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleContinuousSample_in_entryRuleContinuousSample2293 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleContinuousSample2300 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__0_in_ruleContinuousSample2326 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression_in_rule__Expression__Alternatives2362 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_rule__Expression__Alternatives2379 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompareExpression_in_rule__Expression__Alternatives2396 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_rule__Expression__Alternatives2413 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanOperatorExpression_in_rule__Expression__Alternatives2430 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_rule__Expression__Alternatives2447 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_rule__Expression__Alternatives2464 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIfElseExpression_in_rule__Expression__Alternatives2481 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_rule__Expression__Alternatives2498 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_rule__Expression__Alternatives2515 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_rule__Expression__Alternatives2532 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Expression__Alternatives2549 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_rule__Expression__Alternatives2566 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_rule__Expression__Alternatives2583 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_rule__Expression__Alternatives2600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_rule__Expression__Alternatives2617 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_rule__Expression__Alternatives2634 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_rule__Expression__Alternatives2651 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_rule__Expression__Alternatives2668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_rule__Expression__Alternatives2685 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression_in_rule__Term__Alternatives2717 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_rule__Term__Alternatives2734 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_rule__Term__Alternatives2751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_rule__Term__Alternatives2768 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_rule__Term__Alternatives2785 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_rule__Term__Alternatives2802 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_rule__Term__Alternatives2819 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_rule__Term__Alternatives2836 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Term__Alternatives2853 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_rule__Term__Alternatives2870 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_rule__Term__Alternatives2887 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_rule__Term__Alternatives2904 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_rule__Term__Alternatives2921 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_rule__Term__Alternatives2938 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_rule__Term__Alternatives2955 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_rule__Term__Alternatives2972 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_rule__Term__Alternatives2989 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_rule__Product__Alternatives3021 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_rule__Product__Alternatives3038 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_rule__Product__Alternatives3055 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_rule__Product__Alternatives3072 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_rule__Product__Alternatives3089 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_rule__Product__Alternatives3106 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_rule__Product__Alternatives3123 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Product__Alternatives3140 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_rule__Product__Alternatives3157 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_rule__Product__Alternatives3174 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_rule__Product__Alternatives3191 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_rule__Product__Alternatives3208 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_rule__Product__Alternatives3225 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_rule__Product__Alternatives3242 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_rule__Product__Alternatives3259 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_rule__Product__Alternatives3276 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_rule__Power__Alternatives3308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_rule__Power__Alternatives3325 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_rule__Power__Alternatives3342 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_rule__Power__Alternatives3359 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_rule__Power__Alternatives3376 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_rule__Power__Alternatives3393 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Power__Alternatives3410 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_rule__Power__Alternatives3427 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_rule__Power__Alternatives3444 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_rule__Power__Alternatives3461 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_rule__Power__Alternatives3478 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_rule__Power__Alternatives3495 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_rule__Power__Alternatives3512 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_rule__Power__Alternatives3529 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_rule__Power__Alternatives3546 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_rule__Unary__Alternatives3578 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_rule__Unary__Alternatives3595 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_rule__Unary__Alternatives3612 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_rule__Unary__Alternatives3629 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_rule__Unary__Alternatives3646 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Unary__Alternatives3663 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_rule__Unary__Alternatives3680 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_rule__Unary__Alternatives3697 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_rule__Unary__Alternatives3714 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_rule__Unary__Alternatives3731 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_rule__Unary__Alternatives3748 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_rule__Unary__Alternatives3765 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_rule__Unary__Alternatives3782 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_rule__Unary__Alternatives3799 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression_in_rule__BooleanExpression__Alternatives3831 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_rule__BooleanExpression__Alternatives3848 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompareExpression_in_rule__BooleanExpression__Alternatives3865 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_rule__BooleanExpression__Alternatives3882 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanOperatorExpression_in_rule__BooleanExpression__Alternatives3899 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_rule__BooleanExpression__Alternatives3916 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_rule__BooleanExpression__Alternatives3933 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_rule__BooleanExpression__Alternatives3950 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_rule__BooleanExpression__Alternatives3967 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_rule__BooleanExpression__Alternatives3984 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__BooleanExpression__Alternatives4001 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_rule__BooleanExpression__Alternatives4018 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_rule__BooleanExpression__Alternatives4035 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_rule__BooleanExpression__Alternatives4052 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_rule__BooleanExpression__Alternatives4069 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_rule__BooleanExpression__Alternatives4086 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_rule__BooleanExpression__Alternatives4103 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_rule__BooleanExpression__Alternatives4120 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_rule__BooleanExpression__Alternatives4137 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives4169 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives4186 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__0__Impl_in_rule__ExplicitFunction__Group__04217 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__1_in_rule__ExplicitFunction__Group__04220 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__1__Impl_in_rule__ExplicitFunction__Group__14278 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__2_in_rule__ExplicitFunction__Group__14281 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_15_in_rule__ExplicitFunction__Group__1__Impl4309 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__2__Impl_in_rule__ExplicitFunction__Group__24340 = new BitSet(new long[]{0x00000000000E0000L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__3_in_rule__ExplicitFunction__Group__24343 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__ExplicitFunction__Group__2__Impl4371 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__3__Impl_in_rule__ExplicitFunction__Group__34402 = new BitSet(new long[]{0x00000000000E0000L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__4_in_rule__ExplicitFunction__Group__34405 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group_3__0_in_rule__ExplicitFunction__Group__3__Impl4432 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__4__Impl_in_rule__ExplicitFunction__Group__44463 = new BitSet(new long[]{0x00000000000E0000L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__5_in_rule__ExplicitFunction__Group__44466 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group_4__0_in_rule__ExplicitFunction__Group__4__Impl4493 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group__5__Impl_in_rule__ExplicitFunction__Group__54524 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__ExplicitFunction__Group__5__Impl4552 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group_3__0__Impl_in_rule__ExplicitFunction__Group_3__04595 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group_3__1_in_rule__ExplicitFunction__Group_3__04598 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__ExplicitFunction__Group_3__0__Impl4626 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group_3__1__Impl_in_rule__ExplicitFunction__Group_3__14657 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__SpecificationAssignment_3_1_in_rule__ExplicitFunction__Group_3__1__Impl4684 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group_4__0__Impl_in_rule__ExplicitFunction__Group_4__04718 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group_4__1_in_rule__ExplicitFunction__Group_4__04721 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_19_in_rule__ExplicitFunction__Group_4__0__Impl4749 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__Group_4__1__Impl_in_rule__ExplicitFunction__Group_4__14780 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExplicitFunction__ExpressionAssignment_4_1_in_rule__ExplicitFunction__Group_4__1__Impl4807 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__0__Impl_in_rule__TermExpression__Group__04841 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__1_in_rule__TermExpression__Group__04844 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__TermExpression__Group__0__Impl4872 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__1__Impl_in_rule__TermExpression__Group__14903 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__2_in_rule__TermExpression__Group__14906 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__TermExpression__Group__1__Impl4934 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__2__Impl_in_rule__TermExpression__Group__24965 = new BitSet(new long[]{0x0000000000020800L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__3_in_rule__TermExpression__Group__24968 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression2_in_rule__TermExpression__Group__2__Impl4995 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__3__Impl_in_rule__TermExpression__Group__35024 = new BitSet(new long[]{0x0000000000020800L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__4_in_rule__TermExpression__Group__35027 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group_3__0_in_rule__TermExpression__Group__3__Impl5054 = new BitSet(new long[]{0x0000000000000802L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group__4__Impl_in_rule__TermExpression__Group__45085 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__TermExpression__Group__4__Impl5113 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group_3__0__Impl_in_rule__TermExpression__Group_3__05154 = new BitSet(new long[]{0x0000000000000800L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group_3__1_in_rule__TermExpression__Group_3__05157 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group_3__1__Impl_in_rule__TermExpression__Group_3__15215 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group_3__2_in_rule__TermExpression__Group_3__15218 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__OperationAssignment_3_1_in_rule__TermExpression__Group_3__1__Impl5245 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__Group_3__2__Impl_in_rule__TermExpression__Group_3__25275 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression__RightAssignment_3_2_in_rule__TermExpression__Group_3__2__Impl5302 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression2__Group__0__Impl_in_rule__TermExpression2__Group__05338 = new BitSet(new long[]{0x0000000000000800L});
-        public static final BitSet FOLLOW_rule__TermExpression2__Group__1_in_rule__TermExpression2__Group__05341 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression2__LeftAssignment_0_in_rule__TermExpression2__Group__0__Impl5368 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression2__Group__1__Impl_in_rule__TermExpression2__Group__15398 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__TermExpression2__Group__2_in_rule__TermExpression2__Group__15401 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression2__OperationAssignment_1_in_rule__TermExpression2__Group__1__Impl5428 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression2__Group__2__Impl_in_rule__TermExpression2__Group__25458 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TermExpression2__RightAssignment_2_in_rule__TermExpression2__Group__2__Impl5485 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__0__Impl_in_rule__ProductExpression__Group__05521 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__1_in_rule__ProductExpression__Group__05524 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__ProductExpression__Group__0__Impl5552 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__1__Impl_in_rule__ProductExpression__Group__15583 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__2_in_rule__ProductExpression__Group__15586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__ProductExpression__Group__1__Impl5614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__2__Impl_in_rule__ProductExpression__Group__25645 = new BitSet(new long[]{0x0000000000021000L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__3_in_rule__ProductExpression__Group__25648 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression2_in_rule__ProductExpression__Group__2__Impl5675 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__3__Impl_in_rule__ProductExpression__Group__35704 = new BitSet(new long[]{0x0000000000021000L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__4_in_rule__ProductExpression__Group__35707 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group_3__0_in_rule__ProductExpression__Group__3__Impl5734 = new BitSet(new long[]{0x0000000000001002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group__4__Impl_in_rule__ProductExpression__Group__45765 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__ProductExpression__Group__4__Impl5793 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group_3__0__Impl_in_rule__ProductExpression__Group_3__05834 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group_3__1_in_rule__ProductExpression__Group_3__05837 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group_3__1__Impl_in_rule__ProductExpression__Group_3__15895 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group_3__2_in_rule__ProductExpression__Group_3__15898 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__OperationAssignment_3_1_in_rule__ProductExpression__Group_3__1__Impl5925 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__Group_3__2__Impl_in_rule__ProductExpression__Group_3__25955 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression__RightAssignment_3_2_in_rule__ProductExpression__Group_3__2__Impl5982 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression2__Group__0__Impl_in_rule__ProductExpression2__Group__06018 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_rule__ProductExpression2__Group__1_in_rule__ProductExpression2__Group__06021 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression2__LeftAssignment_0_in_rule__ProductExpression2__Group__0__Impl6048 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression2__Group__1__Impl_in_rule__ProductExpression2__Group__16078 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__ProductExpression2__Group__2_in_rule__ProductExpression2__Group__16081 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression2__OperationAssignment_1_in_rule__ProductExpression2__Group__1__Impl6108 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression2__Group__2__Impl_in_rule__ProductExpression2__Group__26138 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProductExpression2__RightAssignment_2_in_rule__ProductExpression2__Group__2__Impl6165 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__0__Impl_in_rule__CompareExpression__Group__06201 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__1_in_rule__CompareExpression__Group__06204 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_22_in_rule__CompareExpression__Group__0__Impl6232 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__1__Impl_in_rule__CompareExpression__Group__16263 = new BitSet(new long[]{0x0000000000800000L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__2_in_rule__CompareExpression__Group__16266 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__CompareExpression__Group__1__Impl6294 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__2__Impl_in_rule__CompareExpression__Group__26325 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__3_in_rule__CompareExpression__Group__26328 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_23_in_rule__CompareExpression__Group__2__Impl6356 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__3__Impl_in_rule__CompareExpression__Group__36387 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__4_in_rule__CompareExpression__Group__36390 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__OperationAssignment_3_in_rule__CompareExpression__Group__3__Impl6417 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__4__Impl_in_rule__CompareExpression__Group__46447 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__5_in_rule__CompareExpression__Group__46450 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__CompareExpression__Group__4__Impl6478 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__5__Impl_in_rule__CompareExpression__Group__56509 = new BitSet(new long[]{0x0000000002000000L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__6_in_rule__CompareExpression__Group__56512 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__LeftAssignment_5_in_rule__CompareExpression__Group__5__Impl6539 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__6__Impl_in_rule__CompareExpression__Group__66569 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__7_in_rule__CompareExpression__Group__66572 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__CompareExpression__Group__6__Impl6600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__7__Impl_in_rule__CompareExpression__Group__76631 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__8_in_rule__CompareExpression__Group__76634 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__RightAssignment_7_in_rule__CompareExpression__Group__7__Impl6661 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompareExpression__Group__8__Impl_in_rule__CompareExpression__Group__86691 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__CompareExpression__Group__8__Impl6719 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__0__Impl_in_rule__PowerExpression__Group__06768 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__1_in_rule__PowerExpression__Group__06771 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__PowerExpression__Group__0__Impl6799 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__1__Impl_in_rule__PowerExpression__Group__16830 = new BitSet(new long[]{0x0000000008000000L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__2_in_rule__PowerExpression__Group__16833 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__PowerExpression__Group__1__Impl6861 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__2__Impl_in_rule__PowerExpression__Group__26892 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__3_in_rule__PowerExpression__Group__26895 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_27_in_rule__PowerExpression__Group__2__Impl6923 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__3__Impl_in_rule__PowerExpression__Group__36954 = new BitSet(new long[]{0x0000000010000000L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__4_in_rule__PowerExpression__Group__36957 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__BaseAssignment_3_in_rule__PowerExpression__Group__3__Impl6984 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__4__Impl_in_rule__PowerExpression__Group__47014 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__5_in_rule__PowerExpression__Group__47017 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_28_in_rule__PowerExpression__Group__4__Impl7045 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__5__Impl_in_rule__PowerExpression__Group__57076 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__6_in_rule__PowerExpression__Group__57079 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__ExponentAssignment_5_in_rule__PowerExpression__Group__5__Impl7106 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PowerExpression__Group__6__Impl_in_rule__PowerExpression__Group__67136 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__PowerExpression__Group__6__Impl7164 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__0__Impl_in_rule__BooleanOperatorExpression__Group__07209 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__1_in_rule__BooleanOperatorExpression__Group__07212 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rule__BooleanOperatorExpression__Group__0__Impl7240 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__1__Impl_in_rule__BooleanOperatorExpression__Group__17271 = new BitSet(new long[]{0x0000000000800000L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__2_in_rule__BooleanOperatorExpression__Group__17274 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__BooleanOperatorExpression__Group__1__Impl7302 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__2__Impl_in_rule__BooleanOperatorExpression__Group__27333 = new BitSet(new long[]{0x0000000000004000L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__3_in_rule__BooleanOperatorExpression__Group__27336 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_23_in_rule__BooleanOperatorExpression__Group__2__Impl7364 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__3__Impl_in_rule__BooleanOperatorExpression__Group__37395 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__4_in_rule__BooleanOperatorExpression__Group__37398 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__OperationAssignment_3_in_rule__BooleanOperatorExpression__Group__3__Impl7425 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__4__Impl_in_rule__BooleanOperatorExpression__Group__47455 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__5_in_rule__BooleanOperatorExpression__Group__47458 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__BooleanOperatorExpression__Group__4__Impl7486 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__5__Impl_in_rule__BooleanOperatorExpression__Group__57517 = new BitSet(new long[]{0x0000000002000000L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__6_in_rule__BooleanOperatorExpression__Group__57520 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__LeftAssignment_5_in_rule__BooleanOperatorExpression__Group__5__Impl7547 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__6__Impl_in_rule__BooleanOperatorExpression__Group__67577 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__7_in_rule__BooleanOperatorExpression__Group__67580 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__BooleanOperatorExpression__Group__6__Impl7608 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__7__Impl_in_rule__BooleanOperatorExpression__Group__77639 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__8_in_rule__BooleanOperatorExpression__Group__77642 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__RightAssignment_7_in_rule__BooleanOperatorExpression__Group__7__Impl7669 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanOperatorExpression__Group__8__Impl_in_rule__BooleanOperatorExpression__Group__87699 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__BooleanOperatorExpression__Group__8__Impl7727 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__0__Impl_in_rule__NotExpression__Group__07776 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__1_in_rule__NotExpression__Group__07779 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_30_in_rule__NotExpression__Group__0__Impl7807 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__1__Impl_in_rule__NotExpression__Group__17838 = new BitSet(new long[]{0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__2_in_rule__NotExpression__Group__17841 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__NotExpression__Group__1__Impl7869 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__2__Impl_in_rule__NotExpression__Group__27900 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__3_in_rule__NotExpression__Group__27903 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_31_in_rule__NotExpression__Group__2__Impl7931 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__3__Impl_in_rule__NotExpression__Group__37962 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__4_in_rule__NotExpression__Group__37965 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NotExpression__InnerAssignment_3_in_rule__NotExpression__Group__3__Impl7992 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NotExpression__Group__4__Impl_in_rule__NotExpression__Group__48022 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__NotExpression__Group__4__Impl8050 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__0__Impl_in_rule__NegativeExpression__Group__08091 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__1_in_rule__NegativeExpression__Group__08094 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_32_in_rule__NegativeExpression__Group__0__Impl8122 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__1__Impl_in_rule__NegativeExpression__Group__18153 = new BitSet(new long[]{0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__2_in_rule__NegativeExpression__Group__18156 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__NegativeExpression__Group__1__Impl8184 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__2__Impl_in_rule__NegativeExpression__Group__28215 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__3_in_rule__NegativeExpression__Group__28218 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_31_in_rule__NegativeExpression__Group__2__Impl8246 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__3__Impl_in_rule__NegativeExpression__Group__38277 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__4_in_rule__NegativeExpression__Group__38280 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__InnerAssignment_3_in_rule__NegativeExpression__Group__3__Impl8307 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NegativeExpression__Group__4__Impl_in_rule__NegativeExpression__Group__48337 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__NegativeExpression__Group__4__Impl8365 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__0__Impl_in_rule__IfElseExpression__Group__08406 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__1_in_rule__IfElseExpression__Group__08409 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_33_in_rule__IfElseExpression__Group__0__Impl8437 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__1__Impl_in_rule__IfElseExpression__Group__18468 = new BitSet(new long[]{0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__2_in_rule__IfElseExpression__Group__18471 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__IfElseExpression__Group__1__Impl8499 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__2__Impl_in_rule__IfElseExpression__Group__28530 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__3_in_rule__IfElseExpression__Group__28533 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_34_in_rule__IfElseExpression__Group__2__Impl8561 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__3__Impl_in_rule__IfElseExpression__Group__38592 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__4_in_rule__IfElseExpression__Group__38595 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__IfExpressionAssignment_3_in_rule__IfElseExpression__Group__3__Impl8622 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__4__Impl_in_rule__IfElseExpression__Group__48652 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__5_in_rule__IfElseExpression__Group__48655 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_35_in_rule__IfElseExpression__Group__4__Impl8683 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__5__Impl_in_rule__IfElseExpression__Group__58714 = new BitSet(new long[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__6_in_rule__IfElseExpression__Group__58717 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__ElseExpressionAssignment_5_in_rule__IfElseExpression__Group__5__Impl8744 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__6__Impl_in_rule__IfElseExpression__Group__68774 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__7_in_rule__IfElseExpression__Group__68777 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_36_in_rule__IfElseExpression__Group__6__Impl8805 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__7__Impl_in_rule__IfElseExpression__Group__78836 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__8_in_rule__IfElseExpression__Group__78839 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__ConditionExpressionAssignment_7_in_rule__IfElseExpression__Group__7__Impl8866 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfElseExpression__Group__8__Impl_in_rule__IfElseExpression__Group__88896 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__IfElseExpression__Group__8__Impl8924 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__08973 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__Function__Group__1_in_rule__Function__Group__08976 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_rule__Function__Group__0__Impl9004 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__19035 = new BitSet(new long[]{0x0000004000000000L});
-        public static final BitSet FOLLOW_rule__Function__Group__2_in_rule__Function__Group__19038 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__Function__Group__1__Impl9066 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__29097 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Function__Group__3_in_rule__Function__Group__29100 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_38_in_rule__Function__Group__2__Impl9128 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__39159 = new BitSet(new long[]{0x0000008000020000L});
-        public static final BitSet FOLLOW_rule__Function__Group__4_in_rule__Function__Group__39162 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__IdAssignment_3_in_rule__Function__Group__3__Impl9189 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group__4__Impl_in_rule__Function__Group__49219 = new BitSet(new long[]{0x0000008000020000L});
-        public static final BitSet FOLLOW_rule__Function__Group__5_in_rule__Function__Group__49222 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__0_in_rule__Function__Group__4__Impl9249 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group__5__Impl_in_rule__Function__Group__59280 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Function__Group__5__Impl9308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__0__Impl_in_rule__Function__Group_4__09351 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__1_in_rule__Function__Group_4__09354 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_39_in_rule__Function__Group_4__0__Impl9382 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__1__Impl_in_rule__Function__Group_4__19413 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__2_in_rule__Function__Group_4__19416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__Function__Group_4__1__Impl9444 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__2__Impl_in_rule__Function__Group_4__29475 = new BitSet(new long[]{0x0000010000020000L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__3_in_rule__Function__Group_4__29478 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__ParametersAssignment_4_2_in_rule__Function__Group_4__2__Impl9505 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__3__Impl_in_rule__Function__Group_4__39535 = new BitSet(new long[]{0x0000010000020000L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__4_in_rule__Function__Group_4__39538 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group_4_3__0_in_rule__Function__Group_4__3__Impl9565 = new BitSet(new long[]{0x0000010000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group_4__4__Impl_in_rule__Function__Group_4__49596 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Function__Group_4__4__Impl9624 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group_4_3__0__Impl_in_rule__Function__Group_4_3__09665 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__Function__Group_4_3__1_in_rule__Function__Group_4_3__09668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_40_in_rule__Function__Group_4_3__0__Impl9696 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__Group_4_3__1__Impl_in_rule__Function__Group_4_3__19727 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Function__ParametersAssignment_4_3_1_in_rule__Function__Group_4_3__1__Impl9754 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__0__Impl_in_rule__Parenthesis__Group__09788 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__1_in_rule__Parenthesis__Group__09791 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_41_in_rule__Parenthesis__Group__0__Impl9819 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__1__Impl_in_rule__Parenthesis__Group__19850 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__2_in_rule__Parenthesis__Group__19853 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__Parenthesis__Group__1__Impl9881 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__2__Impl_in_rule__Parenthesis__Group__29912 = new BitSet(new long[]{0x0137BA2364700000L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__3_in_rule__Parenthesis__Group__29915 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_42_in_rule__Parenthesis__Group__2__Impl9943 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__3__Impl_in_rule__Parenthesis__Group__39974 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__4_in_rule__Parenthesis__Group__39977 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parenthesis__InnerExpressionAssignment_3_in_rule__Parenthesis__Group__3__Impl10004 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parenthesis__Group__4__Impl_in_rule__Parenthesis__Group__410034 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Parenthesis__Group__4__Impl10062 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Literal_Impl__Group__0__Impl_in_rule__Literal_Impl__Group__010103 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_rule__Literal_Impl__Group__1_in_rule__Literal_Impl__Group__010106 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Literal_Impl__Group__1__Impl_in_rule__Literal_Impl__Group__110164 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_43_in_rule__Literal_Impl__Group__1__Impl10192 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__010227 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__010230 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_44_in_rule__StringLiteral__Group__0__Impl10258 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__110289 = new BitSet(new long[]{0x0000200000000000L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__2_in_rule__StringLiteral__Group__110292 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__StringLiteral__Group__1__Impl10320 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__2__Impl_in_rule__StringLiteral__Group__210351 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__3_in_rule__StringLiteral__Group__210354 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_rule__StringLiteral__Group__2__Impl10382 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__3__Impl_in_rule__StringLiteral__Group__310413 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__4_in_rule__StringLiteral__Group__310416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_3_in_rule__StringLiteral__Group__3__Impl10443 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StringLiteral__Group__4__Impl_in_rule__StringLiteral__Group__410473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__StringLiteral__Group__4__Impl10501 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoolLiteral__Group__0__Impl_in_rule__BoolLiteral__Group__010542 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_rule__BoolLiteral__Group__1_in_rule__BoolLiteral__Group__010545 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoolLiteral__ValueAssignment_0_in_rule__BoolLiteral__Group__0__Impl10572 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoolLiteral__Group__1__Impl_in_rule__BoolLiteral__Group__110602 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__BoolLiteral__Group__1__Impl10630 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__010665 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__010668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_rule__IntLiteral__Group__0__Impl10696 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__110727 = new BitSet(new long[]{0x0000200000000000L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__2_in_rule__IntLiteral__Group__110730 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__IntLiteral__Group__1__Impl10758 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__2__Impl_in_rule__IntLiteral__Group__210789 = new BitSet(new long[]{0x0400000000000040L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__3_in_rule__IntLiteral__Group__210792 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_rule__IntLiteral__Group__2__Impl10820 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__3__Impl_in_rule__IntLiteral__Group__310851 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__4_in_rule__IntLiteral__Group__310854 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_3_in_rule__IntLiteral__Group__3__Impl10881 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IntLiteral__Group__4__Impl_in_rule__IntLiteral__Group__410911 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__IntLiteral__Group__4__Impl10939 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__0__Impl_in_rule__DoubleLiteral__Group__010980 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__1_in_rule__DoubleLiteral__Group__010983 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_rule__DoubleLiteral__Group__0__Impl11011 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__1__Impl_in_rule__DoubleLiteral__Group__111042 = new BitSet(new long[]{0x0000200000000000L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__2_in_rule__DoubleLiteral__Group__111045 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__DoubleLiteral__Group__1__Impl11073 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__2__Impl_in_rule__DoubleLiteral__Group__211104 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__3_in_rule__DoubleLiteral__Group__211107 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_rule__DoubleLiteral__Group__2__Impl11135 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__3__Impl_in_rule__DoubleLiteral__Group__311166 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__4_in_rule__DoubleLiteral__Group__311169 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__ValueAssignment_3_in_rule__DoubleLiteral__Group__3__Impl11196 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DoubleLiteral__Group__4__Impl_in_rule__DoubleLiteral__Group__411226 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__DoubleLiteral__Group__4__Impl11254 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__FormalParameter__Group__0__Impl_in_rule__FormalParameter__Group__011295 = new BitSet(new long[]{0x0002000000000000L});
-        public static final BitSet FOLLOW_rule__FormalParameter__Group__1_in_rule__FormalParameter__Group__011298 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__FormalParameter__Group__1__Impl_in_rule__FormalParameter__Group__111356 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__FormalParameter__Group__2_in_rule__FormalParameter__Group__111359 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_49_in_rule__FormalParameter__Group__1__Impl11387 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__FormalParameter__Group__2__Impl_in_rule__FormalParameter__Group__211418 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__FormalParameter__NameAssignment_2_in_rule__FormalParameter__Group__2__Impl11445 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__0__Impl_in_rule__ProbabilityMassFunction__Group__011481 = new BitSet(new long[]{0x0004000000000000L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__1_in_rule__ProbabilityMassFunction__Group__011484 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__1__Impl_in_rule__ProbabilityMassFunction__Group__111542 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__2_in_rule__ProbabilityMassFunction__Group__111545 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_50_in_rule__ProbabilityMassFunction__Group__1__Impl11573 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__2__Impl_in_rule__ProbabilityMassFunction__Group__211604 = new BitSet(new long[]{0x0008000000020000L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__3_in_rule__ProbabilityMassFunction__Group__211607 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__ProbabilityMassFunction__Group__2__Impl11635 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__3__Impl_in_rule__ProbabilityMassFunction__Group__311666 = new BitSet(new long[]{0x0008000000020000L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__4_in_rule__ProbabilityMassFunction__Group__311669 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__0_in_rule__ProbabilityMassFunction__Group__3__Impl11696 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group__4__Impl_in_rule__ProbabilityMassFunction__Group__411727 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__ProbabilityMassFunction__Group__4__Impl11755 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__0__Impl_in_rule__ProbabilityMassFunction__Group_3__011796 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__1_in_rule__ProbabilityMassFunction__Group_3__011799 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_51_in_rule__ProbabilityMassFunction__Group_3__0__Impl11827 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__1__Impl_in_rule__ProbabilityMassFunction__Group_3__111858 = new BitSet(new long[]{0x1000000000000000L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__2_in_rule__ProbabilityMassFunction__Group_3__111861 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__ProbabilityMassFunction__Group_3__1__Impl11889 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__2__Impl_in_rule__ProbabilityMassFunction__Group_3__211920 = new BitSet(new long[]{0x0000010000020000L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__3_in_rule__ProbabilityMassFunction__Group_3__211923 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__SampleAssignment_3_2_in_rule__ProbabilityMassFunction__Group_3__2__Impl11950 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__3__Impl_in_rule__ProbabilityMassFunction__Group_3__311980 = new BitSet(new long[]{0x0000010000020000L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__4_in_rule__ProbabilityMassFunction__Group_3__311983 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3_3__0_in_rule__ProbabilityMassFunction__Group_3__3__Impl12010 = new BitSet(new long[]{0x0000010000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3__4__Impl_in_rule__ProbabilityMassFunction__Group_3__412041 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__ProbabilityMassFunction__Group_3__4__Impl12069 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3_3__0__Impl_in_rule__ProbabilityMassFunction__Group_3_3__012110 = new BitSet(new long[]{0x1000000000000000L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3_3__1_in_rule__ProbabilityMassFunction__Group_3_3__012113 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_40_in_rule__ProbabilityMassFunction__Group_3_3__0__Impl12141 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__Group_3_3__1__Impl_in_rule__ProbabilityMassFunction__Group_3_3__112172 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProbabilityMassFunction__SampleAssignment_3_3_1_in_rule__ProbabilityMassFunction__Group_3_3__1__Impl12199 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__0__Impl_in_rule__BoxedPDF__Group__012233 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__1_in_rule__BoxedPDF__Group__012236 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__1__Impl_in_rule__BoxedPDF__Group__112294 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__2_in_rule__BoxedPDF__Group__112297 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_52_in_rule__BoxedPDF__Group__1__Impl12325 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__2__Impl_in_rule__BoxedPDF__Group__212356 = new BitSet(new long[]{0x0008000000020000L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__3_in_rule__BoxedPDF__Group__212359 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__BoxedPDF__Group__2__Impl12387 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__3__Impl_in_rule__BoxedPDF__Group__312418 = new BitSet(new long[]{0x0008000000020000L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__4_in_rule__BoxedPDF__Group__312421 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__0_in_rule__BoxedPDF__Group__3__Impl12448 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group__4__Impl_in_rule__BoxedPDF__Group__412479 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__BoxedPDF__Group__4__Impl12507 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__0__Impl_in_rule__BoxedPDF__Group_3__012548 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__1_in_rule__BoxedPDF__Group_3__012551 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_51_in_rule__BoxedPDF__Group_3__0__Impl12579 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__1__Impl_in_rule__BoxedPDF__Group_3__112610 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__2_in_rule__BoxedPDF__Group_3__112613 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__BoxedPDF__Group_3__1__Impl12641 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__2__Impl_in_rule__BoxedPDF__Group_3__212672 = new BitSet(new long[]{0x0000010000020000L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__3_in_rule__BoxedPDF__Group_3__212675 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__SampleAssignment_3_2_in_rule__BoxedPDF__Group_3__2__Impl12702 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__3__Impl_in_rule__BoxedPDF__Group_3__312732 = new BitSet(new long[]{0x0000010000020000L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__4_in_rule__BoxedPDF__Group_3__312735 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3_3__0_in_rule__BoxedPDF__Group_3__3__Impl12762 = new BitSet(new long[]{0x0000010000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3__4__Impl_in_rule__BoxedPDF__Group_3__412793 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__BoxedPDF__Group_3__4__Impl12821 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3_3__0__Impl_in_rule__BoxedPDF__Group_3_3__012862 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3_3__1_in_rule__BoxedPDF__Group_3_3__012865 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_40_in_rule__BoxedPDF__Group_3_3__0__Impl12893 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__Group_3_3__1__Impl_in_rule__BoxedPDF__Group_3_3__112924 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BoxedPDF__SampleAssignment_3_3_1_in_rule__BoxedPDF__Group_3_3__1__Impl12951 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__0__Impl_in_rule__NormalDistribution__Group__012985 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__1_in_rule__NormalDistribution__Group__012988 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__NormalDistribution__Group__0__Impl13016 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__1__Impl_in_rule__NormalDistribution__Group__113047 = new BitSet(new long[]{0x0040000000000000L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__2_in_rule__NormalDistribution__Group__113050 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__NormalDistribution__Group__1__Impl13078 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__2__Impl_in_rule__NormalDistribution__Group__213109 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__3_in_rule__NormalDistribution__Group__213112 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_54_in_rule__NormalDistribution__Group__2__Impl13140 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__3__Impl_in_rule__NormalDistribution__Group__313171 = new BitSet(new long[]{0x0080000000000000L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__4_in_rule__NormalDistribution__Group__313174 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__MuAssignment_3_in_rule__NormalDistribution__Group__3__Impl13201 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__4__Impl_in_rule__NormalDistribution__Group__413231 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__5_in_rule__NormalDistribution__Group__413234 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_rule__NormalDistribution__Group__4__Impl13262 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__5__Impl_in_rule__NormalDistribution__Group__513293 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__6_in_rule__NormalDistribution__Group__513296 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__SigmaAssignment_5_in_rule__NormalDistribution__Group__5__Impl13323 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NormalDistribution__Group__6__Impl_in_rule__NormalDistribution__Group__613353 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__NormalDistribution__Group__6__Impl13381 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__0__Impl_in_rule__ExponentialDistribution__Group__013426 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__1_in_rule__ExponentialDistribution__Group__013429 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_56_in_rule__ExponentialDistribution__Group__0__Impl13457 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__1__Impl_in_rule__ExponentialDistribution__Group__113488 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__2_in_rule__ExponentialDistribution__Group__113491 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__ExponentialDistribution__Group__1__Impl13519 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__2__Impl_in_rule__ExponentialDistribution__Group__213550 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__3_in_rule__ExponentialDistribution__Group__213553 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_57_in_rule__ExponentialDistribution__Group__2__Impl13581 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__3__Impl_in_rule__ExponentialDistribution__Group__313612 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__4_in_rule__ExponentialDistribution__Group__313615 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__RateAssignment_3_in_rule__ExponentialDistribution__Group__3__Impl13642 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExponentialDistribution__Group__4__Impl_in_rule__ExponentialDistribution__Group__413672 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__ExponentialDistribution__Group__4__Impl13700 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EBigInteger__Group__0__Impl_in_rule__EBigInteger__Group__013741 = new BitSet(new long[]{0x0400000000000040L});
-        public static final BitSet FOLLOW_rule__EBigInteger__Group__1_in_rule__EBigInteger__Group__013744 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_rule__EBigInteger__Group__0__Impl13773 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EBigInteger__Group__1__Impl_in_rule__EBigInteger__Group__113806 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_rule__EBigInteger__Group__1__Impl13833 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EBigDecimal__Group__0__Impl_in_rule__EBigDecimal__Group__013866 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_rule__EBigDecimal__Group__1_in_rule__EBigDecimal__Group__013869 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_rule__EBigDecimal__Group__0__Impl13897 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EBigDecimal__Group__1__Impl_in_rule__EBigDecimal__Group__113928 = new BitSet(new long[]{0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__EBigDecimal__Group__2_in_rule__EBigDecimal__Group__113931 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_59_in_rule__EBigDecimal__Group__1__Impl13959 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EBigDecimal__Group__2__Impl_in_rule__EBigDecimal__Group__213990 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_rule__EBigDecimal__Group__2__Impl14017 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__Group__0__Impl_in_rule__Sample__Group__014052 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__Sample__Group__1_in_rule__Sample__Group__014055 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_rule__Sample__Group__0__Impl14083 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__Group__1__Impl_in_rule__Sample__Group__114114 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_rule__Sample__Group__2_in_rule__Sample__Group__114117 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__Sample__Group__1__Impl14145 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__Group__2__Impl_in_rule__Sample__Group__214176 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_rule__Sample__Group__3_in_rule__Sample__Group__214179 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_rule__Sample__Group__2__Impl14207 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__Group__3__Impl_in_rule__Sample__Group__314238 = new BitSet(new long[]{0x0000200000000000L});
-        public static final BitSet FOLLOW_rule__Sample__Group__4_in_rule__Sample__Group__314241 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__ProbabilityAssignment_3_in_rule__Sample__Group__3__Impl14268 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__Group__4__Impl_in_rule__Sample__Group__414298 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Sample__Group__5_in_rule__Sample__Group__414301 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_rule__Sample__Group__4__Impl14329 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__Group__5__Impl_in_rule__Sample__Group__514360 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Sample__Group__6_in_rule__Sample__Group__514363 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__ValueAssignment_5_in_rule__Sample__Group__5__Impl14390 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Sample__Group__6__Impl_in_rule__Sample__Group__614420 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Sample__Group__6__Impl14448 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__0__Impl_in_rule__ContinuousSample__Group__014494 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__1_in_rule__ContinuousSample__Group__014497 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_62_in_rule__ContinuousSample__Group__0__Impl14525 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__1__Impl_in_rule__ContinuousSample__Group__114556 = new BitSet(new long[]{0x0000200000000000L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__2_in_rule__ContinuousSample__Group__114559 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__ContinuousSample__Group__1__Impl14587 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__2__Impl_in_rule__ContinuousSample__Group__214618 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__3_in_rule__ContinuousSample__Group__214621 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_rule__ContinuousSample__Group__2__Impl14649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__3__Impl_in_rule__ContinuousSample__Group__314680 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__4_in_rule__ContinuousSample__Group__314683 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__ValueAssignment_3_in_rule__ContinuousSample__Group__3__Impl14710 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__4__Impl_in_rule__ContinuousSample__Group__414740 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__5_in_rule__ContinuousSample__Group__414743 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_rule__ContinuousSample__Group__4__Impl14771 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__5__Impl_in_rule__ContinuousSample__Group__514802 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__6_in_rule__ContinuousSample__Group__514805 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__ProbabilityAssignment_5_in_rule__ContinuousSample__Group__5__Impl14832 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ContinuousSample__Group__6__Impl_in_rule__ContinuousSample__Group__614862 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__ContinuousSample__Group__6__Impl14890 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ExplicitFunction__SpecificationAssignment_3_114940 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpression_in_rule__ExplicitFunction__ExpressionAssignment_4_114971 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermOperations_in_rule__TermExpression__OperationAssignment_3_115002 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProduct_in_rule__TermExpression__RightAssignment_3_215033 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTerm_in_rule__TermExpression2__LeftAssignment_015064 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermOperations_in_rule__TermExpression2__OperationAssignment_115095 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProduct_in_rule__TermExpression2__RightAssignment_215126 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductOperations_in_rule__ProductExpression__OperationAssignment_3_115157 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePower_in_rule__ProductExpression__RightAssignment_3_215188 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProduct_in_rule__ProductExpression2__LeftAssignment_015219 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductOperations_in_rule__ProductExpression2__OperationAssignment_115250 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePower_in_rule__ProductExpression2__RightAssignment_215281 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompareOperations_in_rule__CompareExpression__OperationAssignment_315312 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTerm_in_rule__CompareExpression__LeftAssignment_515343 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTerm_in_rule__CompareExpression__RightAssignment_715374 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePower_in_rule__PowerExpression__BaseAssignment_315405 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnary_in_rule__PowerExpression__ExponentAssignment_515436 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanOperations_in_rule__BooleanOperatorExpression__OperationAssignment_315467 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_rule__BooleanOperatorExpression__LeftAssignment_515498 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_rule__BooleanOperatorExpression__RightAssignment_715529 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnary_in_rule__NotExpression__InnerAssignment_315560 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnary_in_rule__NegativeExpression__InnerAssignment_315591 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_rule__IfElseExpression__IfExpressionAssignment_315622 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_rule__IfElseExpression__ElseExpressionAssignment_515653 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_rule__IfElseExpression__ConditionExpressionAssignment_715684 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Function__IdAssignment_315715 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpression_in_rule__Function__ParametersAssignment_4_215746 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpression_in_rule__Function__ParametersAssignment_4_3_115777 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpression_in_rule__Parenthesis__InnerExpressionAssignment_315808 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__StringLiteral__ValueAssignment_315839 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_rule__BoolLiteral__ValueAssignment_015875 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigInteger_in_rule__IntLiteral__ValueAssignment_315914 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_rule__DoubleLiteral__ValueAssignment_315945 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__FormalParameter__NameAssignment_215976 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSample_in_rule__ProbabilityMassFunction__SampleAssignment_3_216007 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSample_in_rule__ProbabilityMassFunction__SampleAssignment_3_3_116038 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleContinuousSample_in_rule__BoxedPDF__SampleAssignment_3_216069 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleContinuousSample_in_rule__BoxedPDF__SampleAssignment_3_3_116100 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_rule__NormalDistribution__MuAssignment_316131 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_rule__NormalDistribution__SigmaAssignment_516162 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_rule__ExponentialDistribution__RateAssignment_316193 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_rule__Sample__ProbabilityAssignment_316224 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Sample__ValueAssignment_516259 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_rule__ContinuousSample__ValueAssignment_316294 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_rule__ContinuousSample__ProbabilityAssignment_516325 = new BitSet(new long[]{0x0000000000000002L});
-    }
-
-
-}
\ No newline at end of file
diff --git a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/internal/MyDsl1Activator.java b/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/internal/MyDsl1Activator.java
deleted file mode 100644
index 666b6f6c6f5077548377974cfc57d63d7cab0d88..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src-gen/org/xtext/example/mydsl1/ui/internal/MyDsl1Activator.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl1.ui.internal;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.xtext.ui.shared.SharedStateModule;
-import org.eclipse.xtext.util.Modules2;
-import org.osgi.framework.BundleContext;
-
-import com.google.common.collect.Maps;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Module;
-
-/**
- * This class was generated. Customizations should only happen in a newly
- * introduced subclass. 
- */
-public class MyDsl1Activator extends AbstractUIPlugin {
-	
-	public static final String ORG_XTEXT_EXAMPLE_MYDSL1_MYDSL1 = "org.xtext.example.mydsl1.MyDsl1";
-	
-	private static final Logger logger = Logger.getLogger(MyDsl1Activator.class);
-	
-	private static MyDsl1Activator INSTANCE;
-	
-	private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
-	
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		INSTANCE = this;
-	}
-	
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		injectors.clear();
-		INSTANCE = null;
-		super.stop(context);
-	}
-	
-	public static MyDsl1Activator getInstance() {
-		return INSTANCE;
-	}
-	
-	public Injector getInjector(String language) {
-		synchronized (injectors) {
-			Injector injector = injectors.get(language);
-			if (injector == null) {
-				injectors.put(language, injector = createInjector(language));
-			}
-			return injector;
-		}
-	}
-	
-	protected Injector createInjector(String language) {
-		try {
-			Module runtimeModule = getRuntimeModule(language);
-			Module sharedStateModule = getSharedStateModule();
-			Module uiModule = getUiModule(language);
-			Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
-			return Guice.createInjector(mergedModule);
-		} catch (Exception e) {
-			logger.error("Failed to create injector for " + language);
-			logger.error(e.getMessage(), e);
-			throw new RuntimeException("Failed to create injector for " + language, e);
-		}
-	}
-
-	protected Module getRuntimeModule(String grammar) {
-		if (ORG_XTEXT_EXAMPLE_MYDSL1_MYDSL1.equals(grammar)) {
-			return new org.xtext.example.mydsl1.MyDsl1RuntimeModule();
-		}
-		
-		throw new IllegalArgumentException(grammar);
-	}
-	
-	protected Module getUiModule(String grammar) {
-		if (ORG_XTEXT_EXAMPLE_MYDSL1_MYDSL1.equals(grammar)) {
-			return new org.xtext.example.mydsl1.ui.MyDsl1UiModule(this);
-		}
-		
-		throw new IllegalArgumentException(grammar);
-	}
-	
-	protected Module getSharedStateModule() {
-		return new SharedStateModule();
-	}
-	
-}
diff --git a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/MyDsl1UiModule.java b/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/MyDsl1UiModule.java
deleted file mode 100644
index e54f4c636214b77a41228c4fdd3284f0b573f1c5..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/MyDsl1UiModule.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl1.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Use this class to register components to be used within the IDE.
- */
-public class MyDsl1UiModule extends org.xtext.example.mydsl1.ui.AbstractMyDsl1UiModule {
-	public MyDsl1UiModule(AbstractUIPlugin plugin) {
-		super(plugin);
-	}
-}
diff --git a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/contentassist/MyDsl1ProposalProvider.java b/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/contentassist/MyDsl1ProposalProvider.java
deleted file mode 100644
index 63218da49f9f879004b2e6f2fe5abf94ca0a9071..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/contentassist/MyDsl1ProposalProvider.java
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl1.ui.contentassist;
-
-import org.xtext.example.mydsl1.ui.contentassist.AbstractMyDsl1ProposalProvider;
-/**
- * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#contentAssist on how to customize content assistant
- */
-public class MyDsl1ProposalProvider extends AbstractMyDsl1ProposalProvider {
-
-}
diff --git a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/labeling/MyDsl1DescriptionLabelProvider.java b/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/labeling/MyDsl1DescriptionLabelProvider.java
deleted file mode 100644
index 7bf51c78379f9d34a41c778f8c79414b3860d05c..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/labeling/MyDsl1DescriptionLabelProvider.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl1.ui.labeling;
-
-import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
-
-/**
- * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
- * 
- * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
- */
-public class MyDsl1DescriptionLabelProvider extends DefaultDescriptionLabelProvider {
-
-/*
-	//Labels and icons can be computed like this:
-	
-	String text(IEObjectDescription ele) {
-	  return "my "+ele.getName();
-	}
-	 
-    String image(IEObjectDescription ele) {
-      return ele.getEClass().getName() + ".gif";
-    }	 
-*/
-
-}
diff --git a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/labeling/MyDsl1LabelProvider.java b/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/labeling/MyDsl1LabelProvider.java
deleted file mode 100644
index 7efffeca80adffb57f6c7342835858852196c958..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/labeling/MyDsl1LabelProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl1.ui.labeling;
-
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; 
- 
-import com.google.inject.Inject;
-
-/**
- * Provides labels for a EObjects.
- * 
- * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
- */
-public class MyDsl1LabelProvider extends DefaultEObjectLabelProvider {
-
-	@Inject
-	public MyDsl1LabelProvider(AdapterFactoryLabelProvider delegate) {
-		super(delegate);
-	}
-
-/*
-	//Labels and icons can be computed like this:
-	
-	String text(MyModel ele) {
-	  return "my "+ele.getName();
-	}
-	 
-    String image(MyModel ele) {
-      return "MyModel.gif";
-    }
-*/
-}
diff --git a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/outline/MyDsl1OutlineTreeProvider.java b/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/outline/MyDsl1OutlineTreeProvider.java
deleted file mode 100644
index fb7fe08bb690eeaf10d9e1b499de662a1fcd1b83..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/outline/MyDsl1OutlineTreeProvider.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl1.ui.outline;
-
-import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
-
-/**
- * customization of the default outline structure
- * 
- */
-public class MyDsl1OutlineTreeProvider extends DefaultOutlineTreeProvider {
-	
-}
diff --git a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/quickfix/MyDsl1QuickfixProvider.java b/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/quickfix/MyDsl1QuickfixProvider.java
deleted file mode 100644
index 3dfd98c0ae985ddf2f0da56ef12cb8a8d58df277..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1.ui/src/org/xtext/example/mydsl1/ui/quickfix/MyDsl1QuickfixProvider.java
+++ /dev/null
@@ -1,19 +0,0 @@
-
-package org.xtext.example.mydsl1.ui.quickfix;
-
-import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
-
-public class MyDsl1QuickfixProvider extends DefaultQuickfixProvider {
-
-//	@Fix(MyJavaValidator.INVALID_NAME)
-//	public void capitalizeName(final Issue issue, IssueResolutionAcceptor acceptor) {
-//		acceptor.accept(issue, "Capitalize name", "Capitalize the name.", "upcase.png", new IModification() {
-//			public void apply(IModificationContext context) throws BadLocationException {
-//				IXtextDocument xtextDocument = context.getXtextDocument();
-//				String firstLetter = xtextDocument.get(issue.getOffset(), 1);
-//				xtextDocument.replace(issue.getOffset(), 1, firstLetter.toUpperCase());
-//			}
-//		});
-//	}
-
-}
diff --git a/org.xtext.example.mydsl1/.classpath b/org.xtext.example.mydsl1/.classpath
deleted file mode 100644
index 3f1be5028577c15f387245557efec88746d8654c..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="src" path="xtend-gen"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.xtext.example.mydsl1/.project b/org.xtext.example.mydsl1/.project
deleted file mode 100644
index f893b2a2e9047097f1a67c1f67def3c66dcc57b8..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.xtext.example.mydsl1</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.xtext.example.mydsl1/META-INF/MANIFEST.MF b/org.xtext.example.mydsl1/META-INF/MANIFEST.MF
deleted file mode 100644
index f952c5adf202056677428b0a644fa947c7f4f01e..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.xtext.example.mydsl1
-Bundle-Vendor: My Company
-Bundle-Version: 1.0.0.qualifier
-Bundle-SymbolicName: org.xtext.example.mydsl1; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.xtext;visibility:=reexport,
- org.eclipse.xtext.xbase;resolution:=optional;visibility:=reexport,
- org.eclipse.xtext.generator;resolution:=optional,
- org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
- org.eclipse.emf.codegen.ecore;resolution:=optional,
- org.eclipse.emf.mwe.utils;resolution:=optional,
- org.eclipse.emf.mwe2.launch;resolution:=optional,
- edu.kit.ipd.descartes.mm.applicationlevel,
- org.eclipse.xtext.util,
- org.antlr.runtime
-Import-Package: org.apache.log4j
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.xtext.example.mydsl1,
- org.xtext.example.mydsl1.services,
- org.xtext.example.mydsl1.parseTreeConstruction,
- org.xtext.example.mydsl1.parser.antlr,
- org.xtext.example.mydsl1.parser.antlr.internal,
- org.xtext.example.mydsl1.validation,
- org.xtext.example.mydsl1.scoping,
- org.xtext.example.mydsl1.formatting
diff --git a/org.xtext.example.mydsl1/build.properties b/org.xtext.example.mydsl1/build.properties
deleted file mode 100644
index 31255ed05bc1242430be9f3e44440c2e42921649..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/,\
-          src-gen/,\
-          xtend-gen/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
\ No newline at end of file
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/AbstractMyDsl1RuntimeModule.java b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/AbstractMyDsl1RuntimeModule.java
deleted file mode 100644
index 2998934971705982254f23d77b68fc739af45e03..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/AbstractMyDsl1RuntimeModule.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl1;
-
-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.xtext.example.mydsl1.MyDsl1RuntimeModule}
- */
- @SuppressWarnings("all")
-public abstract class AbstractMyDsl1RuntimeModule extends DefaultRuntimeModule {
-
-	protected Properties properties = null;
-
-	@Override
-	public void configure(Binder binder) {
-		properties = tryBindProperties(binder, "org/xtext/example/mydsl1/MyDsl1.properties");
-		super.configure(binder);
-	}
-	
-	public void configureLanguageName(Binder binder) {
-		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.xtext.example.mydsl1.MyDsl1");
-	}
-	
-	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("mydsl1");
-	}
-	
-	// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
-	public java.lang.ClassLoader bindClassLoaderToInstance() {
-		return getClass().getClassLoader();
-	}
-
-	// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
-	public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
-		return org.xtext.example.mydsl1.services.MyDsl1GrammarAccess.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parseTreeConstructor.ParseTreeConstructorFragment
-	public Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> bindIParseTreeConstructor() {
-		return org.xtext.example.mydsl1.parseTreeConstruction.MyDsl1ParsetreeConstructor.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
-		return org.xtext.example.mydsl1.parser.antlr.MyDsl1Parser.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.xtext.example.mydsl1.parser.antlr.MyDsl1AntlrTokenFileProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
-		return org.xtext.example.mydsl1.parser.antlr.internal.InternalMyDsl1Lexer.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
-	public com.google.inject.Provider<org.xtext.example.mydsl1.parser.antlr.internal.InternalMyDsl1Lexer> provideInternalMyDsl1Lexer() {
-		return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.xtext.example.mydsl1.parser.antlr.internal.InternalMyDsl1Lexer.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.xtext.example.mydsl1.parser.antlr.internal.InternalMyDsl1Lexer.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.ecore2xtext.Ecore2XtextValueConverterServiceFragment
-	public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() {
-		return org.eclipse.xtext.common.services.Ecore2XtextTerminalConverters.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
-	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends org.xtext.example.mydsl1.validation.MyDsl1JavaValidator> bindMyDsl1JavaValidator() {
-		return org.xtext.example.mydsl1.validation.MyDsl1JavaValidator.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
-		return org.xtext.example.mydsl1.scoping.MyDsl1ScopeProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
-	public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.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.scoping.AbstractScopingFragment
-	public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
-		binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
-	}
-
-	// contributed by org.eclipse.xtext.generator.exporting.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.xtext.example.mydsl1.formatting.MyDsl1Formatter.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
-		return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
-		return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptions(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
-	}
-
-	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
-	}
-
-}
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/MyDsl1.xmi b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/MyDsl1.xmi
deleted file mode 100644
index cb92e8f6a186cb42eaf97f03362bc6c6562f6936..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/MyDsl1.xmi
+++ /dev/null
@@ -1,870 +0,0 @@
-<?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.xtext.example.mydsl1.MyDsl1" usedGrammars="/1">
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel">
-      <ePackage href="http://www.descartes-research.net/metamodel/functions/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
-      <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="identifier">
-      <ePackage href="http://www.descartes-research.net/identifier/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="core">
-      <ePackage href="http://www.descartes-research.net/metamodel/core/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="servicebehavior">
-      <ePackage href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="repository">
-      <ePackage href="http://www.descartes-research.net/metamodel/repository/0.1#/"/>
-    </metamodelDeclarations>
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="parameterdependencies">
-      <ePackage href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#/"/>
-    </metamodelDeclarations>
-    <rules xsi:type="xtext:ParserRule" name="ExplicitFunction">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ExplicitFunction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.0">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ExplicitFunction"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="ExplicitFunction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="specification"/>
-          <elements xsi:type="xtext:Assignment" feature="specification" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="expression"/>
-          <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Expression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Expression"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Term">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Term"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Product">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Product"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Power">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Power"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Unary">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Unary"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BooleanExpression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//BooleanExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EString">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="TermExpression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//TermExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="TermExpression"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Action" feature="left" operator="=">
-            <type metamodel="/0/@metamodelDeclarations.0">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//TermExpression"/>
-            </type>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="TermExpression2">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//TermExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Assignment" feature="left" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
-        </elements>
-        <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
-        </elements>
-        <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProductExpression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProductExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ProductExpression"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Action" feature="left" operator="=">
-            <type metamodel="/0/@metamodelDeclarations.0">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProductExpression"/>
-            </type>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.31"/>
-          </elements>
-          <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProductExpression2">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProductExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Assignment" feature="left" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
-        </elements>
-        <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.31"/>
-        </elements>
-        <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="CompareExpression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//CompareExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="CompareExpression"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="operation"/>
-        <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="left"/>
-        <elements xsi:type="xtext:Assignment" feature="left" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="right"/>
-        <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="PowerExpression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//PowerExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="PowerExpression"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="base"/>
-        <elements xsi:type="xtext:Assignment" feature="base" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="exponent"/>
-        <elements xsi:type="xtext:Assignment" feature="exponent" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BooleanOperatorExpression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//BooleanOperatorExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="BooleanOperatorExpression"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="operation"/>
-        <elements xsi:type="xtext:Assignment" feature="operation" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="left"/>
-        <elements xsi:type="xtext:Assignment" feature="left" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="right"/>
-        <elements xsi:type="xtext:Assignment" feature="right" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="NotExpression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//NotExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="NotExpression"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="inner"/>
-        <elements xsi:type="xtext:Assignment" feature="inner" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="NegativeExpression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//NegativeExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="NegativeExpression"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="inner"/>
-        <elements xsi:type="xtext:Assignment" feature="inner" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="IfElseExpression">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//IfElseExpression"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="IfElseExpression"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="ifExpression"/>
-        <elements xsi:type="xtext:Assignment" feature="ifExpression" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="elseExpression"/>
-        <elements xsi:type="xtext:Assignment" feature="elseExpression" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="conditionExpression"/>
-        <elements xsi:type="xtext:Assignment" feature="conditionExpression" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Function">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Function"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Function"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="id"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="parameters"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="parameters" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="parameters" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Parenthesis">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Parenthesis"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Parenthesis"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="innerExpression"/>
-        <elements xsi:type="xtext:Assignment" feature="innerExpression" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Literal_Impl">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Literal"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.0">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Literal"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="Literal"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="StringLiteral">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//StringLiteral"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="StringLiteral"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="value"/>
-        <elements xsi:type="xtext:Assignment" feature="value" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BoolLiteral">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//BoolLiteral"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Assignment" feature="value" operator="?=">
-          <terminal xsi:type="xtext:Keyword" value="value"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="BoolLiteral"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="IntLiteral">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//IntLiteral"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="IntLiteral"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="value"/>
-        <elements xsi:type="xtext:Assignment" feature="value" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.35"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="DoubleLiteral">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//DoubleLiteral"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="DoubleLiteral"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="value"/>
-        <elements xsi:type="xtext:Assignment" feature="value" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="FormalParameter">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//FormalParameter"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.0">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//FormalParameter"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="FormalParameter"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProbabilityMassFunction">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityMassFunction"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.0">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityMassFunction"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="ProbabilityMassFunction"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="sample"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="sample" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.37"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="sample" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.37"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BoxedPDF">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//BoxedPDF"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.0">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//BoxedPDF"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="BoxedPDF"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="sample"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
-          <elements xsi:type="xtext:Assignment" feature="sample" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.39"/>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="sample" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.39"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="NormalDistribution">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//NormalDistribution"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="NormalDistribution"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="mu"/>
-        <elements xsi:type="xtext:Assignment" feature="mu" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="sigma"/>
-        <elements xsi:type="xtext:Assignment" feature="sigma" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ExponentialDistribution">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ExponentialDistribution"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ExponentialDistribution"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="rate"/>
-        <elements xsi:type="xtext:Assignment" feature="rate" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="TermOperations">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/functions/0.1#//TermOperations"/>
-      </type>
-      <alternatives xsi:type="xtext:Keyword" value="TermOperations"/>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ProductOperations">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProductOperations"/>
-      </type>
-      <alternatives xsi:type="xtext:Keyword" value="ProductOperations"/>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="CompareOperations">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/functions/0.1#//CompareOperations"/>
-      </type>
-      <alternatives xsi:type="xtext:Keyword" value="CompareOperations"/>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="BooleanOperations">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/functions/0.1#//BooleanOperations"/>
-      </type>
-      <alternatives xsi:type="xtext:Keyword" value="BooleanOperations"/>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EBoolean">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-      </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="EBigInteger">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EBigDecimal">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:RuleCall" cardinality="?" rule="/1/@rules.1"/>
-        <elements xsi:type="xtext:Keyword" value="."/>
-        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="Sample">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Sample"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Sample"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="probability"/>
-        <elements xsi:type="xtext:Assignment" feature="probability" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="value"/>
-        <elements xsi:type="xtext:Assignment" feature="value" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.1">
-              <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="EObject">
-      <type metamodel="/0/@metamodelDeclarations.1">
-        <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.1">
-            <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="EObject"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:ParserRule" name="ContinuousSample">
-      <type metamodel="/0/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ContinuousSample"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ContinuousSample"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="value"/>
-        <elements xsi:type="xtext:Assignment" feature="value" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="probability"/>
-        <elements xsi:type="xtext:Assignment" feature="probability" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
-    </rules>
-  </xtext:Grammar>
-  <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4">
-    <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
-      <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
-    </metamodelDeclarations>
-    <rules xsi:type="xtext:TerminalRule" name="ID">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
-        <elements xsi:type="xtext:Alternatives">
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="a"/>
-            <right value="z"/>
-          </elements>
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="A"/>
-            <right value="Z"/>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="_"/>
-        </elements>
-        <elements xsi:type="xtext:Alternatives" cardinality="*">
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="a"/>
-            <right value="z"/>
-          </elements>
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="A"/>
-            <right value="Z"/>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="_"/>
-          <elements xsi:type="xtext:CharacterRange">
-            <left value="0"/>
-            <right value="9"/>
-          </elements>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="INT">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-      </type>
-      <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
-        <left value="0"/>
-        <right value="9"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="STRING">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:Group">
-          <elements xsi:type="xtext:Keyword" value="&quot;"/>
-          <elements xsi:type="xtext:Alternatives" cardinality="*">
-            <elements xsi:type="xtext:Group">
-              <elements xsi:type="xtext:Keyword" value="\"/>
-              <elements xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="b"/>
-                <elements xsi:type="xtext:Keyword" value="t"/>
-                <elements xsi:type="xtext:Keyword" value="n"/>
-                <elements xsi:type="xtext:Keyword" value="f"/>
-                <elements xsi:type="xtext:Keyword" value="r"/>
-                <elements xsi:type="xtext:Keyword" value="u"/>
-                <elements xsi:type="xtext:Keyword" value="&quot;"/>
-                <elements xsi:type="xtext:Keyword" value="'"/>
-                <elements xsi:type="xtext:Keyword" value="\"/>
-              </elements>
-            </elements>
-            <elements xsi:type="xtext:NegatedToken">
-              <terminal xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="\"/>
-                <elements xsi:type="xtext:Keyword" value="&quot;"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="&quot;"/>
-        </elements>
-        <elements xsi:type="xtext:Group">
-          <elements xsi:type="xtext:Keyword" value="'"/>
-          <elements xsi:type="xtext:Alternatives" cardinality="*">
-            <elements xsi:type="xtext:Group">
-              <elements xsi:type="xtext:Keyword" value="\"/>
-              <elements xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="b"/>
-                <elements xsi:type="xtext:Keyword" value="t"/>
-                <elements xsi:type="xtext:Keyword" value="n"/>
-                <elements xsi:type="xtext:Keyword" value="f"/>
-                <elements xsi:type="xtext:Keyword" value="r"/>
-                <elements xsi:type="xtext:Keyword" value="u"/>
-                <elements xsi:type="xtext:Keyword" value="&quot;"/>
-                <elements xsi:type="xtext:Keyword" value="'"/>
-                <elements xsi:type="xtext:Keyword" value="\"/>
-              </elements>
-            </elements>
-            <elements xsi:type="xtext:NegatedToken">
-              <terminal xsi:type="xtext:Alternatives">
-                <elements xsi:type="xtext:Keyword" value="\"/>
-                <elements xsi:type="xtext:Keyword" value="'"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="'"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="/*"/>
-        <elements xsi:type="xtext:UntilToken">
-          <terminal xsi:type="xtext:Keyword" value="*/"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="//"/>
-        <elements xsi:type="xtext:NegatedToken" cardinality="*">
-          <terminal xsi:type="xtext:Alternatives">
-            <elements xsi:type="xtext:Keyword" value="&#xA;"/>
-            <elements xsi:type="xtext:Keyword" value="&#xD;"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
-          <elements xsi:type="xtext:Keyword" value="&#xA;"/>
-        </elements>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="WS">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Alternatives" cardinality="+">
-        <elements xsi:type="xtext:Keyword" value=" "/>
-        <elements xsi:type="xtext:Keyword" value="&#x9;"/>
-        <elements xsi:type="xtext:Keyword" value="&#xD;"/>
-        <elements xsi:type="xtext:Keyword" value="&#xA;"/>
-      </alternatives>
-    </rules>
-    <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
-      <type metamodel="/1/@metamodelDeclarations.0">
-        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-      </type>
-      <alternatives xsi:type="xtext:Wildcard"/>
-    </rules>
-  </xtext:Grammar>
-</xmi:XMI>
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/MyDsl1StandaloneSetupGenerated.java b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/MyDsl1StandaloneSetupGenerated.java
deleted file mode 100644
index 146c37f068a581b1a6d568b65adeec562d8f3ee7..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/MyDsl1StandaloneSetupGenerated.java
+++ /dev/null
@@ -1,40 +0,0 @@
-
-package org.xtext.example.mydsl1;
-
-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 MyDsl1StandaloneSetupGenerated implements ISetup {
-
-	public Injector createInjectorAndDoEMFRegistration() {
-		org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
-
-		Injector injector = createInjector();
-		register(injector);
-		return injector;
-	}
-	
-	public Injector createInjector() {
-		return Guice.createInjector(new org.xtext.example.mydsl1.MyDsl1RuntimeModule());
-	}
-	
-	public void register(Injector injector) {
-
-		org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
-		org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
-		Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("mydsl1", resourceFactory);
-		org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("mydsl1", serviceProvider);
-		
-
-
-
-	}
-}
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parseTreeConstruction/MyDsl1ParsetreeConstructor.java b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parseTreeConstruction/MyDsl1ParsetreeConstructor.java
deleted file mode 100644
index 9c2fae6ef5741d1d41d1893ef7943a06a42f6078..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parseTreeConstruction/MyDsl1ParsetreeConstructor.java
+++ /dev/null
@@ -1,9892 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl1.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.xtext.example.mydsl1.services.MyDsl1GrammarAccess;
-
-import com.google.inject.Inject;
-
-@SuppressWarnings("all")
-public class MyDsl1ParsetreeConstructor extends AbstractParseTreeConstructor {
-		
-	@Inject
-	private MyDsl1GrammarAccess 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 ExplicitFunction_Group(this, this, 0, inst);
-			case 1: return new Expression_Alternatives(this, this, 1, inst);
-			case 2: return new Term_Alternatives(this, this, 2, inst);
-			case 3: return new Product_Alternatives(this, this, 3, inst);
-			case 4: return new Power_Alternatives(this, this, 4, inst);
-			case 5: return new Unary_Alternatives(this, this, 5, inst);
-			case 6: return new BooleanExpression_Alternatives(this, this, 6, inst);
-			case 7: return new TermExpression_Group(this, this, 7, inst);
-			case 8: return new TermExpression2_Group(this, this, 8, inst);
-			case 9: return new ProductExpression_Group(this, this, 9, inst);
-			case 10: return new ProductExpression2_Group(this, this, 10, inst);
-			case 11: return new CompareExpression_Group(this, this, 11, inst);
-			case 12: return new PowerExpression_Group(this, this, 12, inst);
-			case 13: return new BooleanOperatorExpression_Group(this, this, 13, inst);
-			case 14: return new NotExpression_Group(this, this, 14, inst);
-			case 15: return new NegativeExpression_Group(this, this, 15, inst);
-			case 16: return new IfElseExpression_Group(this, this, 16, inst);
-			case 17: return new Function_Group(this, this, 17, inst);
-			case 18: return new Parenthesis_Group(this, this, 18, inst);
-			case 19: return new Literal_Impl_Group(this, this, 19, inst);
-			case 20: return new StringLiteral_Group(this, this, 20, inst);
-			case 21: return new BoolLiteral_Group(this, this, 21, inst);
-			case 22: return new IntLiteral_Group(this, this, 22, inst);
-			case 23: return new DoubleLiteral_Group(this, this, 23, inst);
-			case 24: return new FormalParameter_Group(this, this, 24, inst);
-			case 25: return new ProbabilityMassFunction_Group(this, this, 25, inst);
-			case 26: return new BoxedPDF_Group(this, this, 26, inst);
-			case 27: return new NormalDistribution_Group(this, this, 27, inst);
-			case 28: return new ExponentialDistribution_Group(this, this, 28, inst);
-			case 29: return new Sample_Group(this, this, 29, inst);
-			case 30: return new EObject_Group(this, this, 30, inst);
-			case 31: return new ContinuousSample_Group(this, this, 31, inst);
-			default: return null;
-		}	
-	}	
-}
-	
-
-/************ begin Rule ExplicitFunction ****************
- *
- * ExplicitFunction:
- * 
- * 	{ExplicitFunction} "ExplicitFunction" "{" ("specification" specification=EString)? ("expression"
- * 
- * 	expression=Expression)? "}";
- *
- **/
-
-// {ExplicitFunction} "ExplicitFunction" "{" ("specification" specification=EString)? ("expression" expression=Expression)?
-// 
-// "}"
-protected class ExplicitFunction_Group extends GroupToken {
-	
-	public ExplicitFunction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExplicitFunction_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExplicitFunctionAccess().getExplicitFunctionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {ExplicitFunction}
-protected class ExplicitFunction_ExplicitFunctionAction_0 extends ActionToken  {
-
-	public ExplicitFunction_ExplicitFunctionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getExplicitFunctionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "ExplicitFunction"
-protected class ExplicitFunction_ExplicitFunctionKeyword_1 extends KeywordToken  {
-	
-	public ExplicitFunction_ExplicitFunctionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getExplicitFunctionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExplicitFunction_ExplicitFunctionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ExplicitFunction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ExplicitFunction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExplicitFunction_ExplicitFunctionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("specification" specification=EString)?
-protected class ExplicitFunction_Group_3 extends GroupToken {
-	
-	public ExplicitFunction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExplicitFunction_SpecificationAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "specification"
-protected class ExplicitFunction_SpecificationKeyword_3_0 extends KeywordToken  {
-	
-	public ExplicitFunction_SpecificationKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getSpecificationKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExplicitFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// specification=EString
-protected class ExplicitFunction_SpecificationAssignment_3_1 extends AssignmentToken  {
-	
-	public ExplicitFunction_SpecificationAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getSpecificationAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExplicitFunction_SpecificationKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("specification",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("specification");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExplicitFunctionAccess().getSpecificationEStringParserRuleCall_3_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getExplicitFunctionAccess().getSpecificationEStringParserRuleCall_3_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-
-// ("expression" expression=Expression)?
-protected class ExplicitFunction_Group_4 extends GroupToken {
-	
-	public ExplicitFunction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExplicitFunction_ExpressionAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "expression"
-protected class ExplicitFunction_ExpressionKeyword_4_0 extends KeywordToken  {
-	
-	public ExplicitFunction_ExpressionKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getExpressionKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExplicitFunction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExplicitFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// expression=Expression
-protected class ExplicitFunction_ExpressionAssignment_4_1 extends AssignmentToken  {
-	
-	public ExplicitFunction_ExpressionAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getExpressionAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Expression_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("expression",false)) == 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.getExplicitFunctionAccess().getExpressionExpressionParserRuleCall_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 ExplicitFunction_ExpressionKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class ExplicitFunction_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public ExplicitFunction_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExplicitFunctionAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExplicitFunction_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ExplicitFunction_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ExplicitFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ExplicitFunction ****************/
-
-
-/************ begin Rule Expression ****************
- *
- * Expression:
- * 
- * 	TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression
- * 
- * 	| NegativeExpression | IfElseExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral |
- * 
- * 	IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
- * 
- * 	ExponentialDistribution;
- *
- **/
-
-// TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression |
-// 
-// NegativeExpression | IfElseExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral |
-// 
-// IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
-// 
-// ExponentialDistribution
-protected class Expression_Alternatives extends AlternativesToken {
-
-	public Expression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Expression_TermExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Expression_ProductExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Expression_CompareExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new Expression_PowerExpressionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new Expression_BooleanOperatorExpressionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new Expression_NotExpressionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new Expression_NegativeExpressionParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new Expression_IfElseExpressionParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new Expression_FunctionParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
-			case 9: return new Expression_ParenthesisParserRuleCall_9(lastRuleCallOrigin, this, 9, inst);
-			case 10: return new Expression_Literal_ImplParserRuleCall_10(lastRuleCallOrigin, this, 10, inst);
-			case 11: return new Expression_StringLiteralParserRuleCall_11(lastRuleCallOrigin, this, 11, inst);
-			case 12: return new Expression_BoolLiteralParserRuleCall_12(lastRuleCallOrigin, this, 12, inst);
-			case 13: return new Expression_IntLiteralParserRuleCall_13(lastRuleCallOrigin, this, 13, inst);
-			case 14: return new Expression_DoubleLiteralParserRuleCall_14(lastRuleCallOrigin, this, 14, inst);
-			case 15: return new Expression_FormalParameterParserRuleCall_15(lastRuleCallOrigin, this, 15, inst);
-			case 16: return new Expression_ProbabilityMassFunctionParserRuleCall_16(lastRuleCallOrigin, this, 16, inst);
-			case 17: return new Expression_BoxedPDFParserRuleCall_17(lastRuleCallOrigin, this, 17, inst);
-			case 18: return new Expression_NormalDistributionParserRuleCall_18(lastRuleCallOrigin, this, 18, inst);
-			case 19: return new Expression_ExponentialDistributionParserRuleCall_19(lastRuleCallOrigin, this, 19, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBooleanOperatorExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getCompareExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getIfElseExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTermExpression2Rule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// TermExpression
-protected class Expression_TermExpressionParserRuleCall_0 extends RuleCallToken {
-	
-	public Expression_TermExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getTermExpressionParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getTermExpression2Rule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(TermExpression_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);
-		}	
-	}	
-}
-
-// ProductExpression
-protected class Expression_ProductExpressionParserRuleCall_1 extends RuleCallToken {
-	
-	public Expression_ProductExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getProductExpressionParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProductExpression_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);
-		}	
-	}	
-}
-
-// CompareExpression
-protected class Expression_CompareExpressionParserRuleCall_2 extends RuleCallToken {
-	
-	public Expression_CompareExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getCompareExpressionParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompareExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCompareExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CompareExpression_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);
-		}	
-	}	
-}
-
-// PowerExpression
-protected class Expression_PowerExpressionParserRuleCall_3 extends RuleCallToken {
-	
-	public Expression_PowerExpressionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getPowerExpressionParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(PowerExpression_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);
-		}	
-	}	
-}
-
-// BooleanOperatorExpression
-protected class Expression_BooleanOperatorExpressionParserRuleCall_4 extends RuleCallToken {
-	
-	public Expression_BooleanOperatorExpressionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanOperatorExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBooleanOperatorExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BooleanOperatorExpression_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);
-		}	
-	}	
-}
-
-// NotExpression
-protected class Expression_NotExpressionParserRuleCall_5 extends RuleCallToken {
-	
-	public Expression_NotExpressionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getNotExpressionParserRuleCall_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NotExpression_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);
-		}	
-	}	
-}
-
-// NegativeExpression
-protected class Expression_NegativeExpressionParserRuleCall_6 extends RuleCallToken {
-	
-	public Expression_NegativeExpressionParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getNegativeExpressionParserRuleCall_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NegativeExpression_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);
-		}	
-	}	
-}
-
-// IfElseExpression
-protected class Expression_IfElseExpressionParserRuleCall_7 extends RuleCallToken {
-	
-	public Expression_IfElseExpressionParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getIfElseExpressionParserRuleCall_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IfElseExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getIfElseExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(IfElseExpression_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);
-		}	
-	}	
-}
-
-// Function
-protected class Expression_FunctionParserRuleCall_8 extends RuleCallToken {
-	
-	public Expression_FunctionParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getFunctionParserRuleCall_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Function_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);
-		}	
-	}	
-}
-
-// Parenthesis
-protected class Expression_ParenthesisParserRuleCall_9 extends RuleCallToken {
-	
-	public Expression_ParenthesisParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getParenthesisParserRuleCall_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Parenthesis_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);
-		}	
-	}	
-}
-
-// Literal_Impl
-protected class Expression_Literal_ImplParserRuleCall_10 extends RuleCallToken {
-	
-	public Expression_Literal_ImplParserRuleCall_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getLiteral_ImplParserRuleCall_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Literal_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Literal_Impl_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);
-		}	
-	}	
-}
-
-// StringLiteral
-protected class Expression_StringLiteralParserRuleCall_11 extends RuleCallToken {
-	
-	public Expression_StringLiteralParserRuleCall_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getStringLiteralParserRuleCall_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StringLiteral_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);
-		}	
-	}	
-}
-
-// BoolLiteral
-protected class Expression_BoolLiteralParserRuleCall_12 extends RuleCallToken {
-	
-	public Expression_BoolLiteralParserRuleCall_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getBoolLiteralParserRuleCall_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoolLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoolLiteral_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);
-		}	
-	}	
-}
-
-// IntLiteral
-protected class Expression_IntLiteralParserRuleCall_13 extends RuleCallToken {
-	
-	public Expression_IntLiteralParserRuleCall_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getIntLiteralParserRuleCall_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(IntLiteral_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);
-		}	
-	}	
-}
-
-// DoubleLiteral
-protected class Expression_DoubleLiteralParserRuleCall_14 extends RuleCallToken {
-	
-	public Expression_DoubleLiteralParserRuleCall_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getDoubleLiteralParserRuleCall_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(DoubleLiteral_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);
-		}	
-	}	
-}
-
-// FormalParameter
-protected class Expression_FormalParameterParserRuleCall_15 extends RuleCallToken {
-	
-	public Expression_FormalParameterParserRuleCall_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getFormalParameterParserRuleCall_15();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FormalParameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(FormalParameter_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);
-		}	
-	}	
-}
-
-// ProbabilityMassFunction
-protected class Expression_ProbabilityMassFunctionParserRuleCall_16 extends RuleCallToken {
-	
-	public Expression_ProbabilityMassFunctionParserRuleCall_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getProbabilityMassFunctionParserRuleCall_16();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProbabilityMassFunction_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);
-		}	
-	}	
-}
-
-// BoxedPDF
-protected class Expression_BoxedPDFParserRuleCall_17 extends RuleCallToken {
-	
-	public Expression_BoxedPDFParserRuleCall_17(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getBoxedPDFParserRuleCall_17();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoxedPDF_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);
-		}	
-	}	
-}
-
-// NormalDistribution
-protected class Expression_NormalDistributionParserRuleCall_18 extends RuleCallToken {
-	
-	public Expression_NormalDistributionParserRuleCall_18(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getNormalDistributionParserRuleCall_18();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NormalDistribution_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);
-		}	
-	}	
-}
-
-// ExponentialDistribution
-protected class Expression_ExponentialDistributionParserRuleCall_19 extends RuleCallToken {
-	
-	public Expression_ExponentialDistributionParserRuleCall_19(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getExpressionAccess().getExponentialDistributionParserRuleCall_19();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExponentialDistribution_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 Expression ****************/
-
-
-/************ begin Rule Term ****************
- *
- * Term:
- * 
- * 	TermExpression | ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis |
- * 
- * 	Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction |
- * 
- * 	BoxedPDF | NormalDistribution | ExponentialDistribution;
- *
- **/
-
-// TermExpression | ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis |
-// 
-// Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction |
-// 
-// BoxedPDF | NormalDistribution | ExponentialDistribution
-protected class Term_Alternatives extends AlternativesToken {
-
-	public Term_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getTermAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Term_TermExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Term_ProductExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Term_PowerExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new Term_NotExpressionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new Term_NegativeExpressionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new Term_FunctionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new Term_ParenthesisParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new Term_Literal_ImplParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new Term_StringLiteralParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
-			case 9: return new Term_BoolLiteralParserRuleCall_9(lastRuleCallOrigin, this, 9, inst);
-			case 10: return new Term_IntLiteralParserRuleCall_10(lastRuleCallOrigin, this, 10, inst);
-			case 11: return new Term_DoubleLiteralParserRuleCall_11(lastRuleCallOrigin, this, 11, inst);
-			case 12: return new Term_FormalParameterParserRuleCall_12(lastRuleCallOrigin, this, 12, inst);
-			case 13: return new Term_ProbabilityMassFunctionParserRuleCall_13(lastRuleCallOrigin, this, 13, inst);
-			case 14: return new Term_BoxedPDFParserRuleCall_14(lastRuleCallOrigin, this, 14, inst);
-			case 15: return new Term_NormalDistributionParserRuleCall_15(lastRuleCallOrigin, this, 15, inst);
-			case 16: return new Term_ExponentialDistributionParserRuleCall_16(lastRuleCallOrigin, this, 16, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTermExpression2Rule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// TermExpression
-protected class Term_TermExpressionParserRuleCall_0 extends RuleCallToken {
-	
-	public Term_TermExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getTermExpressionParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getTermExpression2Rule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(TermExpression_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);
-		}	
-	}	
-}
-
-// ProductExpression
-protected class Term_ProductExpressionParserRuleCall_1 extends RuleCallToken {
-	
-	public Term_ProductExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getProductExpressionParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProductExpression_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);
-		}	
-	}	
-}
-
-// PowerExpression
-protected class Term_PowerExpressionParserRuleCall_2 extends RuleCallToken {
-	
-	public Term_PowerExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getPowerExpressionParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(PowerExpression_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);
-		}	
-	}	
-}
-
-// NotExpression
-protected class Term_NotExpressionParserRuleCall_3 extends RuleCallToken {
-	
-	public Term_NotExpressionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getNotExpressionParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NotExpression_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);
-		}	
-	}	
-}
-
-// NegativeExpression
-protected class Term_NegativeExpressionParserRuleCall_4 extends RuleCallToken {
-	
-	public Term_NegativeExpressionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getNegativeExpressionParserRuleCall_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NegativeExpression_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);
-		}	
-	}	
-}
-
-// Function
-protected class Term_FunctionParserRuleCall_5 extends RuleCallToken {
-	
-	public Term_FunctionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getFunctionParserRuleCall_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Function_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);
-		}	
-	}	
-}
-
-// Parenthesis
-protected class Term_ParenthesisParserRuleCall_6 extends RuleCallToken {
-	
-	public Term_ParenthesisParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getParenthesisParserRuleCall_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Parenthesis_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);
-		}	
-	}	
-}
-
-// Literal_Impl
-protected class Term_Literal_ImplParserRuleCall_7 extends RuleCallToken {
-	
-	public Term_Literal_ImplParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getLiteral_ImplParserRuleCall_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Literal_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Literal_Impl_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);
-		}	
-	}	
-}
-
-// StringLiteral
-protected class Term_StringLiteralParserRuleCall_8 extends RuleCallToken {
-	
-	public Term_StringLiteralParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getStringLiteralParserRuleCall_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StringLiteral_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);
-		}	
-	}	
-}
-
-// BoolLiteral
-protected class Term_BoolLiteralParserRuleCall_9 extends RuleCallToken {
-	
-	public Term_BoolLiteralParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getBoolLiteralParserRuleCall_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoolLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoolLiteral_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);
-		}	
-	}	
-}
-
-// IntLiteral
-protected class Term_IntLiteralParserRuleCall_10 extends RuleCallToken {
-	
-	public Term_IntLiteralParserRuleCall_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getIntLiteralParserRuleCall_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(IntLiteral_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);
-		}	
-	}	
-}
-
-// DoubleLiteral
-protected class Term_DoubleLiteralParserRuleCall_11 extends RuleCallToken {
-	
-	public Term_DoubleLiteralParserRuleCall_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getDoubleLiteralParserRuleCall_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(DoubleLiteral_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);
-		}	
-	}	
-}
-
-// FormalParameter
-protected class Term_FormalParameterParserRuleCall_12 extends RuleCallToken {
-	
-	public Term_FormalParameterParserRuleCall_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getFormalParameterParserRuleCall_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FormalParameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(FormalParameter_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);
-		}	
-	}	
-}
-
-// ProbabilityMassFunction
-protected class Term_ProbabilityMassFunctionParserRuleCall_13 extends RuleCallToken {
-	
-	public Term_ProbabilityMassFunctionParserRuleCall_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getProbabilityMassFunctionParserRuleCall_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProbabilityMassFunction_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);
-		}	
-	}	
-}
-
-// BoxedPDF
-protected class Term_BoxedPDFParserRuleCall_14 extends RuleCallToken {
-	
-	public Term_BoxedPDFParserRuleCall_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getBoxedPDFParserRuleCall_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoxedPDF_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);
-		}	
-	}	
-}
-
-// NormalDistribution
-protected class Term_NormalDistributionParserRuleCall_15 extends RuleCallToken {
-	
-	public Term_NormalDistributionParserRuleCall_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getNormalDistributionParserRuleCall_15();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NormalDistribution_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);
-		}	
-	}	
-}
-
-// ExponentialDistribution
-protected class Term_ExponentialDistributionParserRuleCall_16 extends RuleCallToken {
-	
-	public Term_ExponentialDistributionParserRuleCall_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermAccess().getExponentialDistributionParserRuleCall_16();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExponentialDistribution_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 Term ****************/
-
-
-/************ begin Rule Product ****************
- *
- * Product:
- * 
- * 	ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl |
- * 
- * 	StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF |
- * 
- * 	NormalDistribution | ExponentialDistribution;
- *
- **/
-
-// ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl |
-// 
-// StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF |
-// 
-// NormalDistribution | ExponentialDistribution
-protected class Product_Alternatives extends AlternativesToken {
-
-	public Product_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getProductAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Product_ProductExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Product_PowerExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Product_NotExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new Product_NegativeExpressionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new Product_FunctionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new Product_ParenthesisParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new Product_Literal_ImplParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new Product_StringLiteralParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new Product_BoolLiteralParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
-			case 9: return new Product_IntLiteralParserRuleCall_9(lastRuleCallOrigin, this, 9, inst);
-			case 10: return new Product_DoubleLiteralParserRuleCall_10(lastRuleCallOrigin, this, 10, inst);
-			case 11: return new Product_FormalParameterParserRuleCall_11(lastRuleCallOrigin, this, 11, inst);
-			case 12: return new Product_ProbabilityMassFunctionParserRuleCall_12(lastRuleCallOrigin, this, 12, inst);
-			case 13: return new Product_BoxedPDFParserRuleCall_13(lastRuleCallOrigin, this, 13, inst);
-			case 14: return new Product_NormalDistributionParserRuleCall_14(lastRuleCallOrigin, this, 14, inst);
-			case 15: return new Product_ExponentialDistributionParserRuleCall_15(lastRuleCallOrigin, this, 15, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// ProductExpression
-protected class Product_ProductExpressionParserRuleCall_0 extends RuleCallToken {
-	
-	public Product_ProductExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getProductExpressionParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProductExpression_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);
-		}	
-	}	
-}
-
-// PowerExpression
-protected class Product_PowerExpressionParserRuleCall_1 extends RuleCallToken {
-	
-	public Product_PowerExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getPowerExpressionParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(PowerExpression_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);
-		}	
-	}	
-}
-
-// NotExpression
-protected class Product_NotExpressionParserRuleCall_2 extends RuleCallToken {
-	
-	public Product_NotExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getNotExpressionParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NotExpression_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);
-		}	
-	}	
-}
-
-// NegativeExpression
-protected class Product_NegativeExpressionParserRuleCall_3 extends RuleCallToken {
-	
-	public Product_NegativeExpressionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getNegativeExpressionParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NegativeExpression_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);
-		}	
-	}	
-}
-
-// Function
-protected class Product_FunctionParserRuleCall_4 extends RuleCallToken {
-	
-	public Product_FunctionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getFunctionParserRuleCall_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Function_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);
-		}	
-	}	
-}
-
-// Parenthesis
-protected class Product_ParenthesisParserRuleCall_5 extends RuleCallToken {
-	
-	public Product_ParenthesisParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getParenthesisParserRuleCall_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Parenthesis_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);
-		}	
-	}	
-}
-
-// Literal_Impl
-protected class Product_Literal_ImplParserRuleCall_6 extends RuleCallToken {
-	
-	public Product_Literal_ImplParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getLiteral_ImplParserRuleCall_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Literal_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Literal_Impl_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);
-		}	
-	}	
-}
-
-// StringLiteral
-protected class Product_StringLiteralParserRuleCall_7 extends RuleCallToken {
-	
-	public Product_StringLiteralParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getStringLiteralParserRuleCall_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StringLiteral_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);
-		}	
-	}	
-}
-
-// BoolLiteral
-protected class Product_BoolLiteralParserRuleCall_8 extends RuleCallToken {
-	
-	public Product_BoolLiteralParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getBoolLiteralParserRuleCall_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoolLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoolLiteral_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);
-		}	
-	}	
-}
-
-// IntLiteral
-protected class Product_IntLiteralParserRuleCall_9 extends RuleCallToken {
-	
-	public Product_IntLiteralParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getIntLiteralParserRuleCall_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(IntLiteral_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);
-		}	
-	}	
-}
-
-// DoubleLiteral
-protected class Product_DoubleLiteralParserRuleCall_10 extends RuleCallToken {
-	
-	public Product_DoubleLiteralParserRuleCall_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getDoubleLiteralParserRuleCall_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(DoubleLiteral_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);
-		}	
-	}	
-}
-
-// FormalParameter
-protected class Product_FormalParameterParserRuleCall_11 extends RuleCallToken {
-	
-	public Product_FormalParameterParserRuleCall_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getFormalParameterParserRuleCall_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FormalParameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(FormalParameter_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);
-		}	
-	}	
-}
-
-// ProbabilityMassFunction
-protected class Product_ProbabilityMassFunctionParserRuleCall_12 extends RuleCallToken {
-	
-	public Product_ProbabilityMassFunctionParserRuleCall_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getProbabilityMassFunctionParserRuleCall_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProbabilityMassFunction_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);
-		}	
-	}	
-}
-
-// BoxedPDF
-protected class Product_BoxedPDFParserRuleCall_13 extends RuleCallToken {
-	
-	public Product_BoxedPDFParserRuleCall_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getBoxedPDFParserRuleCall_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoxedPDF_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);
-		}	
-	}	
-}
-
-// NormalDistribution
-protected class Product_NormalDistributionParserRuleCall_14 extends RuleCallToken {
-	
-	public Product_NormalDistributionParserRuleCall_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getNormalDistributionParserRuleCall_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NormalDistribution_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);
-		}	
-	}	
-}
-
-// ExponentialDistribution
-protected class Product_ExponentialDistributionParserRuleCall_15 extends RuleCallToken {
-	
-	public Product_ExponentialDistributionParserRuleCall_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductAccess().getExponentialDistributionParserRuleCall_15();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExponentialDistribution_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 Product ****************/
-
-
-/************ begin Rule Power ****************
- *
- * Power:
- * 
- * 	PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral |
- * 
- * 	BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution
- * 
- * 	| ExponentialDistribution;
- *
- **/
-
-// PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral |
-// 
-// BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
-// 
-// ExponentialDistribution
-protected class Power_Alternatives extends AlternativesToken {
-
-	public Power_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getPowerAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Power_PowerExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Power_NotExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Power_NegativeExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new Power_FunctionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new Power_ParenthesisParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new Power_Literal_ImplParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new Power_StringLiteralParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new Power_BoolLiteralParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new Power_IntLiteralParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
-			case 9: return new Power_DoubleLiteralParserRuleCall_9(lastRuleCallOrigin, this, 9, inst);
-			case 10: return new Power_FormalParameterParserRuleCall_10(lastRuleCallOrigin, this, 10, inst);
-			case 11: return new Power_ProbabilityMassFunctionParserRuleCall_11(lastRuleCallOrigin, this, 11, inst);
-			case 12: return new Power_BoxedPDFParserRuleCall_12(lastRuleCallOrigin, this, 12, inst);
-			case 13: return new Power_NormalDistributionParserRuleCall_13(lastRuleCallOrigin, this, 13, inst);
-			case 14: return new Power_ExponentialDistributionParserRuleCall_14(lastRuleCallOrigin, this, 14, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// PowerExpression
-protected class Power_PowerExpressionParserRuleCall_0 extends RuleCallToken {
-	
-	public Power_PowerExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getPowerExpressionParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(PowerExpression_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);
-		}	
-	}	
-}
-
-// NotExpression
-protected class Power_NotExpressionParserRuleCall_1 extends RuleCallToken {
-	
-	public Power_NotExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getNotExpressionParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NotExpression_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);
-		}	
-	}	
-}
-
-// NegativeExpression
-protected class Power_NegativeExpressionParserRuleCall_2 extends RuleCallToken {
-	
-	public Power_NegativeExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getNegativeExpressionParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NegativeExpression_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);
-		}	
-	}	
-}
-
-// Function
-protected class Power_FunctionParserRuleCall_3 extends RuleCallToken {
-	
-	public Power_FunctionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getFunctionParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Function_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);
-		}	
-	}	
-}
-
-// Parenthesis
-protected class Power_ParenthesisParserRuleCall_4 extends RuleCallToken {
-	
-	public Power_ParenthesisParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getParenthesisParserRuleCall_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Parenthesis_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);
-		}	
-	}	
-}
-
-// Literal_Impl
-protected class Power_Literal_ImplParserRuleCall_5 extends RuleCallToken {
-	
-	public Power_Literal_ImplParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getLiteral_ImplParserRuleCall_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Literal_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Literal_Impl_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);
-		}	
-	}	
-}
-
-// StringLiteral
-protected class Power_StringLiteralParserRuleCall_6 extends RuleCallToken {
-	
-	public Power_StringLiteralParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getStringLiteralParserRuleCall_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StringLiteral_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);
-		}	
-	}	
-}
-
-// BoolLiteral
-protected class Power_BoolLiteralParserRuleCall_7 extends RuleCallToken {
-	
-	public Power_BoolLiteralParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getBoolLiteralParserRuleCall_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoolLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoolLiteral_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);
-		}	
-	}	
-}
-
-// IntLiteral
-protected class Power_IntLiteralParserRuleCall_8 extends RuleCallToken {
-	
-	public Power_IntLiteralParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getIntLiteralParserRuleCall_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(IntLiteral_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);
-		}	
-	}	
-}
-
-// DoubleLiteral
-protected class Power_DoubleLiteralParserRuleCall_9 extends RuleCallToken {
-	
-	public Power_DoubleLiteralParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getDoubleLiteralParserRuleCall_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(DoubleLiteral_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);
-		}	
-	}	
-}
-
-// FormalParameter
-protected class Power_FormalParameterParserRuleCall_10 extends RuleCallToken {
-	
-	public Power_FormalParameterParserRuleCall_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getFormalParameterParserRuleCall_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FormalParameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(FormalParameter_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);
-		}	
-	}	
-}
-
-// ProbabilityMassFunction
-protected class Power_ProbabilityMassFunctionParserRuleCall_11 extends RuleCallToken {
-	
-	public Power_ProbabilityMassFunctionParserRuleCall_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getProbabilityMassFunctionParserRuleCall_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProbabilityMassFunction_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);
-		}	
-	}	
-}
-
-// BoxedPDF
-protected class Power_BoxedPDFParserRuleCall_12 extends RuleCallToken {
-	
-	public Power_BoxedPDFParserRuleCall_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getBoxedPDFParserRuleCall_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoxedPDF_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);
-		}	
-	}	
-}
-
-// NormalDistribution
-protected class Power_NormalDistributionParserRuleCall_13 extends RuleCallToken {
-	
-	public Power_NormalDistributionParserRuleCall_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getNormalDistributionParserRuleCall_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NormalDistribution_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);
-		}	
-	}	
-}
-
-// ExponentialDistribution
-protected class Power_ExponentialDistributionParserRuleCall_14 extends RuleCallToken {
-	
-	public Power_ExponentialDistributionParserRuleCall_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getPowerAccess().getExponentialDistributionParserRuleCall_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExponentialDistribution_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 Power ****************/
-
-
-/************ begin Rule Unary ****************
- *
- * Unary:
- * 
- * 	NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral
- * 
- * 	| DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
- * 
- * 	ExponentialDistribution;
- *
- **/
-
-// NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral |
-// 
-// DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution
-protected class Unary_Alternatives extends AlternativesToken {
-
-	public Unary_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Unary_NotExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Unary_NegativeExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Unary_FunctionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new Unary_ParenthesisParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new Unary_Literal_ImplParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new Unary_StringLiteralParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new Unary_BoolLiteralParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new Unary_IntLiteralParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new Unary_DoubleLiteralParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
-			case 9: return new Unary_FormalParameterParserRuleCall_9(lastRuleCallOrigin, this, 9, inst);
-			case 10: return new Unary_ProbabilityMassFunctionParserRuleCall_10(lastRuleCallOrigin, this, 10, inst);
-			case 11: return new Unary_BoxedPDFParserRuleCall_11(lastRuleCallOrigin, this, 11, inst);
-			case 12: return new Unary_NormalDistributionParserRuleCall_12(lastRuleCallOrigin, this, 12, inst);
-			case 13: return new Unary_ExponentialDistributionParserRuleCall_13(lastRuleCallOrigin, this, 13, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// NotExpression
-protected class Unary_NotExpressionParserRuleCall_0 extends RuleCallToken {
-	
-	public Unary_NotExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getNotExpressionParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NotExpression_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);
-		}	
-	}	
-}
-
-// NegativeExpression
-protected class Unary_NegativeExpressionParserRuleCall_1 extends RuleCallToken {
-	
-	public Unary_NegativeExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getNegativeExpressionParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NegativeExpression_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);
-		}	
-	}	
-}
-
-// Function
-protected class Unary_FunctionParserRuleCall_2 extends RuleCallToken {
-	
-	public Unary_FunctionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getFunctionParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Function_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);
-		}	
-	}	
-}
-
-// Parenthesis
-protected class Unary_ParenthesisParserRuleCall_3 extends RuleCallToken {
-	
-	public Unary_ParenthesisParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getParenthesisParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Parenthesis_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);
-		}	
-	}	
-}
-
-// Literal_Impl
-protected class Unary_Literal_ImplParserRuleCall_4 extends RuleCallToken {
-	
-	public Unary_Literal_ImplParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getLiteral_ImplParserRuleCall_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Literal_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Literal_Impl_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);
-		}	
-	}	
-}
-
-// StringLiteral
-protected class Unary_StringLiteralParserRuleCall_5 extends RuleCallToken {
-	
-	public Unary_StringLiteralParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getStringLiteralParserRuleCall_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StringLiteral_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);
-		}	
-	}	
-}
-
-// BoolLiteral
-protected class Unary_BoolLiteralParserRuleCall_6 extends RuleCallToken {
-	
-	public Unary_BoolLiteralParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getBoolLiteralParserRuleCall_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoolLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoolLiteral_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);
-		}	
-	}	
-}
-
-// IntLiteral
-protected class Unary_IntLiteralParserRuleCall_7 extends RuleCallToken {
-	
-	public Unary_IntLiteralParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getIntLiteralParserRuleCall_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(IntLiteral_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);
-		}	
-	}	
-}
-
-// DoubleLiteral
-protected class Unary_DoubleLiteralParserRuleCall_8 extends RuleCallToken {
-	
-	public Unary_DoubleLiteralParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getDoubleLiteralParserRuleCall_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(DoubleLiteral_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);
-		}	
-	}	
-}
-
-// FormalParameter
-protected class Unary_FormalParameterParserRuleCall_9 extends RuleCallToken {
-	
-	public Unary_FormalParameterParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getFormalParameterParserRuleCall_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FormalParameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(FormalParameter_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);
-		}	
-	}	
-}
-
-// ProbabilityMassFunction
-protected class Unary_ProbabilityMassFunctionParserRuleCall_10 extends RuleCallToken {
-	
-	public Unary_ProbabilityMassFunctionParserRuleCall_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getProbabilityMassFunctionParserRuleCall_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProbabilityMassFunction_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);
-		}	
-	}	
-}
-
-// BoxedPDF
-protected class Unary_BoxedPDFParserRuleCall_11 extends RuleCallToken {
-	
-	public Unary_BoxedPDFParserRuleCall_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getBoxedPDFParserRuleCall_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoxedPDF_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);
-		}	
-	}	
-}
-
-// NormalDistribution
-protected class Unary_NormalDistributionParserRuleCall_12 extends RuleCallToken {
-	
-	public Unary_NormalDistributionParserRuleCall_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getNormalDistributionParserRuleCall_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NormalDistribution_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);
-		}	
-	}	
-}
-
-// ExponentialDistribution
-protected class Unary_ExponentialDistributionParserRuleCall_13 extends RuleCallToken {
-	
-	public Unary_ExponentialDistributionParserRuleCall_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getUnaryAccess().getExponentialDistributionParserRuleCall_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExponentialDistribution_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 Unary ****************/
-
-
-/************ begin Rule BooleanExpression ****************
- *
- * BooleanExpression:
- * 
- * 	TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression
- * 
- * 	| NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral |
- * 
- * 	DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution;
- *
- **/
-
-// TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression |
-// 
-// NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral
-// 
-// | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution
-protected class BooleanExpression_Alternatives extends AlternativesToken {
-
-	public BooleanExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanExpression_TermExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BooleanExpression_ProductExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BooleanExpression_CompareExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new BooleanExpression_PowerExpressionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new BooleanExpression_BooleanOperatorExpressionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
-			case 5: return new BooleanExpression_NotExpressionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
-			case 6: return new BooleanExpression_NegativeExpressionParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
-			case 7: return new BooleanExpression_FunctionParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
-			case 8: return new BooleanExpression_ParenthesisParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
-			case 9: return new BooleanExpression_Literal_ImplParserRuleCall_9(lastRuleCallOrigin, this, 9, inst);
-			case 10: return new BooleanExpression_StringLiteralParserRuleCall_10(lastRuleCallOrigin, this, 10, inst);
-			case 11: return new BooleanExpression_BoolLiteralParserRuleCall_11(lastRuleCallOrigin, this, 11, inst);
-			case 12: return new BooleanExpression_IntLiteralParserRuleCall_12(lastRuleCallOrigin, this, 12, inst);
-			case 13: return new BooleanExpression_DoubleLiteralParserRuleCall_13(lastRuleCallOrigin, this, 13, inst);
-			case 14: return new BooleanExpression_FormalParameterParserRuleCall_14(lastRuleCallOrigin, this, 14, inst);
-			case 15: return new BooleanExpression_ProbabilityMassFunctionParserRuleCall_15(lastRuleCallOrigin, this, 15, inst);
-			case 16: return new BooleanExpression_BoxedPDFParserRuleCall_16(lastRuleCallOrigin, this, 16, inst);
-			case 17: return new BooleanExpression_NormalDistributionParserRuleCall_17(lastRuleCallOrigin, this, 17, inst);
-			case 18: return new BooleanExpression_ExponentialDistributionParserRuleCall_18(lastRuleCallOrigin, this, 18, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBooleanOperatorExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getCompareExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getTermExpression2Rule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// TermExpression
-protected class BooleanExpression_TermExpressionParserRuleCall_0 extends RuleCallToken {
-	
-	public BooleanExpression_TermExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getTermExpressionParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getTermExpression2Rule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(TermExpression_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);
-		}	
-	}	
-}
-
-// ProductExpression
-protected class BooleanExpression_ProductExpressionParserRuleCall_1 extends RuleCallToken {
-	
-	public BooleanExpression_ProductExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getProductExpressionParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProductExpression_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);
-		}	
-	}	
-}
-
-// CompareExpression
-protected class BooleanExpression_CompareExpressionParserRuleCall_2 extends RuleCallToken {
-	
-	public BooleanExpression_CompareExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getCompareExpressionParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompareExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCompareExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(CompareExpression_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);
-		}	
-	}	
-}
-
-// PowerExpression
-protected class BooleanExpression_PowerExpressionParserRuleCall_3 extends RuleCallToken {
-	
-	public BooleanExpression_PowerExpressionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getPowerExpressionParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(PowerExpression_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);
-		}	
-	}	
-}
-
-// BooleanOperatorExpression
-protected class BooleanExpression_BooleanOperatorExpressionParserRuleCall_4 extends RuleCallToken {
-	
-	public BooleanExpression_BooleanOperatorExpressionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanOperatorExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBooleanOperatorExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BooleanOperatorExpression_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);
-		}	
-	}	
-}
-
-// NotExpression
-protected class BooleanExpression_NotExpressionParserRuleCall_5 extends RuleCallToken {
-	
-	public BooleanExpression_NotExpressionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getNotExpressionParserRuleCall_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NotExpression_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);
-		}	
-	}	
-}
-
-// NegativeExpression
-protected class BooleanExpression_NegativeExpressionParserRuleCall_6 extends RuleCallToken {
-	
-	public BooleanExpression_NegativeExpressionParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getNegativeExpressionParserRuleCall_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NegativeExpression_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);
-		}	
-	}	
-}
-
-// Function
-protected class BooleanExpression_FunctionParserRuleCall_7 extends RuleCallToken {
-	
-	public BooleanExpression_FunctionParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getFunctionParserRuleCall_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Function_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);
-		}	
-	}	
-}
-
-// Parenthesis
-protected class BooleanExpression_ParenthesisParserRuleCall_8 extends RuleCallToken {
-	
-	public BooleanExpression_ParenthesisParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getParenthesisParserRuleCall_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Parenthesis_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);
-		}	
-	}	
-}
-
-// Literal_Impl
-protected class BooleanExpression_Literal_ImplParserRuleCall_9 extends RuleCallToken {
-	
-	public BooleanExpression_Literal_ImplParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getLiteral_ImplParserRuleCall_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Literal_Impl_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(Literal_Impl_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);
-		}	
-	}	
-}
-
-// StringLiteral
-protected class BooleanExpression_StringLiteralParserRuleCall_10 extends RuleCallToken {
-	
-	public BooleanExpression_StringLiteralParserRuleCall_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getStringLiteralParserRuleCall_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StringLiteral_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);
-		}	
-	}	
-}
-
-// BoolLiteral
-protected class BooleanExpression_BoolLiteralParserRuleCall_11 extends RuleCallToken {
-	
-	public BooleanExpression_BoolLiteralParserRuleCall_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getBoolLiteralParserRuleCall_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoolLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoolLiteral_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);
-		}	
-	}	
-}
-
-// IntLiteral
-protected class BooleanExpression_IntLiteralParserRuleCall_12 extends RuleCallToken {
-	
-	public BooleanExpression_IntLiteralParserRuleCall_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getIntLiteralParserRuleCall_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(IntLiteral_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);
-		}	
-	}	
-}
-
-// DoubleLiteral
-protected class BooleanExpression_DoubleLiteralParserRuleCall_13 extends RuleCallToken {
-	
-	public BooleanExpression_DoubleLiteralParserRuleCall_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getDoubleLiteralParserRuleCall_13();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(DoubleLiteral_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);
-		}	
-	}	
-}
-
-// FormalParameter
-protected class BooleanExpression_FormalParameterParserRuleCall_14 extends RuleCallToken {
-	
-	public BooleanExpression_FormalParameterParserRuleCall_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getFormalParameterParserRuleCall_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FormalParameter_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(FormalParameter_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);
-		}	
-	}	
-}
-
-// ProbabilityMassFunction
-protected class BooleanExpression_ProbabilityMassFunctionParserRuleCall_15 extends RuleCallToken {
-	
-	public BooleanExpression_ProbabilityMassFunctionParserRuleCall_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getProbabilityMassFunctionParserRuleCall_15();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ProbabilityMassFunction_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);
-		}	
-	}	
-}
-
-// BoxedPDF
-protected class BooleanExpression_BoxedPDFParserRuleCall_16 extends RuleCallToken {
-	
-	public BooleanExpression_BoxedPDFParserRuleCall_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getBoxedPDFParserRuleCall_16();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BoxedPDF_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);
-		}	
-	}	
-}
-
-// NormalDistribution
-protected class BooleanExpression_NormalDistributionParserRuleCall_17 extends RuleCallToken {
-	
-	public BooleanExpression_NormalDistributionParserRuleCall_17(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getNormalDistributionParserRuleCall_17();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(NormalDistribution_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);
-		}	
-	}	
-}
-
-// ExponentialDistribution
-protected class BooleanExpression_ExponentialDistributionParserRuleCall_18 extends RuleCallToken {
-	
-	public BooleanExpression_ExponentialDistributionParserRuleCall_18(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getBooleanExpressionAccess().getExponentialDistributionParserRuleCall_18();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ExponentialDistribution_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 BooleanExpression ****************/
-
-
-
-/************ begin Rule TermExpression ****************
- *
- * TermExpression:
- * 
- * 	"TermExpression" "{" TermExpression2 ({TermExpression.left=current} operation=TermOperations right=Product)* "}";
- *
- **/
-
-// "TermExpression" "{" TermExpression2 ({TermExpression.left=current} operation=TermOperations right=Product)* "}"
-protected class TermExpression_Group extends GroupToken {
-	
-	public TermExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getTermExpressionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getTermExpression2Rule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "TermExpression"
-protected class TermExpression_TermExpressionKeyword_0 extends KeywordToken  {
-	
-	public TermExpression_TermExpressionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getTermExpressionAccess().getTermExpressionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class TermExpression_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public TermExpression_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getTermExpressionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_TermExpressionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// TermExpression2
-protected class TermExpression_TermExpression2ParserRuleCall_2 extends RuleCallToken {
-	
-	public TermExpression_TermExpression2ParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getTermExpressionAccess().getTermExpression2ParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression2_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(checkForRecursion(TermExpression2_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, inst);
-			default: return null;
-		}	
-	}	
-}
-
-// ({TermExpression.left=current} operation=TermOperations right=Product)*
-protected class TermExpression_Group_3 extends GroupToken {
-	
-	public TermExpression_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getTermExpressionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_RightAssignment_3_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// {TermExpression.left=current}
-protected class TermExpression_TermExpressionLeftAction_3_0 extends ActionToken  {
-
-	public TermExpression_TermExpressionLeftAction_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getTermExpressionAccess().getTermExpressionLeftAction_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new TermExpression_TermExpression2ParserRuleCall_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		Object val = eObjectConsumer.getConsumable("left", false);
-		if(val == null) return null;
-		if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
-		return createEObjectConsumer((EObject) val);
-	}
-}
-
-// operation=TermOperations
-protected class TermExpression_OperationAssignment_3_1 extends AssignmentToken  {
-	
-	public TermExpression_OperationAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getTermExpressionAccess().getOperationAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_TermExpressionLeftAction_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("operation",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operation");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTermExpressionAccess().getOperationTermOperationsParserRuleCall_3_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getTermExpressionAccess().getOperationTermOperationsParserRuleCall_3_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// right=Product
-protected class TermExpression_RightAssignment_3_2 extends AssignmentToken  {
-	
-	public TermExpression_RightAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getTermExpressionAccess().getRightAssignment_3_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Product_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProductRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getTermExpressionAccess().getRightProductParserRuleCall_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 TermExpression_OperationAssignment_3_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class TermExpression_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public TermExpression_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getTermExpressionAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new TermExpression_TermExpression2ParserRuleCall_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule TermExpression ****************/
-
-
-/************ begin Rule TermExpression2 ****************
- *
- * TermExpression2 returns TermExpression:
- * 
- * 	left=Term operation=TermOperations right=Product;
- *
- **/
-
-// left=Term operation=TermOperations right=Product
-protected class TermExpression2_Group extends GroupToken {
-	
-	public TermExpression2_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getTermExpression2Access().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression2_RightAssignment_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getTermExpression2Rule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// left=Term
-protected class TermExpression2_LeftAssignment_0 extends AssignmentToken  {
-	
-	public TermExpression2_LeftAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getTermExpression2Access().getLeftAssignment_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Term_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("left",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("left");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getTermRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getTermExpression2Access().getLeftTermParserRuleCall_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);
-		}	
-	}	
-}
-
-// operation=TermOperations
-protected class TermExpression2_OperationAssignment_1 extends AssignmentToken  {
-	
-	public TermExpression2_OperationAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getTermExpression2Access().getOperationAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new TermExpression2_LeftAssignment_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("operation",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operation");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTermExpression2Access().getOperationTermOperationsParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getTermExpression2Access().getOperationTermOperationsParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// right=Product
-protected class TermExpression2_RightAssignment_2 extends AssignmentToken  {
-	
-	public TermExpression2_RightAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getTermExpression2Access().getRightAssignment_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Product_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProductRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getTermExpression2Access().getRightProductParserRuleCall_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 TermExpression2_OperationAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-/************ end Rule TermExpression2 ****************/
-
-
-/************ begin Rule ProductExpression ****************
- *
- * ProductExpression:
- * 
- * 	"ProductExpression" "{" ProductExpression2 ({ProductExpression.left=current} operation=ProductOperations
- * 
- * 	right=Power)* "}";
- *
- **/
-
-// "ProductExpression" "{" ProductExpression2 ({ProductExpression.left=current} operation=ProductOperations right=Power)*
-// 
-// "}"
-protected class ProductExpression_Group extends GroupToken {
-	
-	public ProductExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProductExpressionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ProductExpression"
-protected class ProductExpression_ProductExpressionKeyword_0 extends KeywordToken  {
-	
-	public ProductExpression_ProductExpressionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProductExpressionAccess().getProductExpressionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ProductExpression_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ProductExpression_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProductExpressionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_ProductExpressionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ProductExpression2
-protected class ProductExpression_ProductExpression2ParserRuleCall_2 extends RuleCallToken {
-	
-	public ProductExpression_ProductExpression2ParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getProductExpressionAccess().getProductExpression2ParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression2_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(checkForRecursion(ProductExpression2_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, inst);
-			default: return null;
-		}	
-	}	
-}
-
-// ({ProductExpression.left=current} operation=ProductOperations right=Power)*
-protected class ProductExpression_Group_3 extends GroupToken {
-	
-	public ProductExpression_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProductExpressionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_RightAssignment_3_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// {ProductExpression.left=current}
-protected class ProductExpression_ProductExpressionLeftAction_3_0 extends ActionToken  {
-
-	public ProductExpression_ProductExpressionLeftAction_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getProductExpressionAccess().getProductExpressionLeftAction_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProductExpression_ProductExpression2ParserRuleCall_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		Object val = eObjectConsumer.getConsumable("left", false);
-		if(val == null) return null;
-		if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
-		return createEObjectConsumer((EObject) val);
-	}
-}
-
-// operation=ProductOperations
-protected class ProductExpression_OperationAssignment_3_1 extends AssignmentToken  {
-	
-	public ProductExpression_OperationAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProductExpressionAccess().getOperationAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_ProductExpressionLeftAction_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("operation",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operation");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProductExpressionAccess().getOperationProductOperationsParserRuleCall_3_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getProductExpressionAccess().getOperationProductOperationsParserRuleCall_3_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// right=Power
-protected class ProductExpression_RightAssignment_3_2 extends AssignmentToken  {
-	
-	public ProductExpression_RightAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProductExpressionAccess().getRightAssignment_3_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Power_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getPowerRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getProductExpressionAccess().getRightPowerParserRuleCall_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 ProductExpression_OperationAssignment_3_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class ProductExpression_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public ProductExpression_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProductExpressionAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProductExpression_ProductExpression2ParserRuleCall_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ProductExpression ****************/
-
-
-/************ begin Rule ProductExpression2 ****************
- *
- * ProductExpression2 returns ProductExpression:
- * 
- * 	left=Product operation=ProductOperations right=Power;
- *
- **/
-
-// left=Product operation=ProductOperations right=Power
-protected class ProductExpression2_Group extends GroupToken {
-	
-	public ProductExpression2_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProductExpression2Access().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression2_RightAssignment_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProductExpression2Rule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// left=Product
-protected class ProductExpression2_LeftAssignment_0 extends AssignmentToken  {
-	
-	public ProductExpression2_LeftAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProductExpression2Access().getLeftAssignment_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Product_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("left",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("left");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProductRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getProductExpression2Access().getLeftProductParserRuleCall_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);
-		}	
-	}	
-}
-
-// operation=ProductOperations
-protected class ProductExpression2_OperationAssignment_1 extends AssignmentToken  {
-	
-	public ProductExpression2_OperationAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProductExpression2Access().getOperationAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProductExpression2_LeftAssignment_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("operation",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operation");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProductExpression2Access().getOperationProductOperationsParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getProductExpression2Access().getOperationProductOperationsParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// right=Power
-protected class ProductExpression2_RightAssignment_2 extends AssignmentToken  {
-	
-	public ProductExpression2_RightAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProductExpression2Access().getRightAssignment_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Power_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getPowerRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getProductExpression2Access().getRightPowerParserRuleCall_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 ProductExpression2_OperationAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-/************ end Rule ProductExpression2 ****************/
-
-
-/************ begin Rule CompareExpression ****************
- *
- * CompareExpression:
- * 
- * 	"CompareExpression" "{" "operation" operation=CompareOperations "left" left=Term "right" right=Term "}";
- *
- **/
-
-// "CompareExpression" "{" "operation" operation=CompareOperations "left" left=Term "right" right=Term "}"
-protected class CompareExpression_Group extends GroupToken {
-	
-	public CompareExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompareExpression_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getCompareExpressionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "CompareExpression"
-protected class CompareExpression_CompareExpressionKeyword_0 extends KeywordToken  {
-	
-	public CompareExpression_CompareExpressionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getCompareExpressionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class CompareExpression_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public CompareExpression_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompareExpression_CompareExpressionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "operation"
-protected class CompareExpression_OperationKeyword_2 extends KeywordToken  {
-	
-	public CompareExpression_OperationKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getOperationKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompareExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// operation=CompareOperations
-protected class CompareExpression_OperationAssignment_3 extends AssignmentToken  {
-	
-	public CompareExpression_OperationAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getOperationAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompareExpression_OperationKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("operation",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operation");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompareExpressionAccess().getOperationCompareOperationsParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getCompareExpressionAccess().getOperationCompareOperationsParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "left"
-protected class CompareExpression_LeftKeyword_4 extends KeywordToken  {
-	
-	public CompareExpression_LeftKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getLeftKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompareExpression_OperationAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// left=Term
-protected class CompareExpression_LeftAssignment_5 extends AssignmentToken  {
-	
-	public CompareExpression_LeftAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getLeftAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Term_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("left",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("left");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getTermRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompareExpressionAccess().getLeftTermParserRuleCall_5_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 CompareExpression_LeftKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "right"
-protected class CompareExpression_RightKeyword_6 extends KeywordToken  {
-	
-	public CompareExpression_RightKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getRightKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompareExpression_LeftAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// right=Term
-protected class CompareExpression_RightAssignment_7 extends AssignmentToken  {
-	
-	public CompareExpression_RightAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getRightAssignment_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Term_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getTermRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getCompareExpressionAccess().getRightTermParserRuleCall_7_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 CompareExpression_RightKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class CompareExpression_RightCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public CompareExpression_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getCompareExpressionAccess().getRightCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new CompareExpression_RightAssignment_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule CompareExpression ****************/
-
-
-/************ begin Rule PowerExpression ****************
- *
- * PowerExpression:
- * 
- * 	"PowerExpression" "{" "base" base=Power "exponent" exponent=Unary "}";
- *
- **/
-
-// "PowerExpression" "{" "base" base=Power "exponent" exponent=Unary "}"
-protected class PowerExpression_Group extends GroupToken {
-	
-	public PowerExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getPowerExpressionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPowerExpressionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "PowerExpression"
-protected class PowerExpression_PowerExpressionKeyword_0 extends KeywordToken  {
-	
-	public PowerExpression_PowerExpressionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPowerExpressionAccess().getPowerExpressionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class PowerExpression_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public PowerExpression_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPowerExpressionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_PowerExpressionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "base"
-protected class PowerExpression_BaseKeyword_2 extends KeywordToken  {
-	
-	public PowerExpression_BaseKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPowerExpressionAccess().getBaseKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// base=Power
-protected class PowerExpression_BaseAssignment_3 extends AssignmentToken  {
-	
-	public PowerExpression_BaseAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPowerExpressionAccess().getBaseAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Power_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("base",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("base");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getPowerRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getPowerExpressionAccess().getBasePowerParserRuleCall_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 PowerExpression_BaseKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "exponent"
-protected class PowerExpression_ExponentKeyword_4 extends KeywordToken  {
-	
-	public PowerExpression_ExponentKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPowerExpressionAccess().getExponentKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_BaseAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// exponent=Unary
-protected class PowerExpression_ExponentAssignment_5 extends AssignmentToken  {
-	
-	public PowerExpression_ExponentAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPowerExpressionAccess().getExponentAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Unary_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("exponent",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exponent");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getUnaryRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getPowerExpressionAccess().getExponentUnaryParserRuleCall_5_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 PowerExpression_ExponentKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class PowerExpression_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public PowerExpression_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPowerExpressionAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PowerExpression_ExponentAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule PowerExpression ****************/
-
-
-/************ begin Rule BooleanOperatorExpression ****************
- *
- * BooleanOperatorExpression:
- * 
- * 	"BooleanOperatorExpression" "{" "operation" operation=BooleanOperations "left" left=BooleanExpression "right"
- * 
- * 	right=BooleanExpression "}";
- *
- **/
-
-// "BooleanOperatorExpression" "{" "operation" operation=BooleanOperations "left" left=BooleanExpression "right"
-// 
-// right=BooleanExpression "}"
-protected class BooleanOperatorExpression_Group extends GroupToken {
-	
-	public BooleanOperatorExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanOperatorExpression_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBooleanOperatorExpressionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "BooleanOperatorExpression"
-protected class BooleanOperatorExpression_BooleanOperatorExpressionKeyword_0 extends KeywordToken  {
-	
-	public BooleanOperatorExpression_BooleanOperatorExpressionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getBooleanOperatorExpressionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class BooleanOperatorExpression_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public BooleanOperatorExpression_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanOperatorExpression_BooleanOperatorExpressionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "operation"
-protected class BooleanOperatorExpression_OperationKeyword_2 extends KeywordToken  {
-	
-	public BooleanOperatorExpression_OperationKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getOperationKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanOperatorExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// operation=BooleanOperations
-protected class BooleanOperatorExpression_OperationAssignment_3 extends AssignmentToken  {
-	
-	public BooleanOperatorExpression_OperationAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getOperationAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanOperatorExpression_OperationKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("operation",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operation");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBooleanOperatorExpressionAccess().getOperationBooleanOperationsParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getBooleanOperatorExpressionAccess().getOperationBooleanOperationsParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "left"
-protected class BooleanOperatorExpression_LeftKeyword_4 extends KeywordToken  {
-	
-	public BooleanOperatorExpression_LeftKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getLeftKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanOperatorExpression_OperationAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// left=BooleanExpression
-protected class BooleanOperatorExpression_LeftAssignment_5 extends AssignmentToken  {
-	
-	public BooleanOperatorExpression_LeftAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getLeftAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanExpression_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("left",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("left");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBooleanExpressionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBooleanOperatorExpressionAccess().getLeftBooleanExpressionParserRuleCall_5_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 BooleanOperatorExpression_LeftKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "right"
-protected class BooleanOperatorExpression_RightKeyword_6 extends KeywordToken  {
-	
-	public BooleanOperatorExpression_RightKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getRightKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanOperatorExpression_LeftAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// right=BooleanExpression
-protected class BooleanOperatorExpression_RightAssignment_7 extends AssignmentToken  {
-	
-	public BooleanOperatorExpression_RightAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getRightAssignment_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanExpression_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBooleanExpressionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBooleanOperatorExpressionAccess().getRightBooleanExpressionParserRuleCall_7_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 BooleanOperatorExpression_RightKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class BooleanOperatorExpression_RightCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public BooleanOperatorExpression_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBooleanOperatorExpressionAccess().getRightCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanOperatorExpression_RightAssignment_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BooleanOperatorExpression ****************/
-
-
-/************ begin Rule NotExpression ****************
- *
- * NotExpression:
- * 
- * 	"NotExpression" "{" "inner" inner=Unary "}";
- *
- **/
-
-// "NotExpression" "{" "inner" inner=Unary "}"
-protected class NotExpression_Group extends GroupToken {
-	
-	public NotExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getNotExpressionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNotExpressionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "NotExpression"
-protected class NotExpression_NotExpressionKeyword_0 extends KeywordToken  {
-	
-	public NotExpression_NotExpressionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNotExpressionAccess().getNotExpressionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class NotExpression_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public NotExpression_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNotExpressionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_NotExpressionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "inner"
-protected class NotExpression_InnerKeyword_2 extends KeywordToken  {
-	
-	public NotExpression_InnerKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNotExpressionAccess().getInnerKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// inner=Unary
-protected class NotExpression_InnerAssignment_3 extends AssignmentToken  {
-	
-	public NotExpression_InnerAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getNotExpressionAccess().getInnerAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Unary_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("inner",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inner");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getUnaryRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getNotExpressionAccess().getInnerUnaryParserRuleCall_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 NotExpression_InnerKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class NotExpression_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public NotExpression_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNotExpressionAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NotExpression_InnerAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule NotExpression ****************/
-
-
-/************ begin Rule NegativeExpression ****************
- *
- * NegativeExpression:
- * 
- * 	"NegativeExpression" "{" "inner" inner=Unary "}";
- *
- **/
-
-// "NegativeExpression" "{" "inner" inner=Unary "}"
-protected class NegativeExpression_Group extends GroupToken {
-	
-	public NegativeExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getNegativeExpressionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNegativeExpressionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "NegativeExpression"
-protected class NegativeExpression_NegativeExpressionKeyword_0 extends KeywordToken  {
-	
-	public NegativeExpression_NegativeExpressionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNegativeExpressionAccess().getNegativeExpressionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class NegativeExpression_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public NegativeExpression_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNegativeExpressionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_NegativeExpressionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "inner"
-protected class NegativeExpression_InnerKeyword_2 extends KeywordToken  {
-	
-	public NegativeExpression_InnerKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNegativeExpressionAccess().getInnerKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// inner=Unary
-protected class NegativeExpression_InnerAssignment_3 extends AssignmentToken  {
-	
-	public NegativeExpression_InnerAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getNegativeExpressionAccess().getInnerAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Unary_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("inner",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inner");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getUnaryRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getNegativeExpressionAccess().getInnerUnaryParserRuleCall_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 NegativeExpression_InnerKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class NegativeExpression_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public NegativeExpression_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNegativeExpressionAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NegativeExpression_InnerAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule NegativeExpression ****************/
-
-
-/************ begin Rule IfElseExpression ****************
- *
- * IfElseExpression:
- * 
- * 	"IfElseExpression" "{" "ifExpression" ifExpression=BooleanExpression "elseExpression"
- * 
- * 	elseExpression=BooleanExpression "conditionExpression" conditionExpression=BooleanExpression "}";
- *
- **/
-
-// "IfElseExpression" "{" "ifExpression" ifExpression=BooleanExpression "elseExpression" elseExpression=BooleanExpression
-// 
-// "conditionExpression" conditionExpression=BooleanExpression "}"
-protected class IfElseExpression_Group extends GroupToken {
-	
-	public IfElseExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IfElseExpression_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getIfElseExpressionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "IfElseExpression"
-protected class IfElseExpression_IfElseExpressionKeyword_0 extends KeywordToken  {
-	
-	public IfElseExpression_IfElseExpressionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getIfElseExpressionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class IfElseExpression_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public IfElseExpression_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IfElseExpression_IfElseExpressionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "ifExpression"
-protected class IfElseExpression_IfExpressionKeyword_2 extends KeywordToken  {
-	
-	public IfElseExpression_IfExpressionKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getIfExpressionKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IfElseExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ifExpression=BooleanExpression
-protected class IfElseExpression_IfExpressionAssignment_3 extends AssignmentToken  {
-	
-	public IfElseExpression_IfExpressionAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getIfExpressionAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanExpression_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("ifExpression",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ifExpression");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBooleanExpressionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getIfElseExpressionAccess().getIfExpressionBooleanExpressionParserRuleCall_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 IfElseExpression_IfExpressionKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "elseExpression"
-protected class IfElseExpression_ElseExpressionKeyword_4 extends KeywordToken  {
-	
-	public IfElseExpression_ElseExpressionKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getElseExpressionKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IfElseExpression_IfExpressionAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// elseExpression=BooleanExpression
-protected class IfElseExpression_ElseExpressionAssignment_5 extends AssignmentToken  {
-	
-	public IfElseExpression_ElseExpressionAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getElseExpressionAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanExpression_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("elseExpression",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("elseExpression");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBooleanExpressionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getIfElseExpressionAccess().getElseExpressionBooleanExpressionParserRuleCall_5_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 IfElseExpression_ElseExpressionKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "conditionExpression"
-protected class IfElseExpression_ConditionExpressionKeyword_6 extends KeywordToken  {
-	
-	public IfElseExpression_ConditionExpressionKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getConditionExpressionKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IfElseExpression_ElseExpressionAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// conditionExpression=BooleanExpression
-protected class IfElseExpression_ConditionExpressionAssignment_7 extends AssignmentToken  {
-	
-	public IfElseExpression_ConditionExpressionAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getConditionExpressionAssignment_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BooleanExpression_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("conditionExpression",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("conditionExpression");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBooleanExpressionRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getIfElseExpressionAccess().getConditionExpressionBooleanExpressionParserRuleCall_7_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 IfElseExpression_ConditionExpressionKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class IfElseExpression_RightCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public IfElseExpression_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIfElseExpressionAccess().getRightCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IfElseExpression_ConditionExpressionAssignment_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule IfElseExpression ****************/
-
-
-/************ begin Rule Function ****************
- *
- * Function:
- * 
- * 	"Function" "{" "id" id=EString ("parameters" "{" parameters+=Expression ("," parameters+=Expression)* "}")? "}";
- *
- **/
-
-// "Function" "{" "id" id=EString ("parameters" "{" parameters+=Expression ("," parameters+=Expression)* "}")? "}"
-protected class Function_Group extends GroupToken {
-	
-	public Function_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Function"
-protected class Function_FunctionKeyword_0 extends KeywordToken  {
-	
-	public Function_FunctionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getFunctionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class Function_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public Function_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_FunctionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "id"
-protected class Function_IdKeyword_2 extends KeywordToken  {
-	
-	public Function_IdKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getIdKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// id=EString
-protected class Function_IdAssignment_3 extends AssignmentToken  {
-	
-	public Function_IdAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getIdAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_IdKeyword_2(lastRuleCallOrigin, 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(valueSerializer.isValid(obj.getEObject(), grammarAccess.getFunctionAccess().getIdEStringParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getFunctionAccess().getIdEStringParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("parameters" "{" parameters+=Expression ("," parameters+=Expression)* "}")?
-protected class Function_Group_4 extends GroupToken {
-	
-	public Function_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_RightCurlyBracketKeyword_4_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "parameters"
-protected class Function_ParametersKeyword_4_0 extends KeywordToken  {
-	
-	public Function_ParametersKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getParametersKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_IdAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class Function_LeftCurlyBracketKeyword_4_1 extends KeywordToken  {
-	
-	public Function_LeftCurlyBracketKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_ParametersKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parameters+=Expression
-protected class Function_ParametersAssignment_4_2 extends AssignmentToken  {
-	
-	public Function_ParametersAssignment_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getParametersAssignment_4_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Expression_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parameters",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameters");
-		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.getFunctionAccess().getParametersExpressionParserRuleCall_4_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 Function_LeftCurlyBracketKeyword_4_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," parameters+=Expression)*
-protected class Function_Group_4_3 extends GroupToken {
-	
-	public Function_Group_4_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getGroup_4_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_ParametersAssignment_4_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class Function_CommaKeyword_4_3_0 extends KeywordToken  {
-	
-	public Function_CommaKeyword_4_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getCommaKeyword_4_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_Group_4_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Function_ParametersAssignment_4_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// parameters+=Expression
-protected class Function_ParametersAssignment_4_3_1 extends AssignmentToken  {
-	
-	public Function_ParametersAssignment_4_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getParametersAssignment_4_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Expression_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("parameters",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameters");
-		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.getFunctionAccess().getParametersExpressionParserRuleCall_4_3_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 Function_CommaKeyword_4_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class Function_RightCurlyBracketKeyword_4_4 extends KeywordToken  {
-	
-	public Function_RightCurlyBracketKeyword_4_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_4_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_Group_4_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Function_ParametersAssignment_4_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class Function_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public Function_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Function_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Function_IdAssignment_3(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Function ****************/
-
-
-/************ begin Rule Parenthesis ****************
- *
- * Parenthesis:
- * 
- * 	"Parenthesis" "{" "innerExpression" innerExpression=Expression "}";
- *
- **/
-
-// "Parenthesis" "{" "innerExpression" innerExpression=Expression "}"
-protected class Parenthesis_Group extends GroupToken {
-	
-	public Parenthesis_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getParenthesisAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getParenthesisRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Parenthesis"
-protected class Parenthesis_ParenthesisKeyword_0 extends KeywordToken  {
-	
-	public Parenthesis_ParenthesisKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParenthesisAccess().getParenthesisKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class Parenthesis_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public Parenthesis_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParenthesisAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_ParenthesisKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "innerExpression"
-protected class Parenthesis_InnerExpressionKeyword_2 extends KeywordToken  {
-	
-	public Parenthesis_InnerExpressionKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParenthesisAccess().getInnerExpressionKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// innerExpression=Expression
-protected class Parenthesis_InnerExpressionAssignment_3 extends AssignmentToken  {
-	
-	public Parenthesis_InnerExpressionAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getParenthesisAccess().getInnerExpressionAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Expression_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("innerExpression",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerExpression");
-		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.getParenthesisAccess().getInnerExpressionExpressionParserRuleCall_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 Parenthesis_InnerExpressionKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class Parenthesis_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public Parenthesis_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParenthesisAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Parenthesis_InnerExpressionAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Parenthesis ****************/
-
-
-/************ begin Rule Literal_Impl ****************
- *
- * Literal_Impl returns Literal:
- * 
- * 	{Literal} "Literal";
- *
- **/
-
-// {Literal} "Literal"
-protected class Literal_Impl_Group extends GroupToken {
-	
-	public Literal_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getLiteral_ImplAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Literal_Impl_LiteralKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLiteral_ImplAccess().getLiteralAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {Literal}
-protected class Literal_Impl_LiteralAction_0 extends ActionToken  {
-
-	public Literal_Impl_LiteralAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getLiteral_ImplAccess().getLiteralAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "Literal"
-protected class Literal_Impl_LiteralKeyword_1 extends KeywordToken  {
-	
-	public Literal_Impl_LiteralKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLiteral_ImplAccess().getLiteralKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Literal_Impl_LiteralAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Literal_Impl ****************/
-
-
-/************ begin Rule StringLiteral ****************
- *
- * StringLiteral:
- * 
- * 	"StringLiteral" "{" "value" value=EString "}";
- *
- **/
-
-// "StringLiteral" "{" "value" value=EString "}"
-protected class StringLiteral_Group extends GroupToken {
-	
-	public StringLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStringLiteralAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "StringLiteral"
-protected class StringLiteral_StringLiteralKeyword_0 extends KeywordToken  {
-	
-	public StringLiteral_StringLiteralKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStringLiteralAccess().getStringLiteralKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class StringLiteral_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public StringLiteral_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStringLiteralAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_StringLiteralKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "value"
-protected class StringLiteral_ValueKeyword_2 extends KeywordToken  {
-	
-	public StringLiteral_ValueKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStringLiteralAccess().getValueKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// value=EString
-protected class StringLiteral_ValueAssignment_3 extends AssignmentToken  {
-	
-	public StringLiteral_ValueAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStringLiteralAccess().getValueAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_ValueKeyword_2(lastRuleCallOrigin, 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(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStringLiteralAccess().getValueEStringParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getStringLiteralAccess().getValueEStringParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class StringLiteral_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public StringLiteral_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStringLiteralAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StringLiteral_ValueAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule StringLiteral ****************/
-
-
-/************ begin Rule BoolLiteral ****************
- *
- * BoolLiteral:
- * 
- * 	value?="value" "BoolLiteral";
- *
- **/
-
-// value?="value" "BoolLiteral"
-protected class BoolLiteral_Group extends GroupToken {
-	
-	public BoolLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBoolLiteralAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoolLiteral_BoolLiteralKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoolLiteralRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// value?="value"
-protected class BoolLiteral_ValueAssignment_0 extends AssignmentToken  {
-	
-	public BoolLiteral_ValueAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBoolLiteralAccess().getValueAssignment_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("value",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
-		if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
-			type = AssignmentType.KEYWORD;
-			element = grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "BoolLiteral"
-protected class BoolLiteral_BoolLiteralKeyword_1 extends KeywordToken  {
-	
-	public BoolLiteral_BoolLiteralKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoolLiteralAccess().getBoolLiteralKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoolLiteral_ValueAssignment_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BoolLiteral ****************/
-
-
-/************ begin Rule IntLiteral ****************
- *
- * IntLiteral:
- * 
- * 	"IntLiteral" "{" "value" value=EBigInteger "}";
- *
- **/
-
-// "IntLiteral" "{" "value" value=EBigInteger "}"
-protected class IntLiteral_Group extends GroupToken {
-	
-	public IntLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getIntLiteralAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getIntLiteralRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "IntLiteral"
-protected class IntLiteral_IntLiteralKeyword_0 extends KeywordToken  {
-	
-	public IntLiteral_IntLiteralKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIntLiteralAccess().getIntLiteralKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class IntLiteral_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public IntLiteral_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIntLiteralAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_IntLiteralKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "value"
-protected class IntLiteral_ValueKeyword_2 extends KeywordToken  {
-	
-	public IntLiteral_ValueKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIntLiteralAccess().getValueKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// value=EBigInteger
-protected class IntLiteral_ValueAssignment_3 extends AssignmentToken  {
-	
-	public IntLiteral_ValueAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getIntLiteralAccess().getValueAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_ValueKeyword_2(lastRuleCallOrigin, 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(valueSerializer.isValid(obj.getEObject(), grammarAccess.getIntLiteralAccess().getValueEBigIntegerParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getIntLiteralAccess().getValueEBigIntegerParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class IntLiteral_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public IntLiteral_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getIntLiteralAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new IntLiteral_ValueAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule IntLiteral ****************/
-
-
-/************ begin Rule DoubleLiteral ****************
- *
- * DoubleLiteral:
- * 
- * 	"DoubleLiteral" "{" "value" value=EBigDecimal "}";
- *
- **/
-
-// "DoubleLiteral" "{" "value" value=EBigDecimal "}"
-protected class DoubleLiteral_Group extends GroupToken {
-	
-	public DoubleLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getDoubleLiteralAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getDoubleLiteralRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "DoubleLiteral"
-protected class DoubleLiteral_DoubleLiteralKeyword_0 extends KeywordToken  {
-	
-	public DoubleLiteral_DoubleLiteralKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDoubleLiteralAccess().getDoubleLiteralKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class DoubleLiteral_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public DoubleLiteral_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDoubleLiteralAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_DoubleLiteralKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "value"
-protected class DoubleLiteral_ValueKeyword_2 extends KeywordToken  {
-	
-	public DoubleLiteral_ValueKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDoubleLiteralAccess().getValueKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// value=EBigDecimal
-protected class DoubleLiteral_ValueAssignment_3 extends AssignmentToken  {
-	
-	public DoubleLiteral_ValueAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getDoubleLiteralAccess().getValueAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_ValueKeyword_2(lastRuleCallOrigin, 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(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDoubleLiteralAccess().getValueEBigDecimalParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getDoubleLiteralAccess().getValueEBigDecimalParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class DoubleLiteral_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public DoubleLiteral_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getDoubleLiteralAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new DoubleLiteral_ValueAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule DoubleLiteral ****************/
-
-
-/************ begin Rule FormalParameter ****************
- *
- * FormalParameter:
- * 
- * 	{FormalParameter} "FormalParameter" name=EString;
- *
- **/
-
-// {FormalParameter} "FormalParameter" name=EString
-protected class FormalParameter_Group extends GroupToken {
-	
-	public FormalParameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getFormalParameterAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FormalParameter_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getFormalParameterAccess().getFormalParameterAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {FormalParameter}
-protected class FormalParameter_FormalParameterAction_0 extends ActionToken  {
-
-	public FormalParameter_FormalParameterAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getFormalParameterAccess().getFormalParameterAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "FormalParameter"
-protected class FormalParameter_FormalParameterKeyword_1 extends KeywordToken  {
-	
-	public FormalParameter_FormalParameterKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getFormalParameterAccess().getFormalParameterKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FormalParameter_FormalParameterAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class FormalParameter_NameAssignment_2 extends AssignmentToken  {
-	
-	public FormalParameter_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getFormalParameterAccess().getNameAssignment_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new FormalParameter_FormalParameterKeyword_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.getFormalParameterAccess().getNameEStringParserRuleCall_2_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getFormalParameterAccess().getNameEStringParserRuleCall_2_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-
-/************ end Rule FormalParameter ****************/
-
-
-/************ begin Rule ProbabilityMassFunction ****************
- *
- * ProbabilityMassFunction:
- * 
- * 	{ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* "}")? "}";
- *
- **/
-
-// {ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* "}")? "}"
-protected class ProbabilityMassFunction_Group extends GroupToken {
-	
-	public ProbabilityMassFunction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {ProbabilityMassFunction}
-protected class ProbabilityMassFunction_ProbabilityMassFunctionAction_0 extends ActionToken  {
-
-	public ProbabilityMassFunction_ProbabilityMassFunctionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "ProbabilityMassFunction"
-protected class ProbabilityMassFunction_ProbabilityMassFunctionKeyword_1 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_ProbabilityMassFunctionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_ProbabilityMassFunctionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ProbabilityMassFunction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_ProbabilityMassFunctionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("sample" "{" sample+=Sample ("," sample+=Sample)* "}")?
-protected class ProbabilityMassFunction_Group_3 extends GroupToken {
-	
-	public ProbabilityMassFunction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_RightCurlyBracketKeyword_3_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "sample"
-protected class ProbabilityMassFunction_SampleKeyword_3_0 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_SampleKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class ProbabilityMassFunction_LeftCurlyBracketKeyword_3_1 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_LeftCurlyBracketKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_SampleKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sample+=Sample
-protected class ProbabilityMassFunction_SampleAssignment_3_2 extends AssignmentToken  {
-	
-	public ProbabilityMassFunction_SampleAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sample",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSampleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_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 ProbabilityMassFunction_LeftCurlyBracketKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," sample+=Sample)*
-protected class ProbabilityMassFunction_Group_3_3 extends GroupToken {
-	
-	public ProbabilityMassFunction_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getGroup_3_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_SampleAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class ProbabilityMassFunction_CommaKeyword_3_3_0 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProbabilityMassFunction_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sample+=Sample
-protected class ProbabilityMassFunction_SampleAssignment_3_3_1 extends AssignmentToken  {
-	
-	public ProbabilityMassFunction_SampleAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sample",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSampleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_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 ProbabilityMassFunction_CommaKeyword_3_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class ProbabilityMassFunction_RightCurlyBracketKeyword_3_4 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_RightCurlyBracketKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProbabilityMassFunction_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class ProbabilityMassFunction_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public ProbabilityMassFunction_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProbabilityMassFunction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProbabilityMassFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ProbabilityMassFunction ****************/
-
-
-/************ begin Rule BoxedPDF ****************
- *
- * BoxedPDF:
- * 
- * 	{BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}";
- *
- **/
-
-// {BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}"
-protected class BoxedPDF_Group extends GroupToken {
-	
-	public BoxedPDF_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {BoxedPDF}
-protected class BoxedPDF_BoxedPDFAction_0 extends ActionToken  {
-
-	public BoxedPDF_BoxedPDFAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "BoxedPDF"
-protected class BoxedPDF_BoxedPDFKeyword_1 extends KeywordToken  {
-	
-	public BoxedPDF_BoxedPDFKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_BoxedPDFAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BoxedPDF_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public BoxedPDF_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_BoxedPDFKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")?
-protected class BoxedPDF_Group_3 extends GroupToken {
-	
-	public BoxedPDF_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_RightCurlyBracketKeyword_3_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "sample"
-protected class BoxedPDF_SampleKeyword_3_0 extends KeywordToken  {
-	
-	public BoxedPDF_SampleKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class BoxedPDF_LeftCurlyBracketKeyword_3_1 extends KeywordToken  {
-	
-	public BoxedPDF_LeftCurlyBracketKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_SampleKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sample+=ContinuousSample
-protected class BoxedPDF_SampleAssignment_3_2 extends AssignmentToken  {
-	
-	public BoxedPDF_SampleAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sample",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getContinuousSampleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_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 BoxedPDF_LeftCurlyBracketKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," sample+=ContinuousSample)*
-protected class BoxedPDF_Group_3_3 extends GroupToken {
-	
-	public BoxedPDF_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getGroup_3_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_SampleAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class BoxedPDF_CommaKeyword_3_3_0 extends KeywordToken  {
-	
-	public BoxedPDF_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BoxedPDF_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sample+=ContinuousSample
-protected class BoxedPDF_SampleAssignment_3_3_1 extends AssignmentToken  {
-	
-	public BoxedPDF_SampleAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sample",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getContinuousSampleRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_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 BoxedPDF_CommaKeyword_3_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class BoxedPDF_RightCurlyBracketKeyword_3_4 extends KeywordToken  {
-	
-	public BoxedPDF_RightCurlyBracketKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group_3_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BoxedPDF_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class BoxedPDF_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public BoxedPDF_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BoxedPDF_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BoxedPDF_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BoxedPDF ****************/
-
-
-/************ begin Rule NormalDistribution ****************
- *
- * NormalDistribution:
- * 
- * 	"NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}";
- *
- **/
-
-// "NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}"
-protected class NormalDistribution_Group extends GroupToken {
-	
-	public NormalDistribution_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "NormalDistribution"
-protected class NormalDistribution_NormalDistributionKeyword_0 extends KeywordToken  {
-	
-	public NormalDistribution_NormalDistributionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class NormalDistribution_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public NormalDistribution_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_NormalDistributionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "mu"
-protected class NormalDistribution_MuKeyword_2 extends KeywordToken  {
-	
-	public NormalDistribution_MuKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getMuKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// mu=EBigDecimal
-protected class NormalDistribution_MuAssignment_3 extends AssignmentToken  {
-	
-	public NormalDistribution_MuAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getMuAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_MuKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("mu",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("mu");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "sigma"
-protected class NormalDistribution_SigmaKeyword_4 extends KeywordToken  {
-	
-	public NormalDistribution_SigmaKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_MuAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// sigma=EBigDecimal
-protected class NormalDistribution_SigmaAssignment_5 extends AssignmentToken  {
-	
-	public NormalDistribution_SigmaAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getSigmaAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_SigmaKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("sigma",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sigma");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class NormalDistribution_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public NormalDistribution_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new NormalDistribution_SigmaAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule NormalDistribution ****************/
-
-
-/************ begin Rule ExponentialDistribution ****************
- *
- * ExponentialDistribution:
- * 
- * 	"ExponentialDistribution" "{" "rate" rate=EBigDecimal "}";
- *
- **/
-
-// "ExponentialDistribution" "{" "rate" rate=EBigDecimal "}"
-protected class ExponentialDistribution_Group extends GroupToken {
-	
-	public ExponentialDistribution_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ExponentialDistribution"
-protected class ExponentialDistribution_ExponentialDistributionKeyword_0 extends KeywordToken  {
-	
-	public ExponentialDistribution_ExponentialDistributionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ExponentialDistribution_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ExponentialDistribution_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_ExponentialDistributionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "rate"
-protected class ExponentialDistribution_RateKeyword_2 extends KeywordToken  {
-	
-	public ExponentialDistribution_RateKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getRateKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// rate=EBigDecimal
-protected class ExponentialDistribution_RateAssignment_3 extends AssignmentToken  {
-	
-	public ExponentialDistribution_RateAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getRateAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_RateKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("rate",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rate");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ExponentialDistribution_RightCurlyBracketKeyword_4 extends KeywordToken  {
-	
-	public ExponentialDistribution_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ExponentialDistribution_RateAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ExponentialDistribution ****************/
-
-
-
-
-
-
-
-
-
-/************ begin Rule Sample ****************
- *
- * Sample:
- * 
- * 	"Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}";
- *
- **/
-
-// "Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}"
-protected class Sample_Group extends GroupToken {
-	
-	public Sample_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSampleAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getSampleRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Sample"
-protected class Sample_SampleKeyword_0 extends KeywordToken  {
-	
-	public Sample_SampleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getSampleKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class Sample_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public Sample_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_SampleKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "probability"
-protected class Sample_ProbabilityKeyword_2 extends KeywordToken  {
-	
-	public Sample_ProbabilityKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getProbabilityKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// probability=EBigDecimal
-protected class Sample_ProbabilityAssignment_3 extends AssignmentToken  {
-	
-	public Sample_ProbabilityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSampleAccess().getProbabilityAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_ProbabilityKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("probability",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probability");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "value"
-protected class Sample_ValueKeyword_4 extends KeywordToken  {
-	
-	public Sample_ValueKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getValueKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_ProbabilityAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// value=[ecore::EObject|EString]
-protected class Sample_ValueAssignment_5 extends AssignmentToken  {
-	
-	public Sample_ValueAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSampleAccess().getValueAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_ValueKeyword_4(lastRuleCallOrigin, 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::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class Sample_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public Sample_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Sample_ValueAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Sample ****************/
-
-
-/************ begin Rule EObject ****************
- *
- * EObject returns ecore::EObject:
- * 
- * 	{ecore::EObject} "EObject";
- *
- **/
-
-// {ecore::EObject} "EObject"
-protected class EObject_Group extends GroupToken {
-	
-	public EObject_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getEObjectAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new EObject_EObjectKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getEObjectAccess().getEObjectAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {ecore::EObject}
-protected class EObject_EObjectAction_0 extends ActionToken  {
-
-	public EObject_EObjectAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getEObjectAccess().getEObjectAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "EObject"
-protected class EObject_EObjectKeyword_1 extends KeywordToken  {
-	
-	public EObject_EObjectKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getEObjectAccess().getEObjectKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new EObject_EObjectAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule EObject ****************/
-
-
-/************ begin Rule ContinuousSample ****************
- *
- * ContinuousSample:
- * 
- * 	"ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}";
- *
- **/
-
-// "ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}"
-protected class ContinuousSample_Group extends GroupToken {
-	
-	public ContinuousSample_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getContinuousSampleRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ContinuousSample"
-protected class ContinuousSample_ContinuousSampleKeyword_0 extends KeywordToken  {
-	
-	public ContinuousSample_ContinuousSampleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class ContinuousSample_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public ContinuousSample_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ContinuousSampleKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "value"
-protected class ContinuousSample_ValueKeyword_2 extends KeywordToken  {
-	
-	public ContinuousSample_ValueKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getValueKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// value=EBigDecimal
-protected class ContinuousSample_ValueAssignment_3 extends AssignmentToken  {
-	
-	public ContinuousSample_ValueAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getValueAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ValueKeyword_2(lastRuleCallOrigin, 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(valueSerializer.isValid(obj.getEObject(), grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "probability"
-protected class ContinuousSample_ProbabilityKeyword_4 extends KeywordToken  {
-	
-	public ContinuousSample_ProbabilityKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ValueAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// probability=EBigDecimal
-protected class ContinuousSample_ProbabilityAssignment_5 extends AssignmentToken  {
-	
-	public ContinuousSample_ProbabilityAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getProbabilityAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ProbabilityKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("probability",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probability");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ContinuousSample_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public ContinuousSample_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ContinuousSample_ProbabilityAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ContinuousSample ****************/
-
-}
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/MyDsl1AntlrTokenFileProvider.java b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/MyDsl1AntlrTokenFileProvider.java
deleted file mode 100644
index 38d7b21e29bcf7c0af88800bf6eab2f229e3781f..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/MyDsl1AntlrTokenFileProvider.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl1.parser.antlr;
-
-import java.io.InputStream;
-import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
-
-public class MyDsl1AntlrTokenFileProvider implements IAntlrTokenFileProvider {
-	
-	public InputStream getAntlrTokenFile() {
-		ClassLoader classLoader = getClass().getClassLoader();
-    	return classLoader.getResourceAsStream("org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.tokens");
-	}
-}
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/MyDsl1Parser.java b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/MyDsl1Parser.java
deleted file mode 100644
index b79ea0f010ef8e0a331aa73d42cc4946de3849ad..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/MyDsl1Parser.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.xtext.example.mydsl1.parser.antlr;
-
-import com.google.inject.Inject;
-
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.xtext.example.mydsl1.services.MyDsl1GrammarAccess;
-
-public class MyDsl1Parser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
-	
-	@Inject
-	private MyDsl1GrammarAccess grammarAccess;
-	
-	@Override
-	protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
-		tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
-	}
-	
-	@Override
-	protected org.xtext.example.mydsl1.parser.antlr.internal.InternalMyDsl1Parser createParser(XtextTokenStream stream) {
-		return new org.xtext.example.mydsl1.parser.antlr.internal.InternalMyDsl1Parser(stream, getGrammarAccess());
-	}
-	
-	@Override 
-	protected String getDefaultRuleName() {
-		return "ExplicitFunction";
-	}
-	
-	public MyDsl1GrammarAccess getGrammarAccess() {
-		return this.grammarAccess;
-	}
-	
-	public void setGrammarAccess(MyDsl1GrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-	
-}
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g
deleted file mode 100644
index 13617517159a5b2d76a53924a65016dfb818a4cd..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g
+++ /dev/null
@@ -1,3230 +0,0 @@
-/*
-* generated by Xtext
-*/
-grammar InternalMyDsl1;
-
-options {
-	superClass=AbstractInternalAntlrParser;
-	
-}
-
-@lexer::header {
-package org.xtext.example.mydsl1.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.xtext.example.mydsl1.parser.antlr.internal; 
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import org.xtext.example.mydsl1.services.MyDsl1GrammarAccess;
-
-}
-
-@parser::members {
-
- 	private MyDsl1GrammarAccess grammarAccess;
- 	
-    public InternalMyDsl1Parser(TokenStream input, MyDsl1GrammarAccess grammarAccess) {
-        this(input);
-        this.grammarAccess = grammarAccess;
-        registerRules(grammarAccess.getGrammar());
-    }
-    
-    @Override
-    protected String getFirstRuleName() {
-    	return "ExplicitFunction";	
-   	}
-   	
-   	@Override
-   	protected MyDsl1GrammarAccess getGrammarAccess() {
-   		return grammarAccess;
-   	}
-}
-
-@rulecatch { 
-    catch (RecognitionException re) { 
-        recover(input,re); 
-        appendSkippedTokens();
-    } 
-}
-
-
-
-
-// Entry rule entryRuleExplicitFunction
-entryRuleExplicitFunction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExplicitFunctionRule()); }
-	 iv_ruleExplicitFunction=ruleExplicitFunction 
-	 { $current=$iv_ruleExplicitFunction.current; } 
-	 EOF 
-;
-
-// Rule ExplicitFunction
-ruleExplicitFunction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getExplicitFunctionAccess().getExplicitFunctionAction_0(),
-            $current);
-    }
-)	otherlv_1='ExplicitFunction' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getExplicitFunctionAccess().getExplicitFunctionKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getExplicitFunctionAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='specification' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getExplicitFunctionAccess().getSpecificationKeyword_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExplicitFunctionAccess().getSpecificationEStringParserRuleCall_3_1_0()); 
-	    }
-		lv_specification_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExplicitFunctionRule());
-	        }
-       		set(
-       			$current, 
-       			"specification",
-        		lv_specification_4_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_5='expression' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getExplicitFunctionAccess().getExpressionKeyword_4_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExplicitFunctionAccess().getExpressionExpressionParserRuleCall_4_1_0()); 
-	    }
-		lv_expression_6_0=ruleExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExplicitFunctionRule());
-	        }
-       		set(
-       			$current, 
-       			"expression",
-        		lv_expression_6_0, 
-        		"Expression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getExplicitFunctionAccess().getRightCurlyBracketKeyword_5());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleExpression
-entryRuleExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExpressionRule()); }
-	 iv_ruleExpression=ruleExpression 
-	 { $current=$iv_ruleExpression.current; } 
-	 EOF 
-;
-
-// Rule Expression
-ruleExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getTermExpressionParserRuleCall_0()); 
-    }
-    this_TermExpression_0=ruleTermExpression
-    { 
-        $current = $this_TermExpression_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getProductExpressionParserRuleCall_1()); 
-    }
-    this_ProductExpression_1=ruleProductExpression
-    { 
-        $current = $this_ProductExpression_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getCompareExpressionParserRuleCall_2()); 
-    }
-    this_CompareExpression_2=ruleCompareExpression
-    { 
-        $current = $this_CompareExpression_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getPowerExpressionParserRuleCall_3()); 
-    }
-    this_PowerExpression_3=rulePowerExpression
-    { 
-        $current = $this_PowerExpression_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); 
-    }
-    this_BooleanOperatorExpression_4=ruleBooleanOperatorExpression
-    { 
-        $current = $this_BooleanOperatorExpression_4.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getNotExpressionParserRuleCall_5()); 
-    }
-    this_NotExpression_5=ruleNotExpression
-    { 
-        $current = $this_NotExpression_5.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getNegativeExpressionParserRuleCall_6()); 
-    }
-    this_NegativeExpression_6=ruleNegativeExpression
-    { 
-        $current = $this_NegativeExpression_6.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getIfElseExpressionParserRuleCall_7()); 
-    }
-    this_IfElseExpression_7=ruleIfElseExpression
-    { 
-        $current = $this_IfElseExpression_7.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getFunctionParserRuleCall_8()); 
-    }
-    this_Function_8=ruleFunction
-    { 
-        $current = $this_Function_8.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getParenthesisParserRuleCall_9()); 
-    }
-    this_Parenthesis_9=ruleParenthesis
-    { 
-        $current = $this_Parenthesis_9.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getLiteral_ImplParserRuleCall_10()); 
-    }
-    this_Literal_Impl_10=ruleLiteral_Impl
-    { 
-        $current = $this_Literal_Impl_10.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getStringLiteralParserRuleCall_11()); 
-    }
-    this_StringLiteral_11=ruleStringLiteral
-    { 
-        $current = $this_StringLiteral_11.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getBoolLiteralParserRuleCall_12()); 
-    }
-    this_BoolLiteral_12=ruleBoolLiteral
-    { 
-        $current = $this_BoolLiteral_12.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getIntLiteralParserRuleCall_13()); 
-    }
-    this_IntLiteral_13=ruleIntLiteral
-    { 
-        $current = $this_IntLiteral_13.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getDoubleLiteralParserRuleCall_14()); 
-    }
-    this_DoubleLiteral_14=ruleDoubleLiteral
-    { 
-        $current = $this_DoubleLiteral_14.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getFormalParameterParserRuleCall_15()); 
-    }
-    this_FormalParameter_15=ruleFormalParameter
-    { 
-        $current = $this_FormalParameter_15.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getProbabilityMassFunctionParserRuleCall_16()); 
-    }
-    this_ProbabilityMassFunction_16=ruleProbabilityMassFunction
-    { 
-        $current = $this_ProbabilityMassFunction_16.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getBoxedPDFParserRuleCall_17()); 
-    }
-    this_BoxedPDF_17=ruleBoxedPDF
-    { 
-        $current = $this_BoxedPDF_17.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getNormalDistributionParserRuleCall_18()); 
-    }
-    this_NormalDistribution_18=ruleNormalDistribution
-    { 
-        $current = $this_NormalDistribution_18.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getExpressionAccess().getExponentialDistributionParserRuleCall_19()); 
-    }
-    this_ExponentialDistribution_19=ruleExponentialDistribution
-    { 
-        $current = $this_ExponentialDistribution_19.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleTerm
-entryRuleTerm returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getTermRule()); }
-	 iv_ruleTerm=ruleTerm 
-	 { $current=$iv_ruleTerm.current; } 
-	 EOF 
-;
-
-// Rule Term
-ruleTerm returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getTermExpressionParserRuleCall_0()); 
-    }
-    this_TermExpression_0=ruleTermExpression
-    { 
-        $current = $this_TermExpression_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getProductExpressionParserRuleCall_1()); 
-    }
-    this_ProductExpression_1=ruleProductExpression
-    { 
-        $current = $this_ProductExpression_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getPowerExpressionParserRuleCall_2()); 
-    }
-    this_PowerExpression_2=rulePowerExpression
-    { 
-        $current = $this_PowerExpression_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getNotExpressionParserRuleCall_3()); 
-    }
-    this_NotExpression_3=ruleNotExpression
-    { 
-        $current = $this_NotExpression_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getNegativeExpressionParserRuleCall_4()); 
-    }
-    this_NegativeExpression_4=ruleNegativeExpression
-    { 
-        $current = $this_NegativeExpression_4.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getFunctionParserRuleCall_5()); 
-    }
-    this_Function_5=ruleFunction
-    { 
-        $current = $this_Function_5.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getParenthesisParserRuleCall_6()); 
-    }
-    this_Parenthesis_6=ruleParenthesis
-    { 
-        $current = $this_Parenthesis_6.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getLiteral_ImplParserRuleCall_7()); 
-    }
-    this_Literal_Impl_7=ruleLiteral_Impl
-    { 
-        $current = $this_Literal_Impl_7.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getStringLiteralParserRuleCall_8()); 
-    }
-    this_StringLiteral_8=ruleStringLiteral
-    { 
-        $current = $this_StringLiteral_8.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getBoolLiteralParserRuleCall_9()); 
-    }
-    this_BoolLiteral_9=ruleBoolLiteral
-    { 
-        $current = $this_BoolLiteral_9.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getIntLiteralParserRuleCall_10()); 
-    }
-    this_IntLiteral_10=ruleIntLiteral
-    { 
-        $current = $this_IntLiteral_10.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getDoubleLiteralParserRuleCall_11()); 
-    }
-    this_DoubleLiteral_11=ruleDoubleLiteral
-    { 
-        $current = $this_DoubleLiteral_11.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getFormalParameterParserRuleCall_12()); 
-    }
-    this_FormalParameter_12=ruleFormalParameter
-    { 
-        $current = $this_FormalParameter_12.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getProbabilityMassFunctionParserRuleCall_13()); 
-    }
-    this_ProbabilityMassFunction_13=ruleProbabilityMassFunction
-    { 
-        $current = $this_ProbabilityMassFunction_13.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getBoxedPDFParserRuleCall_14()); 
-    }
-    this_BoxedPDF_14=ruleBoxedPDF
-    { 
-        $current = $this_BoxedPDF_14.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getNormalDistributionParserRuleCall_15()); 
-    }
-    this_NormalDistribution_15=ruleNormalDistribution
-    { 
-        $current = $this_NormalDistribution_15.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getTermAccess().getExponentialDistributionParserRuleCall_16()); 
-    }
-    this_ExponentialDistribution_16=ruleExponentialDistribution
-    { 
-        $current = $this_ExponentialDistribution_16.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleProduct
-entryRuleProduct returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProductRule()); }
-	 iv_ruleProduct=ruleProduct 
-	 { $current=$iv_ruleProduct.current; } 
-	 EOF 
-;
-
-// Rule Product
-ruleProduct returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getProductExpressionParserRuleCall_0()); 
-    }
-    this_ProductExpression_0=ruleProductExpression
-    { 
-        $current = $this_ProductExpression_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getPowerExpressionParserRuleCall_1()); 
-    }
-    this_PowerExpression_1=rulePowerExpression
-    { 
-        $current = $this_PowerExpression_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getNotExpressionParserRuleCall_2()); 
-    }
-    this_NotExpression_2=ruleNotExpression
-    { 
-        $current = $this_NotExpression_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getNegativeExpressionParserRuleCall_3()); 
-    }
-    this_NegativeExpression_3=ruleNegativeExpression
-    { 
-        $current = $this_NegativeExpression_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getFunctionParserRuleCall_4()); 
-    }
-    this_Function_4=ruleFunction
-    { 
-        $current = $this_Function_4.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getParenthesisParserRuleCall_5()); 
-    }
-    this_Parenthesis_5=ruleParenthesis
-    { 
-        $current = $this_Parenthesis_5.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getLiteral_ImplParserRuleCall_6()); 
-    }
-    this_Literal_Impl_6=ruleLiteral_Impl
-    { 
-        $current = $this_Literal_Impl_6.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getStringLiteralParserRuleCall_7()); 
-    }
-    this_StringLiteral_7=ruleStringLiteral
-    { 
-        $current = $this_StringLiteral_7.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getBoolLiteralParserRuleCall_8()); 
-    }
-    this_BoolLiteral_8=ruleBoolLiteral
-    { 
-        $current = $this_BoolLiteral_8.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getIntLiteralParserRuleCall_9()); 
-    }
-    this_IntLiteral_9=ruleIntLiteral
-    { 
-        $current = $this_IntLiteral_9.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getDoubleLiteralParserRuleCall_10()); 
-    }
-    this_DoubleLiteral_10=ruleDoubleLiteral
-    { 
-        $current = $this_DoubleLiteral_10.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getFormalParameterParserRuleCall_11()); 
-    }
-    this_FormalParameter_11=ruleFormalParameter
-    { 
-        $current = $this_FormalParameter_11.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getProbabilityMassFunctionParserRuleCall_12()); 
-    }
-    this_ProbabilityMassFunction_12=ruleProbabilityMassFunction
-    { 
-        $current = $this_ProbabilityMassFunction_12.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getBoxedPDFParserRuleCall_13()); 
-    }
-    this_BoxedPDF_13=ruleBoxedPDF
-    { 
-        $current = $this_BoxedPDF_13.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getNormalDistributionParserRuleCall_14()); 
-    }
-    this_NormalDistribution_14=ruleNormalDistribution
-    { 
-        $current = $this_NormalDistribution_14.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getProductAccess().getExponentialDistributionParserRuleCall_15()); 
-    }
-    this_ExponentialDistribution_15=ruleExponentialDistribution
-    { 
-        $current = $this_ExponentialDistribution_15.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRulePower
-entryRulePower returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getPowerRule()); }
-	 iv_rulePower=rulePower 
-	 { $current=$iv_rulePower.current; } 
-	 EOF 
-;
-
-// Rule Power
-rulePower returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getPowerExpressionParserRuleCall_0()); 
-    }
-    this_PowerExpression_0=rulePowerExpression
-    { 
-        $current = $this_PowerExpression_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getNotExpressionParserRuleCall_1()); 
-    }
-    this_NotExpression_1=ruleNotExpression
-    { 
-        $current = $this_NotExpression_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getNegativeExpressionParserRuleCall_2()); 
-    }
-    this_NegativeExpression_2=ruleNegativeExpression
-    { 
-        $current = $this_NegativeExpression_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getFunctionParserRuleCall_3()); 
-    }
-    this_Function_3=ruleFunction
-    { 
-        $current = $this_Function_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getParenthesisParserRuleCall_4()); 
-    }
-    this_Parenthesis_4=ruleParenthesis
-    { 
-        $current = $this_Parenthesis_4.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getLiteral_ImplParserRuleCall_5()); 
-    }
-    this_Literal_Impl_5=ruleLiteral_Impl
-    { 
-        $current = $this_Literal_Impl_5.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getStringLiteralParserRuleCall_6()); 
-    }
-    this_StringLiteral_6=ruleStringLiteral
-    { 
-        $current = $this_StringLiteral_6.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getBoolLiteralParserRuleCall_7()); 
-    }
-    this_BoolLiteral_7=ruleBoolLiteral
-    { 
-        $current = $this_BoolLiteral_7.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getIntLiteralParserRuleCall_8()); 
-    }
-    this_IntLiteral_8=ruleIntLiteral
-    { 
-        $current = $this_IntLiteral_8.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getDoubleLiteralParserRuleCall_9()); 
-    }
-    this_DoubleLiteral_9=ruleDoubleLiteral
-    { 
-        $current = $this_DoubleLiteral_9.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getFormalParameterParserRuleCall_10()); 
-    }
-    this_FormalParameter_10=ruleFormalParameter
-    { 
-        $current = $this_FormalParameter_10.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getProbabilityMassFunctionParserRuleCall_11()); 
-    }
-    this_ProbabilityMassFunction_11=ruleProbabilityMassFunction
-    { 
-        $current = $this_ProbabilityMassFunction_11.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getBoxedPDFParserRuleCall_12()); 
-    }
-    this_BoxedPDF_12=ruleBoxedPDF
-    { 
-        $current = $this_BoxedPDF_12.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getNormalDistributionParserRuleCall_13()); 
-    }
-    this_NormalDistribution_13=ruleNormalDistribution
-    { 
-        $current = $this_NormalDistribution_13.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getPowerAccess().getExponentialDistributionParserRuleCall_14()); 
-    }
-    this_ExponentialDistribution_14=ruleExponentialDistribution
-    { 
-        $current = $this_ExponentialDistribution_14.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleUnary
-entryRuleUnary returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getUnaryRule()); }
-	 iv_ruleUnary=ruleUnary 
-	 { $current=$iv_ruleUnary.current; } 
-	 EOF 
-;
-
-// Rule Unary
-ruleUnary returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getNotExpressionParserRuleCall_0()); 
-    }
-    this_NotExpression_0=ruleNotExpression
-    { 
-        $current = $this_NotExpression_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getNegativeExpressionParserRuleCall_1()); 
-    }
-    this_NegativeExpression_1=ruleNegativeExpression
-    { 
-        $current = $this_NegativeExpression_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getFunctionParserRuleCall_2()); 
-    }
-    this_Function_2=ruleFunction
-    { 
-        $current = $this_Function_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getParenthesisParserRuleCall_3()); 
-    }
-    this_Parenthesis_3=ruleParenthesis
-    { 
-        $current = $this_Parenthesis_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getLiteral_ImplParserRuleCall_4()); 
-    }
-    this_Literal_Impl_4=ruleLiteral_Impl
-    { 
-        $current = $this_Literal_Impl_4.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getStringLiteralParserRuleCall_5()); 
-    }
-    this_StringLiteral_5=ruleStringLiteral
-    { 
-        $current = $this_StringLiteral_5.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getBoolLiteralParserRuleCall_6()); 
-    }
-    this_BoolLiteral_6=ruleBoolLiteral
-    { 
-        $current = $this_BoolLiteral_6.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getIntLiteralParserRuleCall_7()); 
-    }
-    this_IntLiteral_7=ruleIntLiteral
-    { 
-        $current = $this_IntLiteral_7.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getDoubleLiteralParserRuleCall_8()); 
-    }
-    this_DoubleLiteral_8=ruleDoubleLiteral
-    { 
-        $current = $this_DoubleLiteral_8.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getFormalParameterParserRuleCall_9()); 
-    }
-    this_FormalParameter_9=ruleFormalParameter
-    { 
-        $current = $this_FormalParameter_9.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getProbabilityMassFunctionParserRuleCall_10()); 
-    }
-    this_ProbabilityMassFunction_10=ruleProbabilityMassFunction
-    { 
-        $current = $this_ProbabilityMassFunction_10.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getBoxedPDFParserRuleCall_11()); 
-    }
-    this_BoxedPDF_11=ruleBoxedPDF
-    { 
-        $current = $this_BoxedPDF_11.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getNormalDistributionParserRuleCall_12()); 
-    }
-    this_NormalDistribution_12=ruleNormalDistribution
-    { 
-        $current = $this_NormalDistribution_12.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getUnaryAccess().getExponentialDistributionParserRuleCall_13()); 
-    }
-    this_ExponentialDistribution_13=ruleExponentialDistribution
-    { 
-        $current = $this_ExponentialDistribution_13.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBooleanExpression
-entryRuleBooleanExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBooleanExpressionRule()); }
-	 iv_ruleBooleanExpression=ruleBooleanExpression 
-	 { $current=$iv_ruleBooleanExpression.current; } 
-	 EOF 
-;
-
-// Rule BooleanExpression
-ruleBooleanExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getTermExpressionParserRuleCall_0()); 
-    }
-    this_TermExpression_0=ruleTermExpression
-    { 
-        $current = $this_TermExpression_0.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getProductExpressionParserRuleCall_1()); 
-    }
-    this_ProductExpression_1=ruleProductExpression
-    { 
-        $current = $this_ProductExpression_1.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getCompareExpressionParserRuleCall_2()); 
-    }
-    this_CompareExpression_2=ruleCompareExpression
-    { 
-        $current = $this_CompareExpression_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getPowerExpressionParserRuleCall_3()); 
-    }
-    this_PowerExpression_3=rulePowerExpression
-    { 
-        $current = $this_PowerExpression_3.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); 
-    }
-    this_BooleanOperatorExpression_4=ruleBooleanOperatorExpression
-    { 
-        $current = $this_BooleanOperatorExpression_4.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getNotExpressionParserRuleCall_5()); 
-    }
-    this_NotExpression_5=ruleNotExpression
-    { 
-        $current = $this_NotExpression_5.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getNegativeExpressionParserRuleCall_6()); 
-    }
-    this_NegativeExpression_6=ruleNegativeExpression
-    { 
-        $current = $this_NegativeExpression_6.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getFunctionParserRuleCall_7()); 
-    }
-    this_Function_7=ruleFunction
-    { 
-        $current = $this_Function_7.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getParenthesisParserRuleCall_8()); 
-    }
-    this_Parenthesis_8=ruleParenthesis
-    { 
-        $current = $this_Parenthesis_8.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getLiteral_ImplParserRuleCall_9()); 
-    }
-    this_Literal_Impl_9=ruleLiteral_Impl
-    { 
-        $current = $this_Literal_Impl_9.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getStringLiteralParserRuleCall_10()); 
-    }
-    this_StringLiteral_10=ruleStringLiteral
-    { 
-        $current = $this_StringLiteral_10.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getBoolLiteralParserRuleCall_11()); 
-    }
-    this_BoolLiteral_11=ruleBoolLiteral
-    { 
-        $current = $this_BoolLiteral_11.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getIntLiteralParserRuleCall_12()); 
-    }
-    this_IntLiteral_12=ruleIntLiteral
-    { 
-        $current = $this_IntLiteral_12.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getDoubleLiteralParserRuleCall_13()); 
-    }
-    this_DoubleLiteral_13=ruleDoubleLiteral
-    { 
-        $current = $this_DoubleLiteral_13.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getFormalParameterParserRuleCall_14()); 
-    }
-    this_FormalParameter_14=ruleFormalParameter
-    { 
-        $current = $this_FormalParameter_14.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getProbabilityMassFunctionParserRuleCall_15()); 
-    }
-    this_ProbabilityMassFunction_15=ruleProbabilityMassFunction
-    { 
-        $current = $this_ProbabilityMassFunction_15.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getBoxedPDFParserRuleCall_16()); 
-    }
-    this_BoxedPDF_16=ruleBoxedPDF
-    { 
-        $current = $this_BoxedPDF_16.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getNormalDistributionParserRuleCall_17()); 
-    }
-    this_NormalDistribution_17=ruleNormalDistribution
-    { 
-        $current = $this_NormalDistribution_17.current; 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getBooleanExpressionAccess().getExponentialDistributionParserRuleCall_18()); 
-    }
-    this_ExponentialDistribution_18=ruleExponentialDistribution
-    { 
-        $current = $this_ExponentialDistribution_18.current; 
-        afterParserOrEnumRuleCall();
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleEString
-entryRuleEString returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getEStringRule()); } 
-	 iv_ruleEString=ruleEString 
-	 { $current=$iv_ruleEString.current.getText(); }  
-	 EOF 
-;
-
-// Rule EString
-ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(    this_STRING_0=RULE_STRING    {
-		$current.merge(this_STRING_0);
-    }
-
-    { 
-    newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-    }
-
-    |    this_ID_1=RULE_ID    {
-		$current.merge(this_ID_1);
-    }
-
-    { 
-    newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleTermExpression
-entryRuleTermExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getTermExpressionRule()); }
-	 iv_ruleTermExpression=ruleTermExpression 
-	 { $current=$iv_ruleTermExpression.current; } 
-	 EOF 
-;
-
-// Rule TermExpression
-ruleTermExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='TermExpression' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getTermExpressionAccess().getTermExpressionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getTermExpressionAccess().getLeftCurlyBracketKeyword_1());
-    }
-
-    { 
-        newCompositeNode(grammarAccess.getTermExpressionAccess().getTermExpression2ParserRuleCall_2()); 
-    }
-    this_TermExpression2_2=ruleTermExpression2
-    { 
-        $current = $this_TermExpression2_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-((
-    {
-        $current = forceCreateModelElementAndSet(
-            grammarAccess.getTermExpressionAccess().getTermExpressionLeftAction_3_0(),
-            $current);
-    }
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getTermExpressionAccess().getOperationTermOperationsParserRuleCall_3_1_0()); 
-	    }
-		lv_operation_4_0=ruleTermOperations		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getTermExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_4_0, 
-        		"TermOperations");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getTermExpressionAccess().getRightProductParserRuleCall_3_2_0()); 
-	    }
-		lv_right_5_0=ruleProduct		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getTermExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_5_0, 
-        		"Product");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getTermExpressionAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleTermExpression2
-entryRuleTermExpression2 returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getTermExpression2Rule()); }
-	 iv_ruleTermExpression2=ruleTermExpression2 
-	 { $current=$iv_ruleTermExpression2.current; } 
-	 EOF 
-;
-
-// Rule TermExpression2
-ruleTermExpression2 returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-(
-		{ 
-	        newCompositeNode(grammarAccess.getTermExpression2Access().getLeftTermParserRuleCall_0_0()); 
-	    }
-		lv_left_0_0=ruleTerm		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getTermExpression2Rule());
-	        }
-       		set(
-       			$current, 
-       			"left",
-        		lv_left_0_0, 
-        		"Term");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getTermExpression2Access().getOperationTermOperationsParserRuleCall_1_0()); 
-	    }
-		lv_operation_1_0=ruleTermOperations		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getTermExpression2Rule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_1_0, 
-        		"TermOperations");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getTermExpression2Access().getRightProductParserRuleCall_2_0()); 
-	    }
-		lv_right_2_0=ruleProduct		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getTermExpression2Rule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_2_0, 
-        		"Product");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))
-;
-
-
-
-
-
-// Entry rule entryRuleProductExpression
-entryRuleProductExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProductExpressionRule()); }
-	 iv_ruleProductExpression=ruleProductExpression 
-	 { $current=$iv_ruleProductExpression.current; } 
-	 EOF 
-;
-
-// Rule ProductExpression
-ruleProductExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ProductExpression' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getProductExpressionAccess().getProductExpressionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getProductExpressionAccess().getLeftCurlyBracketKeyword_1());
-    }
-
-    { 
-        newCompositeNode(grammarAccess.getProductExpressionAccess().getProductExpression2ParserRuleCall_2()); 
-    }
-    this_ProductExpression2_2=ruleProductExpression2
-    { 
-        $current = $this_ProductExpression2_2.current; 
-        afterParserOrEnumRuleCall();
-    }
-((
-    {
-        $current = forceCreateModelElementAndSet(
-            grammarAccess.getProductExpressionAccess().getProductExpressionLeftAction_3_0(),
-            $current);
-    }
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProductExpressionAccess().getOperationProductOperationsParserRuleCall_3_1_0()); 
-	    }
-		lv_operation_4_0=ruleProductOperations		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProductExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_4_0, 
-        		"ProductOperations");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProductExpressionAccess().getRightPowerParserRuleCall_3_2_0()); 
-	    }
-		lv_right_5_0=rulePower		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProductExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_5_0, 
-        		"Power");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getProductExpressionAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleProductExpression2
-entryRuleProductExpression2 returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProductExpression2Rule()); }
-	 iv_ruleProductExpression2=ruleProductExpression2 
-	 { $current=$iv_ruleProductExpression2.current; } 
-	 EOF 
-;
-
-// Rule ProductExpression2
-ruleProductExpression2 returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProductExpression2Access().getLeftProductParserRuleCall_0_0()); 
-	    }
-		lv_left_0_0=ruleProduct		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProductExpression2Rule());
-	        }
-       		set(
-       			$current, 
-       			"left",
-        		lv_left_0_0, 
-        		"Product");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProductExpression2Access().getOperationProductOperationsParserRuleCall_1_0()); 
-	    }
-		lv_operation_1_0=ruleProductOperations		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProductExpression2Rule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_1_0, 
-        		"ProductOperations");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProductExpression2Access().getRightPowerParserRuleCall_2_0()); 
-	    }
-		lv_right_2_0=rulePower		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProductExpression2Rule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_2_0, 
-        		"Power");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))
-;
-
-
-
-
-
-// Entry rule entryRuleCompareExpression
-entryRuleCompareExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getCompareExpressionRule()); }
-	 iv_ruleCompareExpression=ruleCompareExpression 
-	 { $current=$iv_ruleCompareExpression.current; } 
-	 EOF 
-;
-
-// Rule CompareExpression
-ruleCompareExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='CompareExpression' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getCompareExpressionAccess().getCompareExpressionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getCompareExpressionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='operation' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getCompareExpressionAccess().getOperationKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompareExpressionAccess().getOperationCompareOperationsParserRuleCall_3_0()); 
-	    }
-		lv_operation_3_0=ruleCompareOperations		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompareExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_3_0, 
-        		"CompareOperations");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='left' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getCompareExpressionAccess().getLeftKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompareExpressionAccess().getLeftTermParserRuleCall_5_0()); 
-	    }
-		lv_left_5_0=ruleTerm		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompareExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"left",
-        		lv_left_5_0, 
-        		"Term");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='right' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getCompareExpressionAccess().getRightKeyword_6());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getCompareExpressionAccess().getRightTermParserRuleCall_7_0()); 
-	    }
-		lv_right_7_0=ruleTerm		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getCompareExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_7_0, 
-        		"Term");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getCompareExpressionAccess().getRightCurlyBracketKeyword_8());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRulePowerExpression
-entryRulePowerExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getPowerExpressionRule()); }
-	 iv_rulePowerExpression=rulePowerExpression 
-	 { $current=$iv_rulePowerExpression.current; } 
-	 EOF 
-;
-
-// Rule PowerExpression
-rulePowerExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='PowerExpression' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getPowerExpressionAccess().getPowerExpressionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getPowerExpressionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='base' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getPowerExpressionAccess().getBaseKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPowerExpressionAccess().getBasePowerParserRuleCall_3_0()); 
-	    }
-		lv_base_3_0=rulePower		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPowerExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"base",
-        		lv_base_3_0, 
-        		"Power");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='exponent' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getPowerExpressionAccess().getExponentKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getPowerExpressionAccess().getExponentUnaryParserRuleCall_5_0()); 
-	    }
-		lv_exponent_5_0=ruleUnary		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getPowerExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"exponent",
-        		lv_exponent_5_0, 
-        		"Unary");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getPowerExpressionAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBooleanOperatorExpression
-entryRuleBooleanOperatorExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBooleanOperatorExpressionRule()); }
-	 iv_ruleBooleanOperatorExpression=ruleBooleanOperatorExpression 
-	 { $current=$iv_ruleBooleanOperatorExpression.current; } 
-	 EOF 
-;
-
-// Rule BooleanOperatorExpression
-ruleBooleanOperatorExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='BooleanOperatorExpression' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getBooleanOperatorExpressionAccess().getBooleanOperatorExpressionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getBooleanOperatorExpressionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='operation' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getBooleanOperatorExpressionAccess().getOperationKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBooleanOperatorExpressionAccess().getOperationBooleanOperationsParserRuleCall_3_0()); 
-	    }
-		lv_operation_3_0=ruleBooleanOperations		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBooleanOperatorExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"operation",
-        		lv_operation_3_0, 
-        		"BooleanOperations");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='left' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getBooleanOperatorExpressionAccess().getLeftKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBooleanOperatorExpressionAccess().getLeftBooleanExpressionParserRuleCall_5_0()); 
-	    }
-		lv_left_5_0=ruleBooleanExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBooleanOperatorExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"left",
-        		lv_left_5_0, 
-        		"BooleanExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='right' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getBooleanOperatorExpressionAccess().getRightKeyword_6());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBooleanOperatorExpressionAccess().getRightBooleanExpressionParserRuleCall_7_0()); 
-	    }
-		lv_right_7_0=ruleBooleanExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBooleanOperatorExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"right",
-        		lv_right_7_0, 
-        		"BooleanExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getBooleanOperatorExpressionAccess().getRightCurlyBracketKeyword_8());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleNotExpression
-entryRuleNotExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getNotExpressionRule()); }
-	 iv_ruleNotExpression=ruleNotExpression 
-	 { $current=$iv_ruleNotExpression.current; } 
-	 EOF 
-;
-
-// Rule NotExpression
-ruleNotExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='NotExpression' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getNotExpressionAccess().getNotExpressionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getNotExpressionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='inner' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getNotExpressionAccess().getInnerKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getNotExpressionAccess().getInnerUnaryParserRuleCall_3_0()); 
-	    }
-		lv_inner_3_0=ruleUnary		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getNotExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"inner",
-        		lv_inner_3_0, 
-        		"Unary");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getNotExpressionAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleNegativeExpression
-entryRuleNegativeExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getNegativeExpressionRule()); }
-	 iv_ruleNegativeExpression=ruleNegativeExpression 
-	 { $current=$iv_ruleNegativeExpression.current; } 
-	 EOF 
-;
-
-// Rule NegativeExpression
-ruleNegativeExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='NegativeExpression' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getNegativeExpressionAccess().getNegativeExpressionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getNegativeExpressionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='inner' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getNegativeExpressionAccess().getInnerKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getNegativeExpressionAccess().getInnerUnaryParserRuleCall_3_0()); 
-	    }
-		lv_inner_3_0=ruleUnary		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getNegativeExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"inner",
-        		lv_inner_3_0, 
-        		"Unary");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getNegativeExpressionAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleIfElseExpression
-entryRuleIfElseExpression returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getIfElseExpressionRule()); }
-	 iv_ruleIfElseExpression=ruleIfElseExpression 
-	 { $current=$iv_ruleIfElseExpression.current; } 
-	 EOF 
-;
-
-// Rule IfElseExpression
-ruleIfElseExpression returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='IfElseExpression' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getIfElseExpressionAccess().getIfElseExpressionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getIfElseExpressionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='ifExpression' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getIfElseExpressionAccess().getIfExpressionKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getIfExpressionBooleanExpressionParserRuleCall_3_0()); 
-	    }
-		lv_ifExpression_3_0=ruleBooleanExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"ifExpression",
-        		lv_ifExpression_3_0, 
-        		"BooleanExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='elseExpression' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getIfElseExpressionAccess().getElseExpressionKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getElseExpressionBooleanExpressionParserRuleCall_5_0()); 
-	    }
-		lv_elseExpression_5_0=ruleBooleanExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"elseExpression",
-        		lv_elseExpression_5_0, 
-        		"BooleanExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='conditionExpression' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getIfElseExpressionAccess().getConditionExpressionKeyword_6());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getConditionExpressionBooleanExpressionParserRuleCall_7_0()); 
-	    }
-		lv_conditionExpression_7_0=ruleBooleanExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-	        }
-       		set(
-       			$current, 
-       			"conditionExpression",
-        		lv_conditionExpression_7_0, 
-        		"BooleanExpression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getIfElseExpressionAccess().getRightCurlyBracketKeyword_8());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleFunction
-entryRuleFunction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getFunctionRule()); }
-	 iv_ruleFunction=ruleFunction 
-	 { $current=$iv_ruleFunction.current; } 
-	 EOF 
-;
-
-// Rule Function
-ruleFunction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='Function' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getFunctionAccess().getFunctionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='id' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getFunctionAccess().getIdKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFunctionAccess().getIdEStringParserRuleCall_3_0()); 
-	    }
-		lv_id_3_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFunctionRule());
-	        }
-       		set(
-       			$current, 
-       			"id",
-        		lv_id_3_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_4='parameters' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getFunctionAccess().getParametersKeyword_4_0());
-    }
-	otherlv_5='{' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_4_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_2_0()); 
-	    }
-		lv_parameters_6_0=ruleExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFunctionRule());
-	        }
-       		add(
-       			$current, 
-       			"parameters",
-        		lv_parameters_6_0, 
-        		"Expression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_7=',' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getFunctionAccess().getCommaKeyword_4_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_3_1_0()); 
-	    }
-		lv_parameters_8_0=ruleExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFunctionRule());
-	        }
-       		add(
-       			$current, 
-       			"parameters",
-        		lv_parameters_8_0, 
-        		"Expression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_4_4());
-    }
-)?	otherlv_10='}' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_5());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleParenthesis
-entryRuleParenthesis returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getParenthesisRule()); }
-	 iv_ruleParenthesis=ruleParenthesis 
-	 { $current=$iv_ruleParenthesis.current; } 
-	 EOF 
-;
-
-// Rule Parenthesis
-ruleParenthesis returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='Parenthesis' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getParenthesisAccess().getParenthesisKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getParenthesisAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='innerExpression' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getParenthesisAccess().getInnerExpressionKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getParenthesisAccess().getInnerExpressionExpressionParserRuleCall_3_0()); 
-	    }
-		lv_innerExpression_3_0=ruleExpression		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getParenthesisRule());
-	        }
-       		set(
-       			$current, 
-       			"innerExpression",
-        		lv_innerExpression_3_0, 
-        		"Expression");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getParenthesisAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleLiteral_Impl
-entryRuleLiteral_Impl returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getLiteral_ImplRule()); }
-	 iv_ruleLiteral_Impl=ruleLiteral_Impl 
-	 { $current=$iv_ruleLiteral_Impl.current; } 
-	 EOF 
-;
-
-// Rule Literal_Impl
-ruleLiteral_Impl returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getLiteral_ImplAccess().getLiteralAction_0(),
-            $current);
-    }
-)	otherlv_1='Literal' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getLiteral_ImplAccess().getLiteralKeyword_1());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleStringLiteral
-entryRuleStringLiteral returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getStringLiteralRule()); }
-	 iv_ruleStringLiteral=ruleStringLiteral 
-	 { $current=$iv_ruleStringLiteral.current; } 
-	 EOF 
-;
-
-// Rule StringLiteral
-ruleStringLiteral returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='StringLiteral' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getStringLiteralAccess().getStringLiteralKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getStringLiteralAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='value' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getStringLiteralAccess().getValueKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getStringLiteralAccess().getValueEStringParserRuleCall_3_0()); 
-	    }
-		lv_value_3_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getStringLiteralRule());
-	        }
-       		set(
-       			$current, 
-       			"value",
-        		lv_value_3_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getStringLiteralAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBoolLiteral
-entryRuleBoolLiteral returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBoolLiteralRule()); }
-	 iv_ruleBoolLiteral=ruleBoolLiteral 
-	 { $current=$iv_ruleBoolLiteral.current; } 
-	 EOF 
-;
-
-// Rule BoolLiteral
-ruleBoolLiteral returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-(
-		lv_value_0_0=	'value' 
-    {
-        newLeafNode(lv_value_0_0, grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0());
-    }
- 
-	    {
-	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getBoolLiteralRule());
-	        }
-       		setWithLastConsumed($current, "value", true, "value");
-	    }
-
-)
-)	otherlv_1='BoolLiteral' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getBoolLiteralAccess().getBoolLiteralKeyword_1());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleIntLiteral
-entryRuleIntLiteral returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getIntLiteralRule()); }
-	 iv_ruleIntLiteral=ruleIntLiteral 
-	 { $current=$iv_ruleIntLiteral.current; } 
-	 EOF 
-;
-
-// Rule IntLiteral
-ruleIntLiteral returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='IntLiteral' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getIntLiteralAccess().getIntLiteralKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getIntLiteralAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='value' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getIntLiteralAccess().getValueKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getIntLiteralAccess().getValueEBigIntegerParserRuleCall_3_0()); 
-	    }
-		lv_value_3_0=ruleEBigInteger		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getIntLiteralRule());
-	        }
-       		set(
-       			$current, 
-       			"value",
-        		lv_value_3_0, 
-        		"EBigInteger");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getIntLiteralAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleDoubleLiteral
-entryRuleDoubleLiteral returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getDoubleLiteralRule()); }
-	 iv_ruleDoubleLiteral=ruleDoubleLiteral 
-	 { $current=$iv_ruleDoubleLiteral.current; } 
-	 EOF 
-;
-
-// Rule DoubleLiteral
-ruleDoubleLiteral returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='DoubleLiteral' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getDoubleLiteralAccess().getDoubleLiteralKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getDoubleLiteralAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='value' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getDoubleLiteralAccess().getValueKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getDoubleLiteralAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-	    }
-		lv_value_3_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getDoubleLiteralRule());
-	        }
-       		set(
-       			$current, 
-       			"value",
-        		lv_value_3_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getDoubleLiteralAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleFormalParameter
-entryRuleFormalParameter returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getFormalParameterRule()); }
-	 iv_ruleFormalParameter=ruleFormalParameter 
-	 { $current=$iv_ruleFormalParameter.current; } 
-	 EOF 
-;
-
-// Rule FormalParameter
-ruleFormalParameter returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getFormalParameterAccess().getFormalParameterAction_0(),
-            $current);
-    }
-)	otherlv_1='FormalParameter' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getFormalParameterAccess().getFormalParameterKeyword_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getFormalParameterAccess().getNameEStringParserRuleCall_2_0()); 
-	    }
-		lv_name_2_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getFormalParameterRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_2_0, 
-        		"EString");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))
-;
-
-
-
-
-
-// Entry rule entryRuleProbabilityMassFunction
-entryRuleProbabilityMassFunction returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProbabilityMassFunctionRule()); }
-	 iv_ruleProbabilityMassFunction=ruleProbabilityMassFunction 
-	 { $current=$iv_ruleProbabilityMassFunction.current; } 
-	 EOF 
-;
-
-// Rule ProbabilityMassFunction
-ruleProbabilityMassFunction returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0(),
-            $current);
-    }
-)	otherlv_1='ProbabilityMassFunction' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='sample' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0());
-    }
-	otherlv_4='{' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); 
-	    }
-		lv_sample_5_0=ruleSample		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule());
-	        }
-       		add(
-       			$current, 
-       			"sample",
-        		lv_sample_5_0, 
-        		"Sample");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_6=',' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); 
-	    }
-		lv_sample_7_0=ruleSample		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule());
-	        }
-       		add(
-       			$current, 
-       			"sample",
-        		lv_sample_7_0, 
-        		"Sample");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4());
-    }
-)?	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleBoxedPDF
-entryRuleBoxedPDF returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBoxedPDFRule()); }
-	 iv_ruleBoxedPDF=ruleBoxedPDF 
-	 { $current=$iv_ruleBoxedPDF.current; } 
-	 EOF 
-;
-
-// Rule BoxedPDF
-ruleBoxedPDF returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0(),
-            $current);
-    }
-)	otherlv_1='BoxedPDF' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1());
-    }
-	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2());
-    }
-(	otherlv_3='sample' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0());
-    }
-	otherlv_4='{' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); 
-	    }
-		lv_sample_5_0=ruleContinuousSample		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBoxedPDFRule());
-	        }
-       		add(
-       			$current, 
-       			"sample",
-        		lv_sample_5_0, 
-        		"ContinuousSample");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_6=',' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); 
-	    }
-		lv_sample_7_0=ruleContinuousSample		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getBoxedPDFRule());
-	        }
-       		add(
-       			$current, 
-       			"sample",
-        		lv_sample_7_0, 
-        		"ContinuousSample");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))*	otherlv_8='}' 
-    {
-    	newLeafNode(otherlv_8, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4());
-    }
-)?	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleNormalDistribution
-entryRuleNormalDistribution returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getNormalDistributionRule()); }
-	 iv_ruleNormalDistribution=ruleNormalDistribution 
-	 { $current=$iv_ruleNormalDistribution.current; } 
-	 EOF 
-;
-
-// Rule NormalDistribution
-ruleNormalDistribution returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='NormalDistribution' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='mu' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getNormalDistributionAccess().getMuKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); 
-	    }
-		lv_mu_3_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getNormalDistributionRule());
-	        }
-       		set(
-       			$current, 
-       			"mu",
-        		lv_mu_3_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='sigma' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); 
-	    }
-		lv_sigma_5_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getNormalDistributionRule());
-	        }
-       		set(
-       			$current, 
-       			"sigma",
-        		lv_sigma_5_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleExponentialDistribution
-entryRuleExponentialDistribution returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getExponentialDistributionRule()); }
-	 iv_ruleExponentialDistribution=ruleExponentialDistribution 
-	 { $current=$iv_ruleExponentialDistribution.current; } 
-	 EOF 
-;
-
-// Rule ExponentialDistribution
-ruleExponentialDistribution returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ExponentialDistribution' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='rate' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getExponentialDistributionAccess().getRateKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); 
-	    }
-		lv_rate_3_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getExponentialDistributionRule());
-	        }
-       		set(
-       			$current, 
-       			"rate",
-        		lv_rate_3_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='}' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4());
-    }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleTermOperations
-entryRuleTermOperations returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getTermOperationsRule()); } 
-	 iv_ruleTermOperations=ruleTermOperations 
-	 { $current=$iv_ruleTermOperations.current.getText(); }  
-	 EOF 
-;
-
-// Rule TermOperations
-ruleTermOperations returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-
-	kw='TermOperations' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getTermOperationsAccess().getTermOperationsKeyword()); 
-    }
-
-    ;
-
-
-
-
-
-// Entry rule entryRuleProductOperations
-entryRuleProductOperations returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getProductOperationsRule()); } 
-	 iv_ruleProductOperations=ruleProductOperations 
-	 { $current=$iv_ruleProductOperations.current.getText(); }  
-	 EOF 
-;
-
-// Rule ProductOperations
-ruleProductOperations returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-
-	kw='ProductOperations' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getProductOperationsAccess().getProductOperationsKeyword()); 
-    }
-
-    ;
-
-
-
-
-
-// Entry rule entryRuleCompareOperations
-entryRuleCompareOperations returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getCompareOperationsRule()); } 
-	 iv_ruleCompareOperations=ruleCompareOperations 
-	 { $current=$iv_ruleCompareOperations.current.getText(); }  
-	 EOF 
-;
-
-// Rule CompareOperations
-ruleCompareOperations returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-
-	kw='CompareOperations' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getCompareOperationsAccess().getCompareOperationsKeyword()); 
-    }
-
-    ;
-
-
-
-
-
-// Entry rule entryRuleBooleanOperations
-entryRuleBooleanOperations returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getBooleanOperationsRule()); } 
-	 iv_ruleBooleanOperations=ruleBooleanOperations 
-	 { $current=$iv_ruleBooleanOperations.current.getText(); }  
-	 EOF 
-;
-
-// Rule BooleanOperations
-ruleBooleanOperations returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-
-	kw='BooleanOperations' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getBooleanOperationsAccess().getBooleanOperationsKeyword()); 
-    }
-
-    ;
-
-
-
-
-
-
-
-// Entry rule entryRuleEBigInteger
-entryRuleEBigInteger returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getEBigIntegerRule()); } 
-	 iv_ruleEBigInteger=ruleEBigInteger 
-	 { $current=$iv_ruleEBigInteger.current.getText(); }  
-	 EOF 
-;
-
-// Rule EBigInteger
-ruleEBigInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); 
-    }
-)?    this_INT_1=RULE_INT    {
-		$current.merge(this_INT_1);
-    }
-
-    { 
-    newLeafNode(this_INT_1, grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleEBigDecimal
-entryRuleEBigDecimal returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getEBigDecimalRule()); } 
-	 iv_ruleEBigDecimal=ruleEBigDecimal 
-	 { $current=$iv_ruleEBigDecimal.current.getText(); }  
-	 EOF 
-;
-
-// Rule EBigDecimal
-ruleEBigDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((    this_INT_0=RULE_INT    {
-		$current.merge(this_INT_0);
-    }
-
-    { 
-    newLeafNode(this_INT_0, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); 
-    }
-)?
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); 
-    }
-    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); 
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleSample
-entryRuleSample returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getSampleRule()); }
-	 iv_ruleSample=ruleSample 
-	 { $current=$iv_ruleSample.current; } 
-	 EOF 
-;
-
-// Rule Sample
-ruleSample returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='Sample' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getSampleAccess().getSampleKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='probability' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getSampleAccess().getProbabilityKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); 
-	    }
-		lv_probability_3_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getSampleRule());
-	        }
-       		set(
-       			$current, 
-       			"probability",
-        		lv_probability_3_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='value' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getSampleAccess().getValueKeyword_4());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getSampleRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-
-
-// Entry rule entryRuleContinuousSample
-entryRuleContinuousSample returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getContinuousSampleRule()); }
-	 iv_ruleContinuousSample=ruleContinuousSample 
-	 { $current=$iv_ruleContinuousSample.current; } 
-	 EOF 
-;
-
-// Rule ContinuousSample
-ruleContinuousSample returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='ContinuousSample' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0());
-    }
-	otherlv_1='{' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='value' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getContinuousSampleAccess().getValueKeyword_2());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-	    }
-		lv_value_3_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getContinuousSampleRule());
-	        }
-       		set(
-       			$current, 
-       			"value",
-        		lv_value_3_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_4='probability' 
-    {
-    	newLeafNode(otherlv_4, grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); 
-	    }
-		lv_probability_5_0=ruleEBigDecimal		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getContinuousSampleRule());
-	        }
-       		set(
-       			$current, 
-       			"probability",
-        		lv_probability_5_0, 
-        		"EBigDecimal");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6());
-    }
-)
-;
-
-
-
-
-
-RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
-
-RULE_INT : ('0'..'9')+;
-
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
-
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-RULE_ANY_OTHER : .;
-
-
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.tokens b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.tokens
deleted file mode 100644
index deec0be82cf4ddc9df58753d08dd8f47a96f4b4d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.tokens
+++ /dev/null
@@ -1,111 +0,0 @@
-RULE_ID=5
-T__29=29
-T__28=28
-T__62=62
-T__27=27
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=10
-T__21=21
-T__20=20
-T__61=61
-T__60=60
-T__55=55
-T__56=56
-T__19=19
-T__57=57
-T__58=58
-T__51=51
-T__16=16
-T__52=52
-T__15=15
-T__53=53
-T__18=18
-T__54=54
-T__17=17
-T__12=12
-T__11=11
-T__14=14
-T__13=13
-T__59=59
-RULE_INT=6
-T__50=50
-T__42=42
-T__43=43
-T__40=40
-T__41=41
-T__46=46
-T__47=47
-T__44=44
-T__45=45
-T__48=48
-T__49=49
-RULE_SL_COMMENT=8
-RULE_ML_COMMENT=7
-T__30=30
-T__31=31
-RULE_STRING=4
-T__32=32
-T__33=33
-T__34=34
-T__35=35
-T__36=36
-T__37=37
-T__38=38
-T__39=39
-RULE_WS=9
-'ContinuousSample'=62
-'mu'=50
-'rate'=53
-'BooleanOperations'=57
-'IfElseExpression'=29
-'right'=21
-'base'=23
-'BoxedPDF'=48
-'conditionExpression'=32
-'value'=41
-'inner'=27
-'Parenthesis'=37
-'.'=59
-'StringLiteral'=40
-'{'=12
-'expression'=14
-'CompareExpression'=18
-'FormalParameter'=45
-'PowerExpression'=22
-'ProbabilityMassFunction'=46
-'-'=58
-'NotExpression'=26
-'DoubleLiteral'=44
-','=36
-'Sample'=60
-'Literal'=39
-'sample'=47
-'sigma'=51
-'NormalDistribution'=49
-'Function'=33
-'BooleanOperatorExpression'=25
-'ExponentialDistribution'=52
-'ExplicitFunction'=11
-'ProductExpression'=17
-'IntLiteral'=43
-'probability'=61
-'operation'=19
-'CompareOperations'=56
-'exponent'=24
-'specification'=13
-'BoolLiteral'=42
-'parameters'=35
-'}'=15
-'TermOperations'=54
-'elseExpression'=31
-'TermExpression'=16
-'id'=34
-'innerExpression'=38
-'ProductOperations'=55
-'NegativeExpression'=28
-'left'=20
-'ifExpression'=30
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1Lexer.java b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1Lexer.java
deleted file mode 100644
index 703892d678e323f447cb8d79b3b2ec3ff2310f0a..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1Lexer.java
+++ /dev/null
@@ -1,2963 +0,0 @@
-package org.xtext.example.mydsl1.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 InternalMyDsl1Lexer extends Lexer {
-    public static final int RULE_ID=5;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__62=62;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int T__21=21;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__20=20;
-    public static final int T__61=61;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
-    public static final int T__58=58;
-    public static final int T__51=51;
-    public static final int T__16=16;
-    public static final int T__52=52;
-    public static final int T__15=15;
-    public static final int T__53=53;
-    public static final int T__18=18;
-    public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
-    public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=8;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int RULE_STRING=4;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=9;
-
-    // delegates
-    // delegators
-
-    public InternalMyDsl1Lexer() {;} 
-    public InternalMyDsl1Lexer(CharStream input) {
-        this(input, new RecognizerSharedState());
-    }
-    public InternalMyDsl1Lexer(CharStream input, RecognizerSharedState state) {
-        super(input,state);
-
-    }
-    public String getGrammarFileName() { return "../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g"; }
-
-    // $ANTLR start "T__11"
-    public final void mT__11() throws RecognitionException {
-        try {
-            int _type = T__11;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:11:7: ( 'ExplicitFunction' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:11:9: 'ExplicitFunction'
-            {
-            match("ExplicitFunction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__11"
-
-    // $ANTLR start "T__12"
-    public final void mT__12() throws RecognitionException {
-        try {
-            int _type = T__12;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:12:7: ( '{' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:12:9: '{'
-            {
-            match('{'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__12"
-
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
-        try {
-            int _type = T__13;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:13:7: ( 'specification' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:13:9: 'specification'
-            {
-            match("specification"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__13"
-
-    // $ANTLR start "T__14"
-    public final void mT__14() throws RecognitionException {
-        try {
-            int _type = T__14;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:14:7: ( 'expression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:14:9: 'expression'
-            {
-            match("expression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__14"
-
-    // $ANTLR start "T__15"
-    public final void mT__15() throws RecognitionException {
-        try {
-            int _type = T__15;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:15:7: ( '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:15:9: '}'
-            {
-            match('}'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__15"
-
-    // $ANTLR start "T__16"
-    public final void mT__16() throws RecognitionException {
-        try {
-            int _type = T__16;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:16:7: ( 'TermExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:16:9: 'TermExpression'
-            {
-            match("TermExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__16"
-
-    // $ANTLR start "T__17"
-    public final void mT__17() throws RecognitionException {
-        try {
-            int _type = T__17;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:17:7: ( 'ProductExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:17:9: 'ProductExpression'
-            {
-            match("ProductExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__17"
-
-    // $ANTLR start "T__18"
-    public final void mT__18() throws RecognitionException {
-        try {
-            int _type = T__18;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:18:7: ( 'CompareExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:18:9: 'CompareExpression'
-            {
-            match("CompareExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__18"
-
-    // $ANTLR start "T__19"
-    public final void mT__19() throws RecognitionException {
-        try {
-            int _type = T__19;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:19:7: ( 'operation' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:19:9: 'operation'
-            {
-            match("operation"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__19"
-
-    // $ANTLR start "T__20"
-    public final void mT__20() throws RecognitionException {
-        try {
-            int _type = T__20;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:20:7: ( 'left' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:20:9: 'left'
-            {
-            match("left"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__20"
-
-    // $ANTLR start "T__21"
-    public final void mT__21() throws RecognitionException {
-        try {
-            int _type = T__21;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:21:7: ( 'right' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:21:9: 'right'
-            {
-            match("right"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__21"
-
-    // $ANTLR start "T__22"
-    public final void mT__22() throws RecognitionException {
-        try {
-            int _type = T__22;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:22:7: ( 'PowerExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:22:9: 'PowerExpression'
-            {
-            match("PowerExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__22"
-
-    // $ANTLR start "T__23"
-    public final void mT__23() throws RecognitionException {
-        try {
-            int _type = T__23;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:23:7: ( 'base' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:23:9: 'base'
-            {
-            match("base"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__23"
-
-    // $ANTLR start "T__24"
-    public final void mT__24() throws RecognitionException {
-        try {
-            int _type = T__24;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:24:7: ( 'exponent' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:24:9: 'exponent'
-            {
-            match("exponent"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__24"
-
-    // $ANTLR start "T__25"
-    public final void mT__25() throws RecognitionException {
-        try {
-            int _type = T__25;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:25:7: ( 'BooleanOperatorExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:25:9: 'BooleanOperatorExpression'
-            {
-            match("BooleanOperatorExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__25"
-
-    // $ANTLR start "T__26"
-    public final void mT__26() throws RecognitionException {
-        try {
-            int _type = T__26;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:26:7: ( 'NotExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:26:9: 'NotExpression'
-            {
-            match("NotExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__26"
-
-    // $ANTLR start "T__27"
-    public final void mT__27() throws RecognitionException {
-        try {
-            int _type = T__27;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:27:7: ( 'inner' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:27:9: 'inner'
-            {
-            match("inner"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__27"
-
-    // $ANTLR start "T__28"
-    public final void mT__28() throws RecognitionException {
-        try {
-            int _type = T__28;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:28:7: ( 'NegativeExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:28:9: 'NegativeExpression'
-            {
-            match("NegativeExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__28"
-
-    // $ANTLR start "T__29"
-    public final void mT__29() throws RecognitionException {
-        try {
-            int _type = T__29;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:29:7: ( 'IfElseExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:29:9: 'IfElseExpression'
-            {
-            match("IfElseExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__29"
-
-    // $ANTLR start "T__30"
-    public final void mT__30() throws RecognitionException {
-        try {
-            int _type = T__30;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:30:7: ( 'ifExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:30:9: 'ifExpression'
-            {
-            match("ifExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__30"
-
-    // $ANTLR start "T__31"
-    public final void mT__31() throws RecognitionException {
-        try {
-            int _type = T__31;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:31:7: ( 'elseExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:31:9: 'elseExpression'
-            {
-            match("elseExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__31"
-
-    // $ANTLR start "T__32"
-    public final void mT__32() throws RecognitionException {
-        try {
-            int _type = T__32;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:32:7: ( 'conditionExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:32:9: 'conditionExpression'
-            {
-            match("conditionExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__32"
-
-    // $ANTLR start "T__33"
-    public final void mT__33() throws RecognitionException {
-        try {
-            int _type = T__33;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:33:7: ( 'Function' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:33:9: 'Function'
-            {
-            match("Function"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__33"
-
-    // $ANTLR start "T__34"
-    public final void mT__34() throws RecognitionException {
-        try {
-            int _type = T__34;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:34:7: ( 'id' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:34:9: 'id'
-            {
-            match("id"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__34"
-
-    // $ANTLR start "T__35"
-    public final void mT__35() throws RecognitionException {
-        try {
-            int _type = T__35;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:35:7: ( 'parameters' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:35:9: 'parameters'
-            {
-            match("parameters"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__35"
-
-    // $ANTLR start "T__36"
-    public final void mT__36() throws RecognitionException {
-        try {
-            int _type = T__36;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:36:7: ( ',' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:36:9: ','
-            {
-            match(','); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__36"
-
-    // $ANTLR start "T__37"
-    public final void mT__37() throws RecognitionException {
-        try {
-            int _type = T__37;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:37:7: ( 'Parenthesis' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:37:9: 'Parenthesis'
-            {
-            match("Parenthesis"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__37"
-
-    // $ANTLR start "T__38"
-    public final void mT__38() throws RecognitionException {
-        try {
-            int _type = T__38;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:38:7: ( 'innerExpression' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:38:9: 'innerExpression'
-            {
-            match("innerExpression"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__38"
-
-    // $ANTLR start "T__39"
-    public final void mT__39() throws RecognitionException {
-        try {
-            int _type = T__39;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:39:7: ( 'Literal' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:39:9: 'Literal'
-            {
-            match("Literal"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__39"
-
-    // $ANTLR start "T__40"
-    public final void mT__40() throws RecognitionException {
-        try {
-            int _type = T__40;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:40:7: ( 'StringLiteral' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:40:9: 'StringLiteral'
-            {
-            match("StringLiteral"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__40"
-
-    // $ANTLR start "T__41"
-    public final void mT__41() throws RecognitionException {
-        try {
-            int _type = T__41;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:41:7: ( 'value' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:41:9: 'value'
-            {
-            match("value"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__41"
-
-    // $ANTLR start "T__42"
-    public final void mT__42() throws RecognitionException {
-        try {
-            int _type = T__42;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:42:7: ( 'BoolLiteral' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:42:9: 'BoolLiteral'
-            {
-            match("BoolLiteral"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__42"
-
-    // $ANTLR start "T__43"
-    public final void mT__43() throws RecognitionException {
-        try {
-            int _type = T__43;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:43:7: ( 'IntLiteral' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:43:9: 'IntLiteral'
-            {
-            match("IntLiteral"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__43"
-
-    // $ANTLR start "T__44"
-    public final void mT__44() throws RecognitionException {
-        try {
-            int _type = T__44;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:44:7: ( 'DoubleLiteral' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:44:9: 'DoubleLiteral'
-            {
-            match("DoubleLiteral"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__44"
-
-    // $ANTLR start "T__45"
-    public final void mT__45() throws RecognitionException {
-        try {
-            int _type = T__45;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:45:7: ( 'FormalParameter' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:45:9: 'FormalParameter'
-            {
-            match("FormalParameter"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__45"
-
-    // $ANTLR start "T__46"
-    public final void mT__46() throws RecognitionException {
-        try {
-            int _type = T__46;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:46:7: ( 'ProbabilityMassFunction' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:46:9: 'ProbabilityMassFunction'
-            {
-            match("ProbabilityMassFunction"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__46"
-
-    // $ANTLR start "T__47"
-    public final void mT__47() throws RecognitionException {
-        try {
-            int _type = T__47;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:47:7: ( 'sample' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:47:9: 'sample'
-            {
-            match("sample"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__47"
-
-    // $ANTLR start "T__48"
-    public final void mT__48() throws RecognitionException {
-        try {
-            int _type = T__48;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:48:7: ( 'BoxedPDF' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:48:9: 'BoxedPDF'
-            {
-            match("BoxedPDF"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__48"
-
-    // $ANTLR start "T__49"
-    public final void mT__49() throws RecognitionException {
-        try {
-            int _type = T__49;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:49:7: ( 'NormalDistribution' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:49:9: 'NormalDistribution'
-            {
-            match("NormalDistribution"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__49"
-
-    // $ANTLR start "T__50"
-    public final void mT__50() throws RecognitionException {
-        try {
-            int _type = T__50;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:50:7: ( 'mu' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:50:9: 'mu'
-            {
-            match("mu"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__50"
-
-    // $ANTLR start "T__51"
-    public final void mT__51() throws RecognitionException {
-        try {
-            int _type = T__51;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:51:7: ( 'sigma' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:51:9: 'sigma'
-            {
-            match("sigma"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__51"
-
-    // $ANTLR start "T__52"
-    public final void mT__52() throws RecognitionException {
-        try {
-            int _type = T__52;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:52:7: ( 'ExponentialDistribution' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:52:9: 'ExponentialDistribution'
-            {
-            match("ExponentialDistribution"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__52"
-
-    // $ANTLR start "T__53"
-    public final void mT__53() throws RecognitionException {
-        try {
-            int _type = T__53;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:53:7: ( 'rate' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:53:9: 'rate'
-            {
-            match("rate"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__53"
-
-    // $ANTLR start "T__54"
-    public final void mT__54() throws RecognitionException {
-        try {
-            int _type = T__54;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:54:7: ( 'TermOperations' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:54:9: 'TermOperations'
-            {
-            match("TermOperations"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__54"
-
-    // $ANTLR start "T__55"
-    public final void mT__55() throws RecognitionException {
-        try {
-            int _type = T__55;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:55:7: ( 'ProductOperations' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:55:9: 'ProductOperations'
-            {
-            match("ProductOperations"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__55"
-
-    // $ANTLR start "T__56"
-    public final void mT__56() throws RecognitionException {
-        try {
-            int _type = T__56;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:56:7: ( 'CompareOperations' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:56:9: 'CompareOperations'
-            {
-            match("CompareOperations"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__56"
-
-    // $ANTLR start "T__57"
-    public final void mT__57() throws RecognitionException {
-        try {
-            int _type = T__57;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:57:7: ( 'BooleanOperations' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:57:9: 'BooleanOperations'
-            {
-            match("BooleanOperations"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__57"
-
-    // $ANTLR start "T__58"
-    public final void mT__58() throws RecognitionException {
-        try {
-            int _type = T__58;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:58:7: ( '-' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:58:9: '-'
-            {
-            match('-'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__58"
-
-    // $ANTLR start "T__59"
-    public final void mT__59() throws RecognitionException {
-        try {
-            int _type = T__59;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:59:7: ( '.' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:59:9: '.'
-            {
-            match('.'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__59"
-
-    // $ANTLR start "T__60"
-    public final void mT__60() throws RecognitionException {
-        try {
-            int _type = T__60;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:60:7: ( 'Sample' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:60:9: 'Sample'
-            {
-            match("Sample"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__60"
-
-    // $ANTLR start "T__61"
-    public final void mT__61() throws RecognitionException {
-        try {
-            int _type = T__61;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:61:7: ( 'probability' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:61:9: 'probability'
-            {
-            match("probability"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__61"
-
-    // $ANTLR start "T__62"
-    public final void mT__62() throws RecognitionException {
-        try {
-            int _type = T__62;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:62:7: ( 'ContinuousSample' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:62:9: 'ContinuousSample'
-            {
-            match("ContinuousSample"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__62"
-
-    // $ANTLR start "RULE_ID"
-    public final void mRULE_ID() throws RecognitionException {
-        try {
-            int _type = RULE_ID;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3216:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3216:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3216:11: ( '^' )?
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0=='^') ) {
-                alt1=1;
-            }
-            switch (alt1) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3216: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.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3216:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop2:
-            do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-
-                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
-                    alt2=1;
-                }
-
-
-                switch (alt2) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop2;
-                }
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ID"
-
-    // $ANTLR start "RULE_INT"
-    public final void mRULE_INT() throws RecognitionException {
-        try {
-            int _type = RULE_INT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3218:10: ( ( '0' .. '9' )+ )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3218:12: ( '0' .. '9' )+
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3218:12: ( '0' .. '9' )+
-            int cnt3=0;
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-
-                if ( ((LA3_0>='0' && LA3_0<='9')) ) {
-                    alt3=1;
-                }
-
-
-                switch (alt3) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3218:13: '0' .. '9'
-            	    {
-            	    matchRange('0','9'); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt3 >= 1 ) break loop3;
-                        EarlyExitException eee =
-                            new EarlyExitException(3, input);
-                        throw eee;
-                }
-                cnt3++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_INT"
-
-    // $ANTLR start "RULE_STRING"
-    public final void mRULE_STRING() throws RecognitionException {
-        try {
-            int _type = RULE_STRING;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0=='\"') ) {
-                alt6=1;
-            }
-            else if ( (LA6_0=='\'') ) {
-                alt6=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
-                    {
-                    match('\"'); 
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop4:
-                    do {
-                        int alt4=3;
-                        int LA4_0 = input.LA(1);
-
-                        if ( (LA4_0=='\\') ) {
-                            alt4=1;
-                        }
-                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
-                            alt4=2;
-                        }
-
-
-                        switch (alt4) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:66: ~ ( ( '\\\\' | '\"' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop4;
-                        }
-                    } while (true);
-
-                    match('\"'); 
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
-                    {
-                    match('\''); 
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop5:
-                    do {
-                        int alt5=3;
-                        int LA5_0 = input.LA(1);
-
-                        if ( (LA5_0=='\\') ) {
-                            alt5=1;
-                        }
-                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
-                            alt5=2;
-                        }
-
-
-                        switch (alt5) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
-                    	    {
-                    	    match('\\'); 
-                    	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3220:137: ~ ( ( '\\\\' | '\\'' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop5;
-                        }
-                    } while (true);
-
-                    match('\''); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_STRING"
-
-    // $ANTLR start "RULE_ML_COMMENT"
-    public final void mRULE_ML_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_ML_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3222:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3222:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3222:24: ( options {greedy=false; } : . )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0=='*') ) {
-                    int LA7_1 = input.LA(2);
-
-                    if ( (LA7_1=='/') ) {
-                        alt7=2;
-                    }
-                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
-                        alt7=1;
-                    }
-
-
-                }
-                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
-                    alt7=1;
-                }
-
-
-                switch (alt7) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3222:52: .
-            	    {
-            	    matchAny(); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop7;
-                }
-            } while (true);
-
-            match("*/"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ML_COMMENT"
-
-    // $ANTLR start "RULE_SL_COMMENT"
-    public final void mRULE_SL_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_SL_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3224:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3224:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3224:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop8:
-            do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-
-                if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
-                    alt8=1;
-                }
-
-
-                switch (alt8) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3224:24: ~ ( ( '\\n' | '\\r' ) )
-            	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop8;
-                }
-            } while (true);
-
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3224:40: ( ( '\\r' )? '\\n' )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0=='\n'||LA10_0=='\r') ) {
-                alt10=1;
-            }
-            switch (alt10) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3224:41: ( '\\r' )? '\\n'
-                    {
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3224:41: ( '\\r' )?
-                    int alt9=2;
-                    int LA9_0 = input.LA(1);
-
-                    if ( (LA9_0=='\r') ) {
-                        alt9=1;
-                    }
-                    switch (alt9) {
-                        case 1 :
-                            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3224:41: '\\r'
-                            {
-                            match('\r'); 
-
-                            }
-                            break;
-
-                    }
-
-                    match('\n'); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_SL_COMMENT"
-
-    // $ANTLR start "RULE_WS"
-    public final void mRULE_WS() throws RecognitionException {
-        try {
-            int _type = RULE_WS;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3226:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3226:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3226:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt11=0;
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:
-            	    {
-            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt11 >= 1 ) break loop11;
-                        EarlyExitException eee =
-                            new EarlyExitException(11, input);
-                        throw eee;
-                }
-                cnt11++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_WS"
-
-    // $ANTLR start "RULE_ANY_OTHER"
-    public final void mRULE_ANY_OTHER() throws RecognitionException {
-        try {
-            int _type = RULE_ANY_OTHER;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3228:16: ( . )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3228:18: .
-            {
-            matchAny(); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ANY_OTHER"
-
-    public void mTokens() throws RecognitionException {
-        // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=59;
-        alt12 = dfa12.predict(input);
-        switch (alt12) {
-            case 1 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:10: T__11
-                {
-                mT__11(); 
-
-                }
-                break;
-            case 2 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:16: T__12
-                {
-                mT__12(); 
-
-                }
-                break;
-            case 3 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:22: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 4 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:28: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 5 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:34: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 6 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:40: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 7 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:46: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 8 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:52: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 9 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:58: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 10 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:64: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 11 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:70: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 12 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:76: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 13 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:82: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 14 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:88: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 15 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:94: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 16 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:100: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 17 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:106: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 18 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:112: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 19 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:118: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 20 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:124: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 21 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:130: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 22 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:136: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 23 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:142: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 24 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:148: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 25 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:154: T__35
-                {
-                mT__35(); 
-
-                }
-                break;
-            case 26 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:160: T__36
-                {
-                mT__36(); 
-
-                }
-                break;
-            case 27 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:166: T__37
-                {
-                mT__37(); 
-
-                }
-                break;
-            case 28 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:172: T__38
-                {
-                mT__38(); 
-
-                }
-                break;
-            case 29 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:178: T__39
-                {
-                mT__39(); 
-
-                }
-                break;
-            case 30 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:184: T__40
-                {
-                mT__40(); 
-
-                }
-                break;
-            case 31 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:190: T__41
-                {
-                mT__41(); 
-
-                }
-                break;
-            case 32 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:196: T__42
-                {
-                mT__42(); 
-
-                }
-                break;
-            case 33 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:202: T__43
-                {
-                mT__43(); 
-
-                }
-                break;
-            case 34 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:208: T__44
-                {
-                mT__44(); 
-
-                }
-                break;
-            case 35 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:214: T__45
-                {
-                mT__45(); 
-
-                }
-                break;
-            case 36 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:220: T__46
-                {
-                mT__46(); 
-
-                }
-                break;
-            case 37 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:226: T__47
-                {
-                mT__47(); 
-
-                }
-                break;
-            case 38 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:232: T__48
-                {
-                mT__48(); 
-
-                }
-                break;
-            case 39 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:238: T__49
-                {
-                mT__49(); 
-
-                }
-                break;
-            case 40 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:244: T__50
-                {
-                mT__50(); 
-
-                }
-                break;
-            case 41 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:250: T__51
-                {
-                mT__51(); 
-
-                }
-                break;
-            case 42 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:256: T__52
-                {
-                mT__52(); 
-
-                }
-                break;
-            case 43 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:262: T__53
-                {
-                mT__53(); 
-
-                }
-                break;
-            case 44 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:268: T__54
-                {
-                mT__54(); 
-
-                }
-                break;
-            case 45 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:274: T__55
-                {
-                mT__55(); 
-
-                }
-                break;
-            case 46 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:280: T__56
-                {
-                mT__56(); 
-
-                }
-                break;
-            case 47 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:286: T__57
-                {
-                mT__57(); 
-
-                }
-                break;
-            case 48 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:292: T__58
-                {
-                mT__58(); 
-
-                }
-                break;
-            case 49 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:298: T__59
-                {
-                mT__59(); 
-
-                }
-                break;
-            case 50 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:304: T__60
-                {
-                mT__60(); 
-
-                }
-                break;
-            case 51 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:310: T__61
-                {
-                mT__61(); 
-
-                }
-                break;
-            case 52 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:316: T__62
-                {
-                mT__62(); 
-
-                }
-                break;
-            case 53 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:322: RULE_ID
-                {
-                mRULE_ID(); 
-
-                }
-                break;
-            case 54 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:330: RULE_INT
-                {
-                mRULE_INT(); 
-
-                }
-                break;
-            case 55 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:339: RULE_STRING
-                {
-                mRULE_STRING(); 
-
-                }
-                break;
-            case 56 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:351: RULE_ML_COMMENT
-                {
-                mRULE_ML_COMMENT(); 
-
-                }
-                break;
-            case 57 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:367: RULE_SL_COMMENT
-                {
-                mRULE_SL_COMMENT(); 
-
-                }
-                break;
-            case 58 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:383: RULE_WS
-                {
-                mRULE_WS(); 
-
-                }
-                break;
-            case 59 :
-                // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1:391: RULE_ANY_OTHER
-                {
-                mRULE_ANY_OTHER(); 
-
-                }
-                break;
-
-        }
-
-    }
-
-
-    protected DFA12 dfa12 = new DFA12(this);
-    static final String DFA12_eotS =
-        "\1\uffff\1\45\1\uffff\2\45\1\uffff\16\45\1\uffff\5\45\2\uffff\1"+
-        "\43\2\uffff\3\43\2\uffff\1\45\2\uffff\5\45\1\uffff\17\45\1\152\7"+
-        "\45\1\uffff\5\45\1\167\7\uffff\30\45\1\uffff\14\45\1\uffff\20\45"+
-        "\1\u00b0\1\45\1\u00b2\1\u00b3\27\45\1\u00cc\14\45\1\uffff\1\u00d9"+
-        "\2\uffff\6\45\1\u00e1\13\45\1\u00ed\4\45\1\u00f2\1\uffff\14\45\1"+
-        "\uffff\7\45\1\uffff\12\45\1\u0110\1\uffff\4\45\1\uffff\33\45\1\u0132"+
-        "\1\45\1\uffff\5\45\1\u0139\16\45\1\u0148\10\45\1\u0151\3\45\1\uffff"+
-        "\6\45\1\uffff\13\45\1\u0166\2\45\1\uffff\10\45\1\uffff\10\45\1\u0179"+
-        "\13\45\1\uffff\10\45\1\u018d\2\45\1\u0190\6\45\1\uffff\7\45\1\u019e"+
-        "\4\45\1\u01a3\6\45\1\uffff\2\45\1\uffff\1\u01ac\14\45\1\uffff\4"+
-        "\45\1\uffff\4\45\1\u01c1\3\45\1\uffff\4\45\1\u01c9\13\45\1\u01d6"+
-        "\3\45\1\uffff\3\45\1\u01dd\1\u01de\2\45\1\uffff\1\u01e1\1\u01e2"+
-        "\1\u01e3\11\45\1\uffff\6\45\2\uffff\2\45\3\uffff\3\45\1\u01f8\7"+
-        "\45\1\u0200\2\45\1\u0203\1\u0204\4\45\1\uffff\2\45\1\u020b\4\45"+
-        "\1\uffff\1\u0210\1\45\2\uffff\1\45\1\u0213\1\u0214\1\45\1\u0216"+
-        "\1\u0217\1\uffff\1\45\1\u0219\2\45\1\uffff\2\45\2\uffff\1\45\2\uffff"+
-        "\1\45\1\uffff\1\u0220\1\u0221\4\45\2\uffff\1\u0226\3\45\1\uffff"+
-        "\6\45\1\u0230\1\u0231\1\45\2\uffff\1\45\1\u0234\1\uffff";
-    static final String DFA12_eofS =
-        "\u0235\uffff";
-    static final String DFA12_minS =
-        "\1\0\1\170\1\uffff\1\141\1\154\1\uffff\1\145\1\141\1\157\1\160"+
-        "\1\145\2\141\1\157\1\145\1\144\1\146\2\157\1\141\1\uffff\1\151\2"+
-        "\141\1\157\1\165\2\uffff\1\101\2\uffff\2\0\1\52\2\uffff\1\160\2"+
-        "\uffff\1\145\1\155\1\147\1\160\1\163\1\uffff\1\162\1\157\1\167\1"+
-        "\162\1\155\1\145\1\146\1\147\1\164\1\163\1\157\1\162\1\147\1\156"+
-        "\1\105\1\60\1\105\1\164\2\156\2\162\1\157\1\uffff\1\164\1\162\1"+
-        "\155\1\154\1\165\1\60\7\uffff\1\154\1\143\1\160\1\155\1\157\1\145"+
-        "\1\155\1\142\2\145\1\160\1\164\1\162\1\164\1\150\2\145\1\154\1\145"+
-        "\1\105\1\155\1\141\1\145\1\170\1\uffff\1\154\1\114\1\144\1\143\1"+
-        "\155\1\141\1\142\1\145\1\151\1\160\1\165\1\142\1\uffff\1\151\1\156"+
-        "\1\151\1\154\1\141\1\145\1\156\2\105\1\165\1\141\1\162\1\156\1\141"+
-        "\1\151\1\141\1\60\1\164\2\60\1\114\1\144\1\170\1\141\1\164\1\162"+
-        "\1\160\1\163\2\151\1\164\1\141\1\155\1\141\1\162\1\156\1\154\1\145"+
-        "\1\154\1\143\1\145\1\146\1\145\1\60\1\163\1\145\2\170\1\160\1\143"+
-        "\1\142\1\105\1\164\1\162\1\156\1\164\1\uffff\1\60\2\uffff\1\141"+
-        "\1\151\1\120\1\160\1\154\1\151\1\60\1\162\1\145\2\164\1\151\1\154"+
-        "\1\145\1\142\1\141\1\147\1\145\1\60\1\145\1\151\1\156\1\151\1\60"+
-        "\1\uffff\1\163\1\156\2\160\1\145\1\164\1\151\1\170\1\150\1\145\1"+
-        "\165\1\151\1\uffff\1\156\1\164\1\104\1\162\1\104\1\166\1\170\1\uffff"+
-        "\1\145\1\105\1\145\1\151\1\157\1\120\1\164\1\151\1\154\1\114\1\60"+
-        "\1\uffff\1\114\2\164\1\143\1\uffff\1\151\1\164\3\162\1\105\1\154"+
-        "\1\160\1\145\1\105\2\157\1\117\1\145\1\106\1\145\1\151\1\145\1\160"+
-        "\1\163\1\170\1\162\1\157\1\156\1\141\1\145\1\154\1\60\1\151\1\uffff"+
-        "\1\151\1\106\1\151\1\141\1\157\1\60\2\145\1\141\1\170\1\160\1\151"+
-        "\1\162\1\163\1\170\1\160\1\165\1\156\1\160\1\162\1\60\2\163\1\105"+
-        "\1\162\1\163\1\160\1\141\1\156\1\60\2\162\1\151\1\uffff\2\164\1"+
-        "\165\1\141\1\164\1\156\1\uffff\2\163\1\164\1\160\1\145\1\164\1\145"+
-        "\1\151\1\160\1\145\1\163\1\60\1\145\1\141\1\uffff\1\163\1\164\1"+
-        "\170\1\145\1\151\1\162\1\154\1\105\1\uffff\1\141\1\163\1\164\2\145"+
-        "\1\156\1\154\1\151\1\60\2\163\1\151\2\162\1\171\2\163\2\162\1\123"+
-        "\1\uffff\1\162\1\154\1\151\1\162\1\160\1\163\1\157\1\145\1\60\1"+
-        "\170\1\155\1\60\1\171\2\162\1\143\1\104\1\157\1\uffff\2\151\1\157"+
-        "\1\145\1\141\1\115\1\163\1\60\1\145\3\141\1\60\1\157\1\151\1\162"+
-        "\1\163\1\156\1\163\1\uffff\1\160\1\145\1\uffff\1\60\2\141\1\164"+
-        "\1\151\1\156\2\157\1\156\1\163\1\164\1\141\1\151\1\uffff\1\163\1"+
-        "\164\1\155\1\164\1\uffff\1\156\1\142\1\145\1\151\1\60\1\163\1\162"+
-        "\1\164\1\uffff\2\154\1\151\1\163\1\60\2\156\2\163\1\151\1\163\1"+
-        "\157\1\163\1\151\1\160\1\151\1\60\1\165\1\163\1\157\1\uffff\1\151"+
-        "\2\145\2\60\1\157\1\164\1\uffff\3\60\1\151\1\157\1\163\1\156\1\151"+
-        "\1\157\1\154\1\162\1\157\1\uffff\1\164\1\163\1\156\1\157\1\163\1"+
-        "\162\2\uffff\1\156\1\162\3\uffff\1\157\1\156\1\106\1\60\1\157\1"+
-        "\156\1\145\1\105\1\156\2\151\1\60\1\156\1\163\2\60\1\151\1\156\1"+
-        "\163\1\165\1\uffff\1\156\1\163\1\60\1\170\1\163\2\157\1\uffff\1"+
-        "\60\1\151\2\uffff\1\142\2\60\1\156\2\60\1\uffff\1\160\1\60\2\156"+
-        "\1\uffff\1\157\1\165\2\uffff\1\143\2\uffff\1\162\1\uffff\2\60\1"+
-        "\156\2\164\1\145\2\uffff\1\60\2\151\1\163\1\uffff\2\157\1\163\2"+
-        "\156\1\151\2\60\1\157\2\uffff\1\156\1\60\1\uffff";
-    static final String DFA12_maxS =
-        "\1\uffff\1\170\1\uffff\1\160\1\170\1\uffff\1\145\1\162\1\157\1"+
-        "\160\1\145\1\151\1\141\2\157\2\156\1\157\1\165\1\162\1\uffff\1\151"+
-        "\1\164\1\141\1\157\1\165\2\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff"+
-        "\1\160\2\uffff\1\145\1\155\1\147\1\160\1\163\1\uffff\1\162\1\157"+
-        "\1\167\1\162\1\156\1\145\1\146\1\147\1\164\1\163\1\170\1\164\1\147"+
-        "\1\156\1\105\1\172\1\105\1\164\2\156\2\162\1\157\1\uffff\1\164\1"+
-        "\162\1\155\1\154\1\165\1\172\7\uffff\1\157\1\143\1\160\1\155\1\162"+
-        "\1\145\1\155\1\144\2\145\1\160\1\164\1\162\1\164\1\150\2\145\1\154"+
-        "\1\145\1\105\1\155\1\141\1\145\1\170\1\uffff\1\154\1\114\1\144\1"+
-        "\143\1\155\1\141\1\142\1\145\1\151\1\160\1\165\1\142\1\uffff\1\151"+
-        "\1\156\1\151\1\154\1\141\1\145\1\156\1\105\1\117\1\165\1\141\1\162"+
-        "\1\156\1\141\1\151\1\141\1\172\1\164\2\172\1\145\1\144\1\170\1\141"+
-        "\1\164\1\162\1\160\1\163\2\151\1\164\1\141\1\155\1\141\1\162\1\156"+
-        "\1\154\1\145\1\154\1\143\1\145\1\146\1\145\1\172\1\163\1\145\2\170"+
-        "\1\160\1\143\1\142\1\105\1\164\1\162\1\156\1\164\1\uffff\1\172\2"+
-        "\uffff\1\141\1\151\1\120\1\160\1\154\1\151\1\172\1\162\1\145\2\164"+
-        "\1\151\1\154\1\145\1\142\1\141\1\147\1\145\1\172\1\145\1\151\1\156"+
-        "\1\151\1\172\1\uffff\1\163\1\156\2\160\1\145\1\164\1\151\1\170\1"+
-        "\150\1\145\1\165\1\151\1\uffff\1\156\1\164\1\104\1\162\1\104\1\166"+
-        "\1\170\1\uffff\1\145\1\105\1\145\1\151\1\157\1\120\1\164\1\151\1"+
-        "\154\1\114\1\172\1\uffff\1\114\2\164\1\143\1\uffff\1\151\1\164\3"+
-        "\162\1\117\1\154\1\160\1\145\1\117\2\157\1\117\1\145\1\106\1\145"+
-        "\1\151\1\145\1\160\1\163\1\170\1\162\1\157\1\156\1\141\1\145\1\154"+
-        "\1\172\1\151\1\uffff\1\151\1\106\1\151\1\141\1\157\1\172\2\145\1"+
-        "\141\1\170\1\160\1\151\1\162\1\163\1\170\1\160\1\165\1\156\1\160"+
-        "\1\162\1\172\2\163\1\105\1\162\1\163\1\160\1\141\1\156\1\172\2\162"+
-        "\1\151\1\uffff\2\164\1\165\1\141\1\164\1\156\1\uffff\2\163\1\164"+
-        "\1\160\1\145\1\164\1\145\1\151\1\160\1\145\1\163\1\172\1\145\1\141"+
-        "\1\uffff\1\163\1\164\1\170\1\145\1\151\1\162\1\154\1\105\1\uffff"+
-        "\1\141\1\163\1\164\2\145\1\156\1\154\1\151\1\172\2\163\1\151\2\162"+
-        "\1\171\2\163\2\162\1\123\1\uffff\1\162\1\154\1\151\1\162\1\160\1"+
-        "\163\1\157\1\145\1\172\1\170\1\155\1\172\1\171\2\162\1\143\1\104"+
-        "\1\157\1\uffff\2\151\1\157\1\145\1\141\1\115\1\163\1\172\1\145\3"+
-        "\141\1\172\1\157\1\151\1\162\1\163\1\156\1\163\1\uffff\1\160\1\145"+
-        "\1\uffff\1\172\2\141\1\164\1\151\1\156\2\157\1\156\1\163\1\164\1"+
-        "\141\1\151\1\uffff\1\163\1\164\1\155\1\164\1\uffff\1\156\1\142\1"+
-        "\145\1\151\1\172\1\163\1\162\1\164\1\uffff\2\154\1\151\1\163\1\172"+
-        "\2\156\2\163\1\151\1\163\1\157\1\163\1\151\1\160\1\157\1\172\1\165"+
-        "\1\163\1\157\1\uffff\1\151\2\145\2\172\1\157\1\164\1\uffff\3\172"+
-        "\1\151\1\157\1\163\1\156\1\151\1\157\1\154\1\162\1\157\1\uffff\1"+
-        "\164\1\163\1\156\1\157\1\163\1\162\2\uffff\1\156\1\162\3\uffff\1"+
-        "\157\1\156\1\106\1\172\1\157\1\156\1\145\1\105\1\156\2\151\1\172"+
-        "\1\156\1\163\2\172\1\151\1\156\1\163\1\165\1\uffff\1\156\1\163\1"+
-        "\172\1\170\1\163\2\157\1\uffff\1\172\1\151\2\uffff\1\142\2\172\1"+
-        "\156\2\172\1\uffff\1\160\1\172\2\156\1\uffff\1\157\1\165\2\uffff"+
-        "\1\143\2\uffff\1\162\1\uffff\2\172\1\156\2\164\1\145\2\uffff\1\172"+
-        "\2\151\1\163\1\uffff\2\157\1\163\2\156\1\151\2\172\1\157\2\uffff"+
-        "\1\156\1\172\1\uffff";
-    static final String DFA12_acceptS =
-        "\2\uffff\1\2\2\uffff\1\5\16\uffff\1\32\5\uffff\1\60\1\61\1\uffff"+
-        "\1\65\1\66\3\uffff\1\72\1\73\1\uffff\1\65\1\2\5\uffff\1\5\27\uffff"+
-        "\1\32\6\uffff\1\60\1\61\1\66\1\67\1\70\1\71\1\72\30\uffff\1\30\14"+
-        "\uffff\1\50\70\uffff\1\12\1\uffff\1\53\1\15\30\uffff\1\51\14\uffff"+
-        "\1\13\7\uffff\1\21\13\uffff\1\37\4\uffff\1\45\35\uffff\1\62\41\uffff"+
-        "\1\35\6\uffff\1\16\16\uffff\1\46\10\uffff\1\27\24\uffff\1\11\22"+
-        "\uffff\1\4\23\uffff\1\41\2\uffff\1\31\15\uffff\1\33\4\uffff\1\40"+
-        "\10\uffff\1\63\24\uffff\1\24\7\uffff\1\3\14\uffff\1\20\6\uffff\1"+
-        "\36\1\42\2\uffff\1\25\1\6\1\54\24\uffff\1\14\7\uffff\1\34\2\uffff"+
-        "\1\43\1\1\6\uffff\1\64\4\uffff\1\23\2\uffff\1\7\1\55\1\uffff\1\10"+
-        "\1\56\1\uffff\1\57\6\uffff\1\47\1\22\4\uffff\1\26\11\uffff\1\52"+
-        "\1\44\2\uffff\1\17";
-    static final String DFA12_specialS =
-        "\1\2\36\uffff\1\0\1\1\u0214\uffff}>";
-    static final String[] DFA12_transitionS = {
-            "\11\43\2\42\2\43\1\42\22\43\1\42\1\43\1\37\4\43\1\40\4\43\1"+
-            "\24\1\32\1\33\1\41\12\36\7\43\1\35\1\15\1\10\1\30\1\1\1\22\2"+
-            "\35\1\20\2\35\1\25\1\35\1\16\1\35\1\7\2\35\1\26\1\6\6\35\3\43"+
-            "\1\34\1\35\1\43\1\35\1\14\1\21\1\35\1\4\3\35\1\17\2\35\1\12"+
-            "\1\31\1\35\1\11\1\23\1\35\1\13\1\3\2\35\1\27\4\35\1\2\1\43\1"+
-            "\5\uff82\43",
-            "\1\44",
-            "",
-            "\1\50\7\uffff\1\51\6\uffff\1\47",
-            "\1\53\13\uffff\1\52",
-            "",
-            "\1\55",
-            "\1\60\15\uffff\1\57\2\uffff\1\56",
-            "\1\61",
-            "\1\62",
-            "\1\63",
-            "\1\65\7\uffff\1\64",
-            "\1\66",
-            "\1\67",
-            "\1\71\11\uffff\1\70",
-            "\1\74\1\uffff\1\73\7\uffff\1\72",
-            "\1\75\7\uffff\1\76",
-            "\1\77",
-            "\1\101\5\uffff\1\100",
-            "\1\102\20\uffff\1\103",
-            "",
-            "\1\105",
-            "\1\107\22\uffff\1\106",
-            "\1\110",
-            "\1\111",
-            "\1\112",
-            "",
-            "",
-            "\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "",
-            "\0\116",
-            "\0\116",
-            "\1\117\4\uffff\1\120",
-            "",
-            "",
-            "\1\122",
-            "",
-            "",
-            "\1\123",
-            "\1\124",
-            "\1\125",
-            "\1\126",
-            "\1\127",
-            "",
-            "\1\130",
-            "\1\131",
-            "\1\132",
-            "\1\133",
-            "\1\134\1\135",
-            "\1\136",
-            "\1\137",
-            "\1\140",
-            "\1\141",
-            "\1\142",
-            "\1\143\10\uffff\1\144",
-            "\1\146\1\uffff\1\145",
-            "\1\147",
-            "\1\150",
-            "\1\151",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\153",
-            "\1\154",
-            "\1\155",
-            "\1\156",
-            "\1\157",
-            "\1\160",
-            "\1\161",
-            "",
-            "\1\162",
-            "\1\163",
-            "\1\164",
-            "\1\165",
-            "\1\166",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\170\2\uffff\1\171",
-            "\1\172",
-            "\1\173",
-            "\1\174",
-            "\1\176\2\uffff\1\175",
-            "\1\177",
-            "\1\u0080",
-            "\1\u0082\1\uffff\1\u0081",
-            "\1\u0083",
-            "\1\u0084",
-            "\1\u0085",
-            "\1\u0086",
-            "\1\u0087",
-            "\1\u0088",
-            "\1\u0089",
-            "\1\u008a",
-            "\1\u008b",
-            "\1\u008c",
-            "\1\u008d",
-            "\1\u008e",
-            "\1\u008f",
-            "\1\u0090",
-            "\1\u0091",
-            "\1\u0092",
-            "",
-            "\1\u0093",
-            "\1\u0094",
-            "\1\u0095",
-            "\1\u0096",
-            "\1\u0097",
-            "\1\u0098",
-            "\1\u0099",
-            "\1\u009a",
-            "\1\u009b",
-            "\1\u009c",
-            "\1\u009d",
-            "\1\u009e",
-            "",
-            "\1\u009f",
-            "\1\u00a0",
-            "\1\u00a1",
-            "\1\u00a2",
-            "\1\u00a3",
-            "\1\u00a4",
-            "\1\u00a5",
-            "\1\u00a6",
-            "\1\u00a7\11\uffff\1\u00a8",
-            "\1\u00a9",
-            "\1\u00aa",
-            "\1\u00ab",
-            "\1\u00ac",
-            "\1\u00ad",
-            "\1\u00ae",
-            "\1\u00af",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u00b1",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u00b5\30\uffff\1\u00b4",
-            "\1\u00b6",
-            "\1\u00b7",
-            "\1\u00b8",
-            "\1\u00b9",
-            "\1\u00ba",
-            "\1\u00bb",
-            "\1\u00bc",
-            "\1\u00bd",
-            "\1\u00be",
-            "\1\u00bf",
-            "\1\u00c0",
-            "\1\u00c1",
-            "\1\u00c2",
-            "\1\u00c3",
-            "\1\u00c4",
-            "\1\u00c5",
-            "\1\u00c6",
-            "\1\u00c7",
-            "\1\u00c8",
-            "\1\u00c9",
-            "\1\u00ca",
-            "\1\u00cb",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u00cd",
-            "\1\u00ce",
-            "\1\u00cf",
-            "\1\u00d0",
-            "\1\u00d1",
-            "\1\u00d2",
-            "\1\u00d3",
-            "\1\u00d4",
-            "\1\u00d5",
-            "\1\u00d6",
-            "\1\u00d7",
-            "\1\u00d8",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "",
-            "\1\u00da",
-            "\1\u00db",
-            "\1\u00dc",
-            "\1\u00dd",
-            "\1\u00de",
-            "\1\u00df",
-            "\12\45\7\uffff\4\45\1\u00e0\25\45\4\uffff\1\45\1\uffff\32"+
-            "\45",
-            "\1\u00e2",
-            "\1\u00e3",
-            "\1\u00e4",
-            "\1\u00e5",
-            "\1\u00e6",
-            "\1\u00e7",
-            "\1\u00e8",
-            "\1\u00e9",
-            "\1\u00ea",
-            "\1\u00eb",
-            "\1\u00ec",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u00ee",
-            "\1\u00ef",
-            "\1\u00f0",
-            "\1\u00f1",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "\1\u00f3",
-            "\1\u00f4",
-            "\1\u00f5",
-            "\1\u00f6",
-            "\1\u00f7",
-            "\1\u00f8",
-            "\1\u00f9",
-            "\1\u00fa",
-            "\1\u00fb",
-            "\1\u00fc",
-            "\1\u00fd",
-            "\1\u00fe",
-            "",
-            "\1\u00ff",
-            "\1\u0100",
-            "\1\u0101",
-            "\1\u0102",
-            "\1\u0103",
-            "\1\u0104",
-            "\1\u0105",
-            "",
-            "\1\u0106",
-            "\1\u0107",
-            "\1\u0108",
-            "\1\u0109",
-            "\1\u010a",
-            "\1\u010b",
-            "\1\u010c",
-            "\1\u010d",
-            "\1\u010e",
-            "\1\u010f",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "\1\u0111",
-            "\1\u0112",
-            "\1\u0113",
-            "\1\u0114",
-            "",
-            "\1\u0115",
-            "\1\u0116",
-            "\1\u0117",
-            "\1\u0118",
-            "\1\u0119",
-            "\1\u011a\11\uffff\1\u011b",
-            "\1\u011c",
-            "\1\u011d",
-            "\1\u011e",
-            "\1\u011f\11\uffff\1\u0120",
-            "\1\u0121",
-            "\1\u0122",
-            "\1\u0123",
-            "\1\u0124",
-            "\1\u0125",
-            "\1\u0126",
-            "\1\u0127",
-            "\1\u0128",
-            "\1\u0129",
-            "\1\u012a",
-            "\1\u012b",
-            "\1\u012c",
-            "\1\u012d",
-            "\1\u012e",
-            "\1\u012f",
-            "\1\u0130",
-            "\1\u0131",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0133",
-            "",
-            "\1\u0134",
-            "\1\u0135",
-            "\1\u0136",
-            "\1\u0137",
-            "\1\u0138",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u013a",
-            "\1\u013b",
-            "\1\u013c",
-            "\1\u013d",
-            "\1\u013e",
-            "\1\u013f",
-            "\1\u0140",
-            "\1\u0141",
-            "\1\u0142",
-            "\1\u0143",
-            "\1\u0144",
-            "\1\u0145",
-            "\1\u0146",
-            "\1\u0147",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0149",
-            "\1\u014a",
-            "\1\u014b",
-            "\1\u014c",
-            "\1\u014d",
-            "\1\u014e",
-            "\1\u014f",
-            "\1\u0150",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0152",
-            "\1\u0153",
-            "\1\u0154",
-            "",
-            "\1\u0155",
-            "\1\u0156",
-            "\1\u0157",
-            "\1\u0158",
-            "\1\u0159",
-            "\1\u015a",
-            "",
-            "\1\u015b",
-            "\1\u015c",
-            "\1\u015d",
-            "\1\u015e",
-            "\1\u015f",
-            "\1\u0160",
-            "\1\u0161",
-            "\1\u0162",
-            "\1\u0163",
-            "\1\u0164",
-            "\1\u0165",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0167",
-            "\1\u0168",
-            "",
-            "\1\u0169",
-            "\1\u016a",
-            "\1\u016b",
-            "\1\u016c",
-            "\1\u016d",
-            "\1\u016e",
-            "\1\u016f",
-            "\1\u0170",
-            "",
-            "\1\u0171",
-            "\1\u0172",
-            "\1\u0173",
-            "\1\u0174",
-            "\1\u0175",
-            "\1\u0176",
-            "\1\u0177",
-            "\1\u0178",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u017a",
-            "\1\u017b",
-            "\1\u017c",
-            "\1\u017d",
-            "\1\u017e",
-            "\1\u017f",
-            "\1\u0180",
-            "\1\u0181",
-            "\1\u0182",
-            "\1\u0183",
-            "\1\u0184",
-            "",
-            "\1\u0185",
-            "\1\u0186",
-            "\1\u0187",
-            "\1\u0188",
-            "\1\u0189",
-            "\1\u018a",
-            "\1\u018b",
-            "\1\u018c",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u018e",
-            "\1\u018f",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0191",
-            "\1\u0192",
-            "\1\u0193",
-            "\1\u0194",
-            "\1\u0195",
-            "\1\u0196",
-            "",
-            "\1\u0197",
-            "\1\u0198",
-            "\1\u0199",
-            "\1\u019a",
-            "\1\u019b",
-            "\1\u019c",
-            "\1\u019d",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u019f",
-            "\1\u01a0",
-            "\1\u01a1",
-            "\1\u01a2",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01a4",
-            "\1\u01a5",
-            "\1\u01a6",
-            "\1\u01a7",
-            "\1\u01a8",
-            "\1\u01a9",
-            "",
-            "\1\u01aa",
-            "\1\u01ab",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01ad",
-            "\1\u01ae",
-            "\1\u01af",
-            "\1\u01b0",
-            "\1\u01b1",
-            "\1\u01b2",
-            "\1\u01b3",
-            "\1\u01b4",
-            "\1\u01b5",
-            "\1\u01b6",
-            "\1\u01b7",
-            "\1\u01b8",
-            "",
-            "\1\u01b9",
-            "\1\u01ba",
-            "\1\u01bb",
-            "\1\u01bc",
-            "",
-            "\1\u01bd",
-            "\1\u01be",
-            "\1\u01bf",
-            "\1\u01c0",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01c2",
-            "\1\u01c3",
-            "\1\u01c4",
-            "",
-            "\1\u01c5",
-            "\1\u01c6",
-            "\1\u01c7",
-            "\1\u01c8",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01ca",
-            "\1\u01cb",
-            "\1\u01cc",
-            "\1\u01cd",
-            "\1\u01ce",
-            "\1\u01cf",
-            "\1\u01d0",
-            "\1\u01d1",
-            "\1\u01d2",
-            "\1\u01d3",
-            "\1\u01d5\5\uffff\1\u01d4",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01d7",
-            "\1\u01d8",
-            "\1\u01d9",
-            "",
-            "\1\u01da",
-            "\1\u01db",
-            "\1\u01dc",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01df",
-            "\1\u01e0",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01e4",
-            "\1\u01e5",
-            "\1\u01e6",
-            "\1\u01e7",
-            "\1\u01e8",
-            "\1\u01e9",
-            "\1\u01ea",
-            "\1\u01eb",
-            "\1\u01ec",
-            "",
-            "\1\u01ed",
-            "\1\u01ee",
-            "\1\u01ef",
-            "\1\u01f0",
-            "\1\u01f1",
-            "\1\u01f2",
-            "",
-            "",
-            "\1\u01f3",
-            "\1\u01f4",
-            "",
-            "",
-            "",
-            "\1\u01f5",
-            "\1\u01f6",
-            "\1\u01f7",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u01f9",
-            "\1\u01fa",
-            "\1\u01fb",
-            "\1\u01fc",
-            "\1\u01fd",
-            "\1\u01fe",
-            "\1\u01ff",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0201",
-            "\1\u0202",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0205",
-            "\1\u0206",
-            "\1\u0207",
-            "\1\u0208",
-            "",
-            "\1\u0209",
-            "\1\u020a",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u020c",
-            "\1\u020d",
-            "\1\u020e",
-            "\1\u020f",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0211",
-            "",
-            "",
-            "\1\u0212",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0215",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "",
-            "\1\u0218",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u021a",
-            "\1\u021b",
-            "",
-            "\1\u021c",
-            "\1\u021d",
-            "",
-            "",
-            "\1\u021e",
-            "",
-            "",
-            "\1\u021f",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0222",
-            "\1\u0223",
-            "\1\u0224",
-            "\1\u0225",
-            "",
-            "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0227",
-            "\1\u0228",
-            "\1\u0229",
-            "",
-            "\1\u022a",
-            "\1\u022b",
-            "\1\u022c",
-            "\1\u022d",
-            "\1\u022e",
-            "\1\u022f",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0232",
-            "",
-            "",
-            "\1\u0233",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            ""
-    };
-
-    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
-    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
-    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
-    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
-    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
-    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
-    static final short[][] DFA12_transition;
-
-    static {
-        int numStates = DFA12_transitionS.length;
-        DFA12_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
-        }
-    }
-
-    static class DFA12 extends DFA {
-
-        public DFA12(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 12;
-            this.eot = DFA12_eot;
-            this.eof = DFA12_eof;
-            this.min = DFA12_min;
-            this.max = DFA12_max;
-            this.accept = DFA12_accept;
-            this.special = DFA12_special;
-            this.transition = DFA12_transition;
-        }
-        public String getDescription() {
-            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            IntStream input = _input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA12_31 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_31>='\u0000' && LA12_31<='\uFFFF')) ) {s = 78;}
-
-                        else s = 35;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA12_32 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_32>='\u0000' && LA12_32<='\uFFFF')) ) {s = 78;}
-
-                        else s = 35;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA12_0 = input.LA(1);
-
-                        s = -1;
-                        if ( (LA12_0=='E') ) {s = 1;}
-
-                        else if ( (LA12_0=='{') ) {s = 2;}
-
-                        else if ( (LA12_0=='s') ) {s = 3;}
-
-                        else if ( (LA12_0=='e') ) {s = 4;}
-
-                        else if ( (LA12_0=='}') ) {s = 5;}
-
-                        else if ( (LA12_0=='T') ) {s = 6;}
-
-                        else if ( (LA12_0=='P') ) {s = 7;}
-
-                        else if ( (LA12_0=='C') ) {s = 8;}
-
-                        else if ( (LA12_0=='o') ) {s = 9;}
-
-                        else if ( (LA12_0=='l') ) {s = 10;}
-
-                        else if ( (LA12_0=='r') ) {s = 11;}
-
-                        else if ( (LA12_0=='b') ) {s = 12;}
-
-                        else if ( (LA12_0=='B') ) {s = 13;}
-
-                        else if ( (LA12_0=='N') ) {s = 14;}
-
-                        else if ( (LA12_0=='i') ) {s = 15;}
-
-                        else if ( (LA12_0=='I') ) {s = 16;}
-
-                        else if ( (LA12_0=='c') ) {s = 17;}
-
-                        else if ( (LA12_0=='F') ) {s = 18;}
-
-                        else if ( (LA12_0=='p') ) {s = 19;}
-
-                        else if ( (LA12_0==',') ) {s = 20;}
-
-                        else if ( (LA12_0=='L') ) {s = 21;}
-
-                        else if ( (LA12_0=='S') ) {s = 22;}
-
-                        else if ( (LA12_0=='v') ) {s = 23;}
-
-                        else if ( (LA12_0=='D') ) {s = 24;}
-
-                        else if ( (LA12_0=='m') ) {s = 25;}
-
-                        else if ( (LA12_0=='-') ) {s = 26;}
-
-                        else if ( (LA12_0=='.') ) {s = 27;}
-
-                        else if ( (LA12_0=='^') ) {s = 28;}
-
-                        else if ( (LA12_0=='A'||(LA12_0>='G' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||LA12_0=='M'||LA12_0=='O'||(LA12_0>='Q' && LA12_0<='R')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='a'||LA12_0=='d'||(LA12_0>='f' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='k')||LA12_0=='n'||LA12_0=='q'||(LA12_0>='t' && LA12_0<='u')||(LA12_0>='w' && LA12_0<='z')) ) {s = 29;}
-
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 30;}
-
-                        else if ( (LA12_0=='\"') ) {s = 31;}
-
-                        else if ( (LA12_0=='\'') ) {s = 32;}
-
-                        else if ( (LA12_0=='/') ) {s = 33;}
-
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 34;}
-
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 35;}
-
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 12, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
- 
-
-}
\ No newline at end of file
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1Parser.java b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1Parser.java
deleted file mode 100644
index 00d5fbf277269959354cc4c6ee02e29b26bfdf8b..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1Parser.java
+++ /dev/null
@@ -1,8144 +0,0 @@
-package org.xtext.example.mydsl1.parser.antlr.internal; 
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import org.xtext.example.mydsl1.services.MyDsl1GrammarAccess;
-
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalMyDsl1Parser extends AbstractInternalAntlrParser {
-    public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'ExplicitFunction'", "'{'", "'specification'", "'expression'", "'}'", "'TermExpression'", "'ProductExpression'", "'CompareExpression'", "'operation'", "'left'", "'right'", "'PowerExpression'", "'base'", "'exponent'", "'BooleanOperatorExpression'", "'NotExpression'", "'inner'", "'NegativeExpression'", "'IfElseExpression'", "'ifExpression'", "'elseExpression'", "'conditionExpression'", "'Function'", "'id'", "'parameters'", "','", "'Parenthesis'", "'innerExpression'", "'Literal'", "'StringLiteral'", "'value'", "'BoolLiteral'", "'IntLiteral'", "'DoubleLiteral'", "'FormalParameter'", "'ProbabilityMassFunction'", "'sample'", "'BoxedPDF'", "'NormalDistribution'", "'mu'", "'sigma'", "'ExponentialDistribution'", "'rate'", "'TermOperations'", "'ProductOperations'", "'CompareOperations'", "'BooleanOperations'", "'-'", "'.'", "'Sample'", "'probability'", "'ContinuousSample'"
-    };
-    public static final int RULE_ID=5;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__62=62;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=10;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__61=61;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
-    public static final int T__58=58;
-    public static final int T__51=51;
-    public static final int T__16=16;
-    public static final int T__52=52;
-    public static final int T__15=15;
-    public static final int T__53=53;
-    public static final int T__18=18;
-    public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__12=12;
-    public static final int T__11=11;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
-    public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=8;
-    public static final int RULE_ML_COMMENT=7;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int RULE_STRING=4;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=9;
-
-    // delegates
-    // delegators
-
-
-        public InternalMyDsl1Parser(TokenStream input) {
-            this(input, new RecognizerSharedState());
-        }
-        public InternalMyDsl1Parser(TokenStream input, RecognizerSharedState state) {
-            super(input, state);
-             
-        }
-        
-
-    public String[] getTokenNames() { return InternalMyDsl1Parser.tokenNames; }
-    public String getGrammarFileName() { return "../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g"; }
-
-
-
-     	private MyDsl1GrammarAccess grammarAccess;
-     	
-        public InternalMyDsl1Parser(TokenStream input, MyDsl1GrammarAccess grammarAccess) {
-            this(input);
-            this.grammarAccess = grammarAccess;
-            registerRules(grammarAccess.getGrammar());
-        }
-        
-        @Override
-        protected String getFirstRuleName() {
-        	return "ExplicitFunction";	
-       	}
-       	
-       	@Override
-       	protected MyDsl1GrammarAccess getGrammarAccess() {
-       		return grammarAccess;
-       	}
-
-
-
-    // $ANTLR start "entryRuleExplicitFunction"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:67:1: entryRuleExplicitFunction returns [EObject current=null] : iv_ruleExplicitFunction= ruleExplicitFunction EOF ;
-    public final EObject entryRuleExplicitFunction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleExplicitFunction = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:68:2: (iv_ruleExplicitFunction= ruleExplicitFunction EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:69:2: iv_ruleExplicitFunction= ruleExplicitFunction EOF
-            {
-             newCompositeNode(grammarAccess.getExplicitFunctionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExplicitFunction_in_entryRuleExplicitFunction75);
-            iv_ruleExplicitFunction=ruleExplicitFunction();
-
-            state._fsp--;
-
-             current =iv_ruleExplicitFunction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExplicitFunction85); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExplicitFunction"
-
-
-    // $ANTLR start "ruleExplicitFunction"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:76:1: ruleExplicitFunction returns [EObject current=null] : ( () otherlv_1= 'ExplicitFunction' otherlv_2= '{' (otherlv_3= 'specification' ( (lv_specification_4_0= ruleEString ) ) )? (otherlv_5= 'expression' ( (lv_expression_6_0= ruleExpression ) ) )? otherlv_7= '}' ) ;
-    public final EObject ruleExplicitFunction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        AntlrDatatypeRuleToken lv_specification_4_0 = null;
-
-        EObject lv_expression_6_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:79:28: ( ( () otherlv_1= 'ExplicitFunction' otherlv_2= '{' (otherlv_3= 'specification' ( (lv_specification_4_0= ruleEString ) ) )? (otherlv_5= 'expression' ( (lv_expression_6_0= ruleExpression ) ) )? otherlv_7= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:80:1: ( () otherlv_1= 'ExplicitFunction' otherlv_2= '{' (otherlv_3= 'specification' ( (lv_specification_4_0= ruleEString ) ) )? (otherlv_5= 'expression' ( (lv_expression_6_0= ruleExpression ) ) )? otherlv_7= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:80:1: ( () otherlv_1= 'ExplicitFunction' otherlv_2= '{' (otherlv_3= 'specification' ( (lv_specification_4_0= ruleEString ) ) )? (otherlv_5= 'expression' ( (lv_expression_6_0= ruleExpression ) ) )? otherlv_7= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:80:2: () otherlv_1= 'ExplicitFunction' otherlv_2= '{' (otherlv_3= 'specification' ( (lv_specification_4_0= ruleEString ) ) )? (otherlv_5= 'expression' ( (lv_expression_6_0= ruleExpression ) ) )? otherlv_7= '}'
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:80:2: ()
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:81:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getExplicitFunctionAccess().getExplicitFunctionAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,11,FollowSets000.FOLLOW_11_in_ruleExplicitFunction131); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getExplicitFunctionAccess().getExplicitFunctionKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExplicitFunction143); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getExplicitFunctionAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:94:1: (otherlv_3= 'specification' ( (lv_specification_4_0= ruleEString ) ) )?
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0==13) ) {
-                alt1=1;
-            }
-            switch (alt1) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:94:3: otherlv_3= 'specification' ( (lv_specification_4_0= ruleEString ) )
-                    {
-                    otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleExplicitFunction156); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getExplicitFunctionAccess().getSpecificationKeyword_3_0());
-                        
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:98:1: ( (lv_specification_4_0= ruleEString ) )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:99:1: (lv_specification_4_0= ruleEString )
-                    {
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:99:1: (lv_specification_4_0= ruleEString )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:100:3: lv_specification_4_0= ruleEString
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getExplicitFunctionAccess().getSpecificationEStringParserRuleCall_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExplicitFunction177);
-                    lv_specification_4_0=ruleEString();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getExplicitFunctionRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"specification",
-                            		lv_specification_4_0, 
-                            		"EString");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:116:4: (otherlv_5= 'expression' ( (lv_expression_6_0= ruleExpression ) ) )?
-            int alt2=2;
-            int LA2_0 = input.LA(1);
-
-            if ( (LA2_0==14) ) {
-                alt2=1;
-            }
-            switch (alt2) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:116:6: otherlv_5= 'expression' ( (lv_expression_6_0= ruleExpression ) )
-                    {
-                    otherlv_5=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleExplicitFunction192); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getExplicitFunctionAccess().getExpressionKeyword_4_0());
-                        
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:120:1: ( (lv_expression_6_0= ruleExpression ) )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:121:1: (lv_expression_6_0= ruleExpression )
-                    {
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:121:1: (lv_expression_6_0= ruleExpression )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:122:3: lv_expression_6_0= ruleExpression
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getExplicitFunctionAccess().getExpressionExpressionParserRuleCall_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleExplicitFunction213);
-                    lv_expression_6_0=ruleExpression();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getExplicitFunctionRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"expression",
-                            		lv_expression_6_0, 
-                            		"Expression");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_7=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleExplicitFunction227); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getExplicitFunctionAccess().getRightCurlyBracketKeyword_5());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExplicitFunction"
-
-
-    // $ANTLR start "entryRuleExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:150: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.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:151:2: (iv_ruleExpression= ruleExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:152:2: iv_ruleExpression= ruleExpression EOF
-            {
-             newCompositeNode(grammarAccess.getExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_entryRuleExpression263);
-            iv_ruleExpression=ruleExpression();
-
-            state._fsp--;
-
-             current =iv_ruleExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression273); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExpression"
-
-
-    // $ANTLR start "ruleExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:159:1: ruleExpression returns [EObject current=null] : (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_CompareExpression_2= ruleCompareExpression | this_PowerExpression_3= rulePowerExpression | this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression | this_NotExpression_5= ruleNotExpression | this_NegativeExpression_6= ruleNegativeExpression | this_IfElseExpression_7= ruleIfElseExpression | this_Function_8= ruleFunction | this_Parenthesis_9= ruleParenthesis | this_Literal_Impl_10= ruleLiteral_Impl | this_StringLiteral_11= ruleStringLiteral | this_BoolLiteral_12= ruleBoolLiteral | this_IntLiteral_13= ruleIntLiteral | this_DoubleLiteral_14= ruleDoubleLiteral | this_FormalParameter_15= ruleFormalParameter | this_ProbabilityMassFunction_16= ruleProbabilityMassFunction | this_BoxedPDF_17= ruleBoxedPDF | this_NormalDistribution_18= ruleNormalDistribution | this_ExponentialDistribution_19= ruleExponentialDistribution ) ;
-    public final EObject ruleExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_TermExpression_0 = null;
-
-        EObject this_ProductExpression_1 = null;
-
-        EObject this_CompareExpression_2 = null;
-
-        EObject this_PowerExpression_3 = null;
-
-        EObject this_BooleanOperatorExpression_4 = null;
-
-        EObject this_NotExpression_5 = null;
-
-        EObject this_NegativeExpression_6 = null;
-
-        EObject this_IfElseExpression_7 = null;
-
-        EObject this_Function_8 = null;
-
-        EObject this_Parenthesis_9 = null;
-
-        EObject this_Literal_Impl_10 = null;
-
-        EObject this_StringLiteral_11 = null;
-
-        EObject this_BoolLiteral_12 = null;
-
-        EObject this_IntLiteral_13 = null;
-
-        EObject this_DoubleLiteral_14 = null;
-
-        EObject this_FormalParameter_15 = null;
-
-        EObject this_ProbabilityMassFunction_16 = null;
-
-        EObject this_BoxedPDF_17 = null;
-
-        EObject this_NormalDistribution_18 = null;
-
-        EObject this_ExponentialDistribution_19 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:162:28: ( (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_CompareExpression_2= ruleCompareExpression | this_PowerExpression_3= rulePowerExpression | this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression | this_NotExpression_5= ruleNotExpression | this_NegativeExpression_6= ruleNegativeExpression | this_IfElseExpression_7= ruleIfElseExpression | this_Function_8= ruleFunction | this_Parenthesis_9= ruleParenthesis | this_Literal_Impl_10= ruleLiteral_Impl | this_StringLiteral_11= ruleStringLiteral | this_BoolLiteral_12= ruleBoolLiteral | this_IntLiteral_13= ruleIntLiteral | this_DoubleLiteral_14= ruleDoubleLiteral | this_FormalParameter_15= ruleFormalParameter | this_ProbabilityMassFunction_16= ruleProbabilityMassFunction | this_BoxedPDF_17= ruleBoxedPDF | this_NormalDistribution_18= ruleNormalDistribution | this_ExponentialDistribution_19= ruleExponentialDistribution ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:163:1: (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_CompareExpression_2= ruleCompareExpression | this_PowerExpression_3= rulePowerExpression | this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression | this_NotExpression_5= ruleNotExpression | this_NegativeExpression_6= ruleNegativeExpression | this_IfElseExpression_7= ruleIfElseExpression | this_Function_8= ruleFunction | this_Parenthesis_9= ruleParenthesis | this_Literal_Impl_10= ruleLiteral_Impl | this_StringLiteral_11= ruleStringLiteral | this_BoolLiteral_12= ruleBoolLiteral | this_IntLiteral_13= ruleIntLiteral | this_DoubleLiteral_14= ruleDoubleLiteral | this_FormalParameter_15= ruleFormalParameter | this_ProbabilityMassFunction_16= ruleProbabilityMassFunction | this_BoxedPDF_17= ruleBoxedPDF | this_NormalDistribution_18= ruleNormalDistribution | this_ExponentialDistribution_19= ruleExponentialDistribution )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:163:1: (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_CompareExpression_2= ruleCompareExpression | this_PowerExpression_3= rulePowerExpression | this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression | this_NotExpression_5= ruleNotExpression | this_NegativeExpression_6= ruleNegativeExpression | this_IfElseExpression_7= ruleIfElseExpression | this_Function_8= ruleFunction | this_Parenthesis_9= ruleParenthesis | this_Literal_Impl_10= ruleLiteral_Impl | this_StringLiteral_11= ruleStringLiteral | this_BoolLiteral_12= ruleBoolLiteral | this_IntLiteral_13= ruleIntLiteral | this_DoubleLiteral_14= ruleDoubleLiteral | this_FormalParameter_15= ruleFormalParameter | this_ProbabilityMassFunction_16= ruleProbabilityMassFunction | this_BoxedPDF_17= ruleBoxedPDF | this_NormalDistribution_18= ruleNormalDistribution | this_ExponentialDistribution_19= ruleExponentialDistribution )
-            int alt3=20;
-            switch ( input.LA(1) ) {
-            case 16:
-                {
-                alt3=1;
-                }
-                break;
-            case 17:
-                {
-                alt3=2;
-                }
-                break;
-            case 18:
-                {
-                alt3=3;
-                }
-                break;
-            case 22:
-                {
-                alt3=4;
-                }
-                break;
-            case 25:
-                {
-                alt3=5;
-                }
-                break;
-            case 26:
-                {
-                alt3=6;
-                }
-                break;
-            case 28:
-                {
-                alt3=7;
-                }
-                break;
-            case 29:
-                {
-                alt3=8;
-                }
-                break;
-            case 33:
-                {
-                alt3=9;
-                }
-                break;
-            case 37:
-                {
-                alt3=10;
-                }
-                break;
-            case 39:
-                {
-                alt3=11;
-                }
-                break;
-            case 40:
-                {
-                alt3=12;
-                }
-                break;
-            case 41:
-                {
-                alt3=13;
-                }
-                break;
-            case 43:
-                {
-                alt3=14;
-                }
-                break;
-            case 44:
-                {
-                alt3=15;
-                }
-                break;
-            case 45:
-                {
-                alt3=16;
-                }
-                break;
-            case 46:
-                {
-                alt3=17;
-                }
-                break;
-            case 48:
-                {
-                alt3=18;
-                }
-                break;
-            case 49:
-                {
-                alt3=19;
-                }
-                break;
-            case 52:
-                {
-                alt3=20;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt3) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:164:5: this_TermExpression_0= ruleTermExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getTermExpressionParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleTermExpression_in_ruleExpression320);
-                    this_TermExpression_0=ruleTermExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_TermExpression_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:174:5: this_ProductExpression_1= ruleProductExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getProductExpressionParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_ruleExpression347);
-                    this_ProductExpression_1=ruleProductExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProductExpression_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:184:5: this_CompareExpression_2= ruleCompareExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getCompareExpressionParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleCompareExpression_in_ruleExpression374);
-                    this_CompareExpression_2=ruleCompareExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_CompareExpression_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:194:5: this_PowerExpression_3= rulePowerExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getPowerExpressionParserRuleCall_3()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_ruleExpression401);
-                    this_PowerExpression_3=rulePowerExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_PowerExpression_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:204:5: this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBooleanOperatorExpression_in_ruleExpression428);
-                    this_BooleanOperatorExpression_4=ruleBooleanOperatorExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_BooleanOperatorExpression_4; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:214:5: this_NotExpression_5= ruleNotExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getNotExpressionParserRuleCall_5()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_ruleExpression455);
-                    this_NotExpression_5=ruleNotExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NotExpression_5; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:224:5: this_NegativeExpression_6= ruleNegativeExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getNegativeExpressionParserRuleCall_6()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_ruleExpression482);
-                    this_NegativeExpression_6=ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NegativeExpression_6; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:234:5: this_IfElseExpression_7= ruleIfElseExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getIfElseExpressionParserRuleCall_7()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleIfElseExpression_in_ruleExpression509);
-                    this_IfElseExpression_7=ruleIfElseExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_IfElseExpression_7; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:244:5: this_Function_8= ruleFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getFunctionParserRuleCall_8()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_ruleExpression536);
-                    this_Function_8=ruleFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_Function_8; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:254:5: this_Parenthesis_9= ruleParenthesis
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getParenthesisParserRuleCall_9()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_ruleExpression563);
-                    this_Parenthesis_9=ruleParenthesis();
-
-                    state._fsp--;
-
-                     
-                            current = this_Parenthesis_9; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:264:5: this_Literal_Impl_10= ruleLiteral_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getLiteral_ImplParserRuleCall_10()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_ruleExpression590);
-                    this_Literal_Impl_10=ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_Literal_Impl_10; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:274:5: this_StringLiteral_11= ruleStringLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getStringLiteralParserRuleCall_11()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleExpression617);
-                    this_StringLiteral_11=ruleStringLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_StringLiteral_11; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:284:5: this_BoolLiteral_12= ruleBoolLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getBoolLiteralParserRuleCall_12()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_ruleExpression644);
-                    this_BoolLiteral_12=ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoolLiteral_12; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:294:5: this_IntLiteral_13= ruleIntLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getIntLiteralParserRuleCall_13()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_ruleExpression671);
-                    this_IntLiteral_13=ruleIntLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_IntLiteral_13; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:304:5: this_DoubleLiteral_14= ruleDoubleLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getDoubleLiteralParserRuleCall_14()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_ruleExpression698);
-                    this_DoubleLiteral_14=ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_DoubleLiteral_14; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 16 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:314:5: this_FormalParameter_15= ruleFormalParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getFormalParameterParserRuleCall_15()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_ruleExpression725);
-                    this_FormalParameter_15=ruleFormalParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_FormalParameter_15; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 17 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:324:5: this_ProbabilityMassFunction_16= ruleProbabilityMassFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getProbabilityMassFunctionParserRuleCall_16()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_ruleExpression752);
-                    this_ProbabilityMassFunction_16=ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProbabilityMassFunction_16; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 18 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:334:5: this_BoxedPDF_17= ruleBoxedPDF
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getBoxedPDFParserRuleCall_17()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_ruleExpression779);
-                    this_BoxedPDF_17=ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoxedPDF_17; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 19 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:344:5: this_NormalDistribution_18= ruleNormalDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getNormalDistributionParserRuleCall_18()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_ruleExpression806);
-                    this_NormalDistribution_18=ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_NormalDistribution_18; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 20 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:354:5: this_ExponentialDistribution_19= ruleExponentialDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getExpressionAccess().getExponentialDistributionParserRuleCall_19()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_ruleExpression833);
-                    this_ExponentialDistribution_19=ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExponentialDistribution_19; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExpression"
-
-
-    // $ANTLR start "entryRuleTerm"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:370:1: entryRuleTerm returns [EObject current=null] : iv_ruleTerm= ruleTerm EOF ;
-    public final EObject entryRuleTerm() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleTerm = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:371:2: (iv_ruleTerm= ruleTerm EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:372:2: iv_ruleTerm= ruleTerm EOF
-            {
-             newCompositeNode(grammarAccess.getTermRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_entryRuleTerm868);
-            iv_ruleTerm=ruleTerm();
-
-            state._fsp--;
-
-             current =iv_ruleTerm; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTerm878); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleTerm"
-
-
-    // $ANTLR start "ruleTerm"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:379:1: ruleTerm returns [EObject current=null] : (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_PowerExpression_2= rulePowerExpression | this_NotExpression_3= ruleNotExpression | this_NegativeExpression_4= ruleNegativeExpression | this_Function_5= ruleFunction | this_Parenthesis_6= ruleParenthesis | this_Literal_Impl_7= ruleLiteral_Impl | this_StringLiteral_8= ruleStringLiteral | this_BoolLiteral_9= ruleBoolLiteral | this_IntLiteral_10= ruleIntLiteral | this_DoubleLiteral_11= ruleDoubleLiteral | this_FormalParameter_12= ruleFormalParameter | this_ProbabilityMassFunction_13= ruleProbabilityMassFunction | this_BoxedPDF_14= ruleBoxedPDF | this_NormalDistribution_15= ruleNormalDistribution | this_ExponentialDistribution_16= ruleExponentialDistribution ) ;
-    public final EObject ruleTerm() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_TermExpression_0 = null;
-
-        EObject this_ProductExpression_1 = null;
-
-        EObject this_PowerExpression_2 = null;
-
-        EObject this_NotExpression_3 = null;
-
-        EObject this_NegativeExpression_4 = null;
-
-        EObject this_Function_5 = null;
-
-        EObject this_Parenthesis_6 = null;
-
-        EObject this_Literal_Impl_7 = null;
-
-        EObject this_StringLiteral_8 = null;
-
-        EObject this_BoolLiteral_9 = null;
-
-        EObject this_IntLiteral_10 = null;
-
-        EObject this_DoubleLiteral_11 = null;
-
-        EObject this_FormalParameter_12 = null;
-
-        EObject this_ProbabilityMassFunction_13 = null;
-
-        EObject this_BoxedPDF_14 = null;
-
-        EObject this_NormalDistribution_15 = null;
-
-        EObject this_ExponentialDistribution_16 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:382:28: ( (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_PowerExpression_2= rulePowerExpression | this_NotExpression_3= ruleNotExpression | this_NegativeExpression_4= ruleNegativeExpression | this_Function_5= ruleFunction | this_Parenthesis_6= ruleParenthesis | this_Literal_Impl_7= ruleLiteral_Impl | this_StringLiteral_8= ruleStringLiteral | this_BoolLiteral_9= ruleBoolLiteral | this_IntLiteral_10= ruleIntLiteral | this_DoubleLiteral_11= ruleDoubleLiteral | this_FormalParameter_12= ruleFormalParameter | this_ProbabilityMassFunction_13= ruleProbabilityMassFunction | this_BoxedPDF_14= ruleBoxedPDF | this_NormalDistribution_15= ruleNormalDistribution | this_ExponentialDistribution_16= ruleExponentialDistribution ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:383:1: (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_PowerExpression_2= rulePowerExpression | this_NotExpression_3= ruleNotExpression | this_NegativeExpression_4= ruleNegativeExpression | this_Function_5= ruleFunction | this_Parenthesis_6= ruleParenthesis | this_Literal_Impl_7= ruleLiteral_Impl | this_StringLiteral_8= ruleStringLiteral | this_BoolLiteral_9= ruleBoolLiteral | this_IntLiteral_10= ruleIntLiteral | this_DoubleLiteral_11= ruleDoubleLiteral | this_FormalParameter_12= ruleFormalParameter | this_ProbabilityMassFunction_13= ruleProbabilityMassFunction | this_BoxedPDF_14= ruleBoxedPDF | this_NormalDistribution_15= ruleNormalDistribution | this_ExponentialDistribution_16= ruleExponentialDistribution )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:383:1: (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_PowerExpression_2= rulePowerExpression | this_NotExpression_3= ruleNotExpression | this_NegativeExpression_4= ruleNegativeExpression | this_Function_5= ruleFunction | this_Parenthesis_6= ruleParenthesis | this_Literal_Impl_7= ruleLiteral_Impl | this_StringLiteral_8= ruleStringLiteral | this_BoolLiteral_9= ruleBoolLiteral | this_IntLiteral_10= ruleIntLiteral | this_DoubleLiteral_11= ruleDoubleLiteral | this_FormalParameter_12= ruleFormalParameter | this_ProbabilityMassFunction_13= ruleProbabilityMassFunction | this_BoxedPDF_14= ruleBoxedPDF | this_NormalDistribution_15= ruleNormalDistribution | this_ExponentialDistribution_16= ruleExponentialDistribution )
-            int alt4=17;
-            switch ( input.LA(1) ) {
-            case 16:
-                {
-                alt4=1;
-                }
-                break;
-            case 17:
-                {
-                alt4=2;
-                }
-                break;
-            case 22:
-                {
-                alt4=3;
-                }
-                break;
-            case 26:
-                {
-                alt4=4;
-                }
-                break;
-            case 28:
-                {
-                alt4=5;
-                }
-                break;
-            case 33:
-                {
-                alt4=6;
-                }
-                break;
-            case 37:
-                {
-                alt4=7;
-                }
-                break;
-            case 39:
-                {
-                alt4=8;
-                }
-                break;
-            case 40:
-                {
-                alt4=9;
-                }
-                break;
-            case 41:
-                {
-                alt4=10;
-                }
-                break;
-            case 43:
-                {
-                alt4=11;
-                }
-                break;
-            case 44:
-                {
-                alt4=12;
-                }
-                break;
-            case 45:
-                {
-                alt4=13;
-                }
-                break;
-            case 46:
-                {
-                alt4=14;
-                }
-                break;
-            case 48:
-                {
-                alt4=15;
-                }
-                break;
-            case 49:
-                {
-                alt4=16;
-                }
-                break;
-            case 52:
-                {
-                alt4=17;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 4, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt4) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:384:5: this_TermExpression_0= ruleTermExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getTermExpressionParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleTermExpression_in_ruleTerm925);
-                    this_TermExpression_0=ruleTermExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_TermExpression_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:394:5: this_ProductExpression_1= ruleProductExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getProductExpressionParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_ruleTerm952);
-                    this_ProductExpression_1=ruleProductExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProductExpression_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:404:5: this_PowerExpression_2= rulePowerExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getPowerExpressionParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_ruleTerm979);
-                    this_PowerExpression_2=rulePowerExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_PowerExpression_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:414:5: this_NotExpression_3= ruleNotExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getNotExpressionParserRuleCall_3()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_ruleTerm1006);
-                    this_NotExpression_3=ruleNotExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NotExpression_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:424:5: this_NegativeExpression_4= ruleNegativeExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getNegativeExpressionParserRuleCall_4()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_ruleTerm1033);
-                    this_NegativeExpression_4=ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NegativeExpression_4; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:434:5: this_Function_5= ruleFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getFunctionParserRuleCall_5()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_ruleTerm1060);
-                    this_Function_5=ruleFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_Function_5; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:444:5: this_Parenthesis_6= ruleParenthesis
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getParenthesisParserRuleCall_6()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_ruleTerm1087);
-                    this_Parenthesis_6=ruleParenthesis();
-
-                    state._fsp--;
-
-                     
-                            current = this_Parenthesis_6; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:454:5: this_Literal_Impl_7= ruleLiteral_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getLiteral_ImplParserRuleCall_7()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_ruleTerm1114);
-                    this_Literal_Impl_7=ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_Literal_Impl_7; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:464:5: this_StringLiteral_8= ruleStringLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getStringLiteralParserRuleCall_8()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleTerm1141);
-                    this_StringLiteral_8=ruleStringLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_StringLiteral_8; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:474:5: this_BoolLiteral_9= ruleBoolLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getBoolLiteralParserRuleCall_9()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_ruleTerm1168);
-                    this_BoolLiteral_9=ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoolLiteral_9; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:484:5: this_IntLiteral_10= ruleIntLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getIntLiteralParserRuleCall_10()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_ruleTerm1195);
-                    this_IntLiteral_10=ruleIntLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_IntLiteral_10; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:494:5: this_DoubleLiteral_11= ruleDoubleLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getDoubleLiteralParserRuleCall_11()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_ruleTerm1222);
-                    this_DoubleLiteral_11=ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_DoubleLiteral_11; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:504:5: this_FormalParameter_12= ruleFormalParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getFormalParameterParserRuleCall_12()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_ruleTerm1249);
-                    this_FormalParameter_12=ruleFormalParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_FormalParameter_12; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:514:5: this_ProbabilityMassFunction_13= ruleProbabilityMassFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getProbabilityMassFunctionParserRuleCall_13()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_ruleTerm1276);
-                    this_ProbabilityMassFunction_13=ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProbabilityMassFunction_13; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:524:5: this_BoxedPDF_14= ruleBoxedPDF
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getBoxedPDFParserRuleCall_14()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_ruleTerm1303);
-                    this_BoxedPDF_14=ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoxedPDF_14; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 16 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:534:5: this_NormalDistribution_15= ruleNormalDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getNormalDistributionParserRuleCall_15()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_ruleTerm1330);
-                    this_NormalDistribution_15=ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_NormalDistribution_15; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 17 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:544:5: this_ExponentialDistribution_16= ruleExponentialDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getTermAccess().getExponentialDistributionParserRuleCall_16()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_ruleTerm1357);
-                    this_ExponentialDistribution_16=ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExponentialDistribution_16; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleTerm"
-
-
-    // $ANTLR start "entryRuleProduct"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:560:1: entryRuleProduct returns [EObject current=null] : iv_ruleProduct= ruleProduct EOF ;
-    public final EObject entryRuleProduct() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProduct = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:561:2: (iv_ruleProduct= ruleProduct EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:562:2: iv_ruleProduct= ruleProduct EOF
-            {
-             newCompositeNode(grammarAccess.getProductRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProduct_in_entryRuleProduct1392);
-            iv_ruleProduct=ruleProduct();
-
-            state._fsp--;
-
-             current =iv_ruleProduct; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProduct1402); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProduct"
-
-
-    // $ANTLR start "ruleProduct"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:569:1: ruleProduct returns [EObject current=null] : (this_ProductExpression_0= ruleProductExpression | this_PowerExpression_1= rulePowerExpression | this_NotExpression_2= ruleNotExpression | this_NegativeExpression_3= ruleNegativeExpression | this_Function_4= ruleFunction | this_Parenthesis_5= ruleParenthesis | this_Literal_Impl_6= ruleLiteral_Impl | this_StringLiteral_7= ruleStringLiteral | this_BoolLiteral_8= ruleBoolLiteral | this_IntLiteral_9= ruleIntLiteral | this_DoubleLiteral_10= ruleDoubleLiteral | this_FormalParameter_11= ruleFormalParameter | this_ProbabilityMassFunction_12= ruleProbabilityMassFunction | this_BoxedPDF_13= ruleBoxedPDF | this_NormalDistribution_14= ruleNormalDistribution | this_ExponentialDistribution_15= ruleExponentialDistribution ) ;
-    public final EObject ruleProduct() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_ProductExpression_0 = null;
-
-        EObject this_PowerExpression_1 = null;
-
-        EObject this_NotExpression_2 = null;
-
-        EObject this_NegativeExpression_3 = null;
-
-        EObject this_Function_4 = null;
-
-        EObject this_Parenthesis_5 = null;
-
-        EObject this_Literal_Impl_6 = null;
-
-        EObject this_StringLiteral_7 = null;
-
-        EObject this_BoolLiteral_8 = null;
-
-        EObject this_IntLiteral_9 = null;
-
-        EObject this_DoubleLiteral_10 = null;
-
-        EObject this_FormalParameter_11 = null;
-
-        EObject this_ProbabilityMassFunction_12 = null;
-
-        EObject this_BoxedPDF_13 = null;
-
-        EObject this_NormalDistribution_14 = null;
-
-        EObject this_ExponentialDistribution_15 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:572:28: ( (this_ProductExpression_0= ruleProductExpression | this_PowerExpression_1= rulePowerExpression | this_NotExpression_2= ruleNotExpression | this_NegativeExpression_3= ruleNegativeExpression | this_Function_4= ruleFunction | this_Parenthesis_5= ruleParenthesis | this_Literal_Impl_6= ruleLiteral_Impl | this_StringLiteral_7= ruleStringLiteral | this_BoolLiteral_8= ruleBoolLiteral | this_IntLiteral_9= ruleIntLiteral | this_DoubleLiteral_10= ruleDoubleLiteral | this_FormalParameter_11= ruleFormalParameter | this_ProbabilityMassFunction_12= ruleProbabilityMassFunction | this_BoxedPDF_13= ruleBoxedPDF | this_NormalDistribution_14= ruleNormalDistribution | this_ExponentialDistribution_15= ruleExponentialDistribution ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:573:1: (this_ProductExpression_0= ruleProductExpression | this_PowerExpression_1= rulePowerExpression | this_NotExpression_2= ruleNotExpression | this_NegativeExpression_3= ruleNegativeExpression | this_Function_4= ruleFunction | this_Parenthesis_5= ruleParenthesis | this_Literal_Impl_6= ruleLiteral_Impl | this_StringLiteral_7= ruleStringLiteral | this_BoolLiteral_8= ruleBoolLiteral | this_IntLiteral_9= ruleIntLiteral | this_DoubleLiteral_10= ruleDoubleLiteral | this_FormalParameter_11= ruleFormalParameter | this_ProbabilityMassFunction_12= ruleProbabilityMassFunction | this_BoxedPDF_13= ruleBoxedPDF | this_NormalDistribution_14= ruleNormalDistribution | this_ExponentialDistribution_15= ruleExponentialDistribution )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:573:1: (this_ProductExpression_0= ruleProductExpression | this_PowerExpression_1= rulePowerExpression | this_NotExpression_2= ruleNotExpression | this_NegativeExpression_3= ruleNegativeExpression | this_Function_4= ruleFunction | this_Parenthesis_5= ruleParenthesis | this_Literal_Impl_6= ruleLiteral_Impl | this_StringLiteral_7= ruleStringLiteral | this_BoolLiteral_8= ruleBoolLiteral | this_IntLiteral_9= ruleIntLiteral | this_DoubleLiteral_10= ruleDoubleLiteral | this_FormalParameter_11= ruleFormalParameter | this_ProbabilityMassFunction_12= ruleProbabilityMassFunction | this_BoxedPDF_13= ruleBoxedPDF | this_NormalDistribution_14= ruleNormalDistribution | this_ExponentialDistribution_15= ruleExponentialDistribution )
-            int alt5=16;
-            switch ( input.LA(1) ) {
-            case 17:
-                {
-                alt5=1;
-                }
-                break;
-            case 22:
-                {
-                alt5=2;
-                }
-                break;
-            case 26:
-                {
-                alt5=3;
-                }
-                break;
-            case 28:
-                {
-                alt5=4;
-                }
-                break;
-            case 33:
-                {
-                alt5=5;
-                }
-                break;
-            case 37:
-                {
-                alt5=6;
-                }
-                break;
-            case 39:
-                {
-                alt5=7;
-                }
-                break;
-            case 40:
-                {
-                alt5=8;
-                }
-                break;
-            case 41:
-                {
-                alt5=9;
-                }
-                break;
-            case 43:
-                {
-                alt5=10;
-                }
-                break;
-            case 44:
-                {
-                alt5=11;
-                }
-                break;
-            case 45:
-                {
-                alt5=12;
-                }
-                break;
-            case 46:
-                {
-                alt5=13;
-                }
-                break;
-            case 48:
-                {
-                alt5=14;
-                }
-                break;
-            case 49:
-                {
-                alt5=15;
-                }
-                break;
-            case 52:
-                {
-                alt5=16;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 5, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt5) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:574:5: this_ProductExpression_0= ruleProductExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getProductExpressionParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_ruleProduct1449);
-                    this_ProductExpression_0=ruleProductExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProductExpression_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:584:5: this_PowerExpression_1= rulePowerExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getPowerExpressionParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_ruleProduct1476);
-                    this_PowerExpression_1=rulePowerExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_PowerExpression_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:594:5: this_NotExpression_2= ruleNotExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getNotExpressionParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_ruleProduct1503);
-                    this_NotExpression_2=ruleNotExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NotExpression_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:604:5: this_NegativeExpression_3= ruleNegativeExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getNegativeExpressionParserRuleCall_3()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_ruleProduct1530);
-                    this_NegativeExpression_3=ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NegativeExpression_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:614:5: this_Function_4= ruleFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getFunctionParserRuleCall_4()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_ruleProduct1557);
-                    this_Function_4=ruleFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_Function_4; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:624:5: this_Parenthesis_5= ruleParenthesis
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getParenthesisParserRuleCall_5()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_ruleProduct1584);
-                    this_Parenthesis_5=ruleParenthesis();
-
-                    state._fsp--;
-
-                     
-                            current = this_Parenthesis_5; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:634:5: this_Literal_Impl_6= ruleLiteral_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getLiteral_ImplParserRuleCall_6()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_ruleProduct1611);
-                    this_Literal_Impl_6=ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_Literal_Impl_6; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:644:5: this_StringLiteral_7= ruleStringLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getStringLiteralParserRuleCall_7()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleProduct1638);
-                    this_StringLiteral_7=ruleStringLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_StringLiteral_7; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:654:5: this_BoolLiteral_8= ruleBoolLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getBoolLiteralParserRuleCall_8()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_ruleProduct1665);
-                    this_BoolLiteral_8=ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoolLiteral_8; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:664:5: this_IntLiteral_9= ruleIntLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getIntLiteralParserRuleCall_9()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_ruleProduct1692);
-                    this_IntLiteral_9=ruleIntLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_IntLiteral_9; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:674:5: this_DoubleLiteral_10= ruleDoubleLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getDoubleLiteralParserRuleCall_10()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_ruleProduct1719);
-                    this_DoubleLiteral_10=ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_DoubleLiteral_10; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:684:5: this_FormalParameter_11= ruleFormalParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getFormalParameterParserRuleCall_11()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_ruleProduct1746);
-                    this_FormalParameter_11=ruleFormalParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_FormalParameter_11; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:694:5: this_ProbabilityMassFunction_12= ruleProbabilityMassFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getProbabilityMassFunctionParserRuleCall_12()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_ruleProduct1773);
-                    this_ProbabilityMassFunction_12=ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProbabilityMassFunction_12; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:704:5: this_BoxedPDF_13= ruleBoxedPDF
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getBoxedPDFParserRuleCall_13()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_ruleProduct1800);
-                    this_BoxedPDF_13=ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoxedPDF_13; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:714:5: this_NormalDistribution_14= ruleNormalDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getNormalDistributionParserRuleCall_14()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_ruleProduct1827);
-                    this_NormalDistribution_14=ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_NormalDistribution_14; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 16 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:724:5: this_ExponentialDistribution_15= ruleExponentialDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getProductAccess().getExponentialDistributionParserRuleCall_15()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_ruleProduct1854);
-                    this_ExponentialDistribution_15=ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExponentialDistribution_15; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProduct"
-
-
-    // $ANTLR start "entryRulePower"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:740:1: entryRulePower returns [EObject current=null] : iv_rulePower= rulePower EOF ;
-    public final EObject entryRulePower() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_rulePower = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:741:2: (iv_rulePower= rulePower EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:742:2: iv_rulePower= rulePower EOF
-            {
-             newCompositeNode(grammarAccess.getPowerRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePower_in_entryRulePower1889);
-            iv_rulePower=rulePower();
-
-            state._fsp--;
-
-             current =iv_rulePower; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePower1899); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRulePower"
-
-
-    // $ANTLR start "rulePower"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:749:1: rulePower returns [EObject current=null] : (this_PowerExpression_0= rulePowerExpression | this_NotExpression_1= ruleNotExpression | this_NegativeExpression_2= ruleNegativeExpression | this_Function_3= ruleFunction | this_Parenthesis_4= ruleParenthesis | this_Literal_Impl_5= ruleLiteral_Impl | this_StringLiteral_6= ruleStringLiteral | this_BoolLiteral_7= ruleBoolLiteral | this_IntLiteral_8= ruleIntLiteral | this_DoubleLiteral_9= ruleDoubleLiteral | this_FormalParameter_10= ruleFormalParameter | this_ProbabilityMassFunction_11= ruleProbabilityMassFunction | this_BoxedPDF_12= ruleBoxedPDF | this_NormalDistribution_13= ruleNormalDistribution | this_ExponentialDistribution_14= ruleExponentialDistribution ) ;
-    public final EObject rulePower() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_PowerExpression_0 = null;
-
-        EObject this_NotExpression_1 = null;
-
-        EObject this_NegativeExpression_2 = null;
-
-        EObject this_Function_3 = null;
-
-        EObject this_Parenthesis_4 = null;
-
-        EObject this_Literal_Impl_5 = null;
-
-        EObject this_StringLiteral_6 = null;
-
-        EObject this_BoolLiteral_7 = null;
-
-        EObject this_IntLiteral_8 = null;
-
-        EObject this_DoubleLiteral_9 = null;
-
-        EObject this_FormalParameter_10 = null;
-
-        EObject this_ProbabilityMassFunction_11 = null;
-
-        EObject this_BoxedPDF_12 = null;
-
-        EObject this_NormalDistribution_13 = null;
-
-        EObject this_ExponentialDistribution_14 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:752:28: ( (this_PowerExpression_0= rulePowerExpression | this_NotExpression_1= ruleNotExpression | this_NegativeExpression_2= ruleNegativeExpression | this_Function_3= ruleFunction | this_Parenthesis_4= ruleParenthesis | this_Literal_Impl_5= ruleLiteral_Impl | this_StringLiteral_6= ruleStringLiteral | this_BoolLiteral_7= ruleBoolLiteral | this_IntLiteral_8= ruleIntLiteral | this_DoubleLiteral_9= ruleDoubleLiteral | this_FormalParameter_10= ruleFormalParameter | this_ProbabilityMassFunction_11= ruleProbabilityMassFunction | this_BoxedPDF_12= ruleBoxedPDF | this_NormalDistribution_13= ruleNormalDistribution | this_ExponentialDistribution_14= ruleExponentialDistribution ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:753:1: (this_PowerExpression_0= rulePowerExpression | this_NotExpression_1= ruleNotExpression | this_NegativeExpression_2= ruleNegativeExpression | this_Function_3= ruleFunction | this_Parenthesis_4= ruleParenthesis | this_Literal_Impl_5= ruleLiteral_Impl | this_StringLiteral_6= ruleStringLiteral | this_BoolLiteral_7= ruleBoolLiteral | this_IntLiteral_8= ruleIntLiteral | this_DoubleLiteral_9= ruleDoubleLiteral | this_FormalParameter_10= ruleFormalParameter | this_ProbabilityMassFunction_11= ruleProbabilityMassFunction | this_BoxedPDF_12= ruleBoxedPDF | this_NormalDistribution_13= ruleNormalDistribution | this_ExponentialDistribution_14= ruleExponentialDistribution )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:753:1: (this_PowerExpression_0= rulePowerExpression | this_NotExpression_1= ruleNotExpression | this_NegativeExpression_2= ruleNegativeExpression | this_Function_3= ruleFunction | this_Parenthesis_4= ruleParenthesis | this_Literal_Impl_5= ruleLiteral_Impl | this_StringLiteral_6= ruleStringLiteral | this_BoolLiteral_7= ruleBoolLiteral | this_IntLiteral_8= ruleIntLiteral | this_DoubleLiteral_9= ruleDoubleLiteral | this_FormalParameter_10= ruleFormalParameter | this_ProbabilityMassFunction_11= ruleProbabilityMassFunction | this_BoxedPDF_12= ruleBoxedPDF | this_NormalDistribution_13= ruleNormalDistribution | this_ExponentialDistribution_14= ruleExponentialDistribution )
-            int alt6=15;
-            switch ( input.LA(1) ) {
-            case 22:
-                {
-                alt6=1;
-                }
-                break;
-            case 26:
-                {
-                alt6=2;
-                }
-                break;
-            case 28:
-                {
-                alt6=3;
-                }
-                break;
-            case 33:
-                {
-                alt6=4;
-                }
-                break;
-            case 37:
-                {
-                alt6=5;
-                }
-                break;
-            case 39:
-                {
-                alt6=6;
-                }
-                break;
-            case 40:
-                {
-                alt6=7;
-                }
-                break;
-            case 41:
-                {
-                alt6=8;
-                }
-                break;
-            case 43:
-                {
-                alt6=9;
-                }
-                break;
-            case 44:
-                {
-                alt6=10;
-                }
-                break;
-            case 45:
-                {
-                alt6=11;
-                }
-                break;
-            case 46:
-                {
-                alt6=12;
-                }
-                break;
-            case 48:
-                {
-                alt6=13;
-                }
-                break;
-            case 49:
-                {
-                alt6=14;
-                }
-                break;
-            case 52:
-                {
-                alt6=15;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt6) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:754:5: this_PowerExpression_0= rulePowerExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getPowerExpressionParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_rulePower1946);
-                    this_PowerExpression_0=rulePowerExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_PowerExpression_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:764:5: this_NotExpression_1= ruleNotExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getNotExpressionParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_rulePower1973);
-                    this_NotExpression_1=ruleNotExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NotExpression_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:774:5: this_NegativeExpression_2= ruleNegativeExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getNegativeExpressionParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_rulePower2000);
-                    this_NegativeExpression_2=ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NegativeExpression_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:784:5: this_Function_3= ruleFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getFunctionParserRuleCall_3()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_rulePower2027);
-                    this_Function_3=ruleFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_Function_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:794:5: this_Parenthesis_4= ruleParenthesis
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getParenthesisParserRuleCall_4()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_rulePower2054);
-                    this_Parenthesis_4=ruleParenthesis();
-
-                    state._fsp--;
-
-                     
-                            current = this_Parenthesis_4; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:804:5: this_Literal_Impl_5= ruleLiteral_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getLiteral_ImplParserRuleCall_5()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_rulePower2081);
-                    this_Literal_Impl_5=ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_Literal_Impl_5; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:814:5: this_StringLiteral_6= ruleStringLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getStringLiteralParserRuleCall_6()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_rulePower2108);
-                    this_StringLiteral_6=ruleStringLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_StringLiteral_6; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:824:5: this_BoolLiteral_7= ruleBoolLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getBoolLiteralParserRuleCall_7()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_rulePower2135);
-                    this_BoolLiteral_7=ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoolLiteral_7; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:834:5: this_IntLiteral_8= ruleIntLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getIntLiteralParserRuleCall_8()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_rulePower2162);
-                    this_IntLiteral_8=ruleIntLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_IntLiteral_8; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:844:5: this_DoubleLiteral_9= ruleDoubleLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getDoubleLiteralParserRuleCall_9()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_rulePower2189);
-                    this_DoubleLiteral_9=ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_DoubleLiteral_9; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:854:5: this_FormalParameter_10= ruleFormalParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getFormalParameterParserRuleCall_10()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_rulePower2216);
-                    this_FormalParameter_10=ruleFormalParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_FormalParameter_10; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:864:5: this_ProbabilityMassFunction_11= ruleProbabilityMassFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getProbabilityMassFunctionParserRuleCall_11()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_rulePower2243);
-                    this_ProbabilityMassFunction_11=ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProbabilityMassFunction_11; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:874:5: this_BoxedPDF_12= ruleBoxedPDF
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getBoxedPDFParserRuleCall_12()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_rulePower2270);
-                    this_BoxedPDF_12=ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoxedPDF_12; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:884:5: this_NormalDistribution_13= ruleNormalDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getNormalDistributionParserRuleCall_13()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_rulePower2297);
-                    this_NormalDistribution_13=ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_NormalDistribution_13; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:894:5: this_ExponentialDistribution_14= ruleExponentialDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getPowerAccess().getExponentialDistributionParserRuleCall_14()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_rulePower2324);
-                    this_ExponentialDistribution_14=ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExponentialDistribution_14; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "rulePower"
-
-
-    // $ANTLR start "entryRuleUnary"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:910:1: entryRuleUnary returns [EObject current=null] : iv_ruleUnary= ruleUnary EOF ;
-    public final EObject entryRuleUnary() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleUnary = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:911:2: (iv_ruleUnary= ruleUnary EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:912:2: iv_ruleUnary= ruleUnary EOF
-            {
-             newCompositeNode(grammarAccess.getUnaryRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleUnary_in_entryRuleUnary2359);
-            iv_ruleUnary=ruleUnary();
-
-            state._fsp--;
-
-             current =iv_ruleUnary; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnary2369); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleUnary"
-
-
-    // $ANTLR start "ruleUnary"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:919:1: ruleUnary returns [EObject current=null] : (this_NotExpression_0= ruleNotExpression | this_NegativeExpression_1= ruleNegativeExpression | this_Function_2= ruleFunction | this_Parenthesis_3= ruleParenthesis | this_Literal_Impl_4= ruleLiteral_Impl | this_StringLiteral_5= ruleStringLiteral | this_BoolLiteral_6= ruleBoolLiteral | this_IntLiteral_7= ruleIntLiteral | this_DoubleLiteral_8= ruleDoubleLiteral | this_FormalParameter_9= ruleFormalParameter | this_ProbabilityMassFunction_10= ruleProbabilityMassFunction | this_BoxedPDF_11= ruleBoxedPDF | this_NormalDistribution_12= ruleNormalDistribution | this_ExponentialDistribution_13= ruleExponentialDistribution ) ;
-    public final EObject ruleUnary() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_NotExpression_0 = null;
-
-        EObject this_NegativeExpression_1 = null;
-
-        EObject this_Function_2 = null;
-
-        EObject this_Parenthesis_3 = null;
-
-        EObject this_Literal_Impl_4 = null;
-
-        EObject this_StringLiteral_5 = null;
-
-        EObject this_BoolLiteral_6 = null;
-
-        EObject this_IntLiteral_7 = null;
-
-        EObject this_DoubleLiteral_8 = null;
-
-        EObject this_FormalParameter_9 = null;
-
-        EObject this_ProbabilityMassFunction_10 = null;
-
-        EObject this_BoxedPDF_11 = null;
-
-        EObject this_NormalDistribution_12 = null;
-
-        EObject this_ExponentialDistribution_13 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:922:28: ( (this_NotExpression_0= ruleNotExpression | this_NegativeExpression_1= ruleNegativeExpression | this_Function_2= ruleFunction | this_Parenthesis_3= ruleParenthesis | this_Literal_Impl_4= ruleLiteral_Impl | this_StringLiteral_5= ruleStringLiteral | this_BoolLiteral_6= ruleBoolLiteral | this_IntLiteral_7= ruleIntLiteral | this_DoubleLiteral_8= ruleDoubleLiteral | this_FormalParameter_9= ruleFormalParameter | this_ProbabilityMassFunction_10= ruleProbabilityMassFunction | this_BoxedPDF_11= ruleBoxedPDF | this_NormalDistribution_12= ruleNormalDistribution | this_ExponentialDistribution_13= ruleExponentialDistribution ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:923:1: (this_NotExpression_0= ruleNotExpression | this_NegativeExpression_1= ruleNegativeExpression | this_Function_2= ruleFunction | this_Parenthesis_3= ruleParenthesis | this_Literal_Impl_4= ruleLiteral_Impl | this_StringLiteral_5= ruleStringLiteral | this_BoolLiteral_6= ruleBoolLiteral | this_IntLiteral_7= ruleIntLiteral | this_DoubleLiteral_8= ruleDoubleLiteral | this_FormalParameter_9= ruleFormalParameter | this_ProbabilityMassFunction_10= ruleProbabilityMassFunction | this_BoxedPDF_11= ruleBoxedPDF | this_NormalDistribution_12= ruleNormalDistribution | this_ExponentialDistribution_13= ruleExponentialDistribution )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:923:1: (this_NotExpression_0= ruleNotExpression | this_NegativeExpression_1= ruleNegativeExpression | this_Function_2= ruleFunction | this_Parenthesis_3= ruleParenthesis | this_Literal_Impl_4= ruleLiteral_Impl | this_StringLiteral_5= ruleStringLiteral | this_BoolLiteral_6= ruleBoolLiteral | this_IntLiteral_7= ruleIntLiteral | this_DoubleLiteral_8= ruleDoubleLiteral | this_FormalParameter_9= ruleFormalParameter | this_ProbabilityMassFunction_10= ruleProbabilityMassFunction | this_BoxedPDF_11= ruleBoxedPDF | this_NormalDistribution_12= ruleNormalDistribution | this_ExponentialDistribution_13= ruleExponentialDistribution )
-            int alt7=14;
-            switch ( input.LA(1) ) {
-            case 26:
-                {
-                alt7=1;
-                }
-                break;
-            case 28:
-                {
-                alt7=2;
-                }
-                break;
-            case 33:
-                {
-                alt7=3;
-                }
-                break;
-            case 37:
-                {
-                alt7=4;
-                }
-                break;
-            case 39:
-                {
-                alt7=5;
-                }
-                break;
-            case 40:
-                {
-                alt7=6;
-                }
-                break;
-            case 41:
-                {
-                alt7=7;
-                }
-                break;
-            case 43:
-                {
-                alt7=8;
-                }
-                break;
-            case 44:
-                {
-                alt7=9;
-                }
-                break;
-            case 45:
-                {
-                alt7=10;
-                }
-                break;
-            case 46:
-                {
-                alt7=11;
-                }
-                break;
-            case 48:
-                {
-                alt7=12;
-                }
-                break;
-            case 49:
-                {
-                alt7=13;
-                }
-                break;
-            case 52:
-                {
-                alt7=14;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 7, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt7) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:924:5: this_NotExpression_0= ruleNotExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getNotExpressionParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_ruleUnary2416);
-                    this_NotExpression_0=ruleNotExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NotExpression_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:934:5: this_NegativeExpression_1= ruleNegativeExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getNegativeExpressionParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_ruleUnary2443);
-                    this_NegativeExpression_1=ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NegativeExpression_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:944:5: this_Function_2= ruleFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getFunctionParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_ruleUnary2470);
-                    this_Function_2=ruleFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_Function_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:954:5: this_Parenthesis_3= ruleParenthesis
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getParenthesisParserRuleCall_3()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_ruleUnary2497);
-                    this_Parenthesis_3=ruleParenthesis();
-
-                    state._fsp--;
-
-                     
-                            current = this_Parenthesis_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:964:5: this_Literal_Impl_4= ruleLiteral_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getLiteral_ImplParserRuleCall_4()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_ruleUnary2524);
-                    this_Literal_Impl_4=ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_Literal_Impl_4; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:974:5: this_StringLiteral_5= ruleStringLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getStringLiteralParserRuleCall_5()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleUnary2551);
-                    this_StringLiteral_5=ruleStringLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_StringLiteral_5; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:984:5: this_BoolLiteral_6= ruleBoolLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getBoolLiteralParserRuleCall_6()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_ruleUnary2578);
-                    this_BoolLiteral_6=ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoolLiteral_6; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:994:5: this_IntLiteral_7= ruleIntLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getIntLiteralParserRuleCall_7()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_ruleUnary2605);
-                    this_IntLiteral_7=ruleIntLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_IntLiteral_7; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1004:5: this_DoubleLiteral_8= ruleDoubleLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getDoubleLiteralParserRuleCall_8()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_ruleUnary2632);
-                    this_DoubleLiteral_8=ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_DoubleLiteral_8; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1014:5: this_FormalParameter_9= ruleFormalParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getFormalParameterParserRuleCall_9()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_ruleUnary2659);
-                    this_FormalParameter_9=ruleFormalParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_FormalParameter_9; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1024:5: this_ProbabilityMassFunction_10= ruleProbabilityMassFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getProbabilityMassFunctionParserRuleCall_10()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_ruleUnary2686);
-                    this_ProbabilityMassFunction_10=ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProbabilityMassFunction_10; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1034:5: this_BoxedPDF_11= ruleBoxedPDF
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getBoxedPDFParserRuleCall_11()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_ruleUnary2713);
-                    this_BoxedPDF_11=ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoxedPDF_11; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1044:5: this_NormalDistribution_12= ruleNormalDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getNormalDistributionParserRuleCall_12()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_ruleUnary2740);
-                    this_NormalDistribution_12=ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_NormalDistribution_12; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1054:5: this_ExponentialDistribution_13= ruleExponentialDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getUnaryAccess().getExponentialDistributionParserRuleCall_13()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_ruleUnary2767);
-                    this_ExponentialDistribution_13=ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExponentialDistribution_13; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleUnary"
-
-
-    // $ANTLR start "entryRuleBooleanExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1070:1: entryRuleBooleanExpression returns [EObject current=null] : iv_ruleBooleanExpression= ruleBooleanExpression EOF ;
-    public final EObject entryRuleBooleanExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBooleanExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1071:2: (iv_ruleBooleanExpression= ruleBooleanExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1072:2: iv_ruleBooleanExpression= ruleBooleanExpression EOF
-            {
-             newCompositeNode(grammarAccess.getBooleanExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_entryRuleBooleanExpression2802);
-            iv_ruleBooleanExpression=ruleBooleanExpression();
-
-            state._fsp--;
-
-             current =iv_ruleBooleanExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanExpression2812); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBooleanExpression"
-
-
-    // $ANTLR start "ruleBooleanExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1079:1: ruleBooleanExpression returns [EObject current=null] : (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_CompareExpression_2= ruleCompareExpression | this_PowerExpression_3= rulePowerExpression | this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression | this_NotExpression_5= ruleNotExpression | this_NegativeExpression_6= ruleNegativeExpression | this_Function_7= ruleFunction | this_Parenthesis_8= ruleParenthesis | this_Literal_Impl_9= ruleLiteral_Impl | this_StringLiteral_10= ruleStringLiteral | this_BoolLiteral_11= ruleBoolLiteral | this_IntLiteral_12= ruleIntLiteral | this_DoubleLiteral_13= ruleDoubleLiteral | this_FormalParameter_14= ruleFormalParameter | this_ProbabilityMassFunction_15= ruleProbabilityMassFunction | this_BoxedPDF_16= ruleBoxedPDF | this_NormalDistribution_17= ruleNormalDistribution | this_ExponentialDistribution_18= ruleExponentialDistribution ) ;
-    public final EObject ruleBooleanExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_TermExpression_0 = null;
-
-        EObject this_ProductExpression_1 = null;
-
-        EObject this_CompareExpression_2 = null;
-
-        EObject this_PowerExpression_3 = null;
-
-        EObject this_BooleanOperatorExpression_4 = null;
-
-        EObject this_NotExpression_5 = null;
-
-        EObject this_NegativeExpression_6 = null;
-
-        EObject this_Function_7 = null;
-
-        EObject this_Parenthesis_8 = null;
-
-        EObject this_Literal_Impl_9 = null;
-
-        EObject this_StringLiteral_10 = null;
-
-        EObject this_BoolLiteral_11 = null;
-
-        EObject this_IntLiteral_12 = null;
-
-        EObject this_DoubleLiteral_13 = null;
-
-        EObject this_FormalParameter_14 = null;
-
-        EObject this_ProbabilityMassFunction_15 = null;
-
-        EObject this_BoxedPDF_16 = null;
-
-        EObject this_NormalDistribution_17 = null;
-
-        EObject this_ExponentialDistribution_18 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1082:28: ( (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_CompareExpression_2= ruleCompareExpression | this_PowerExpression_3= rulePowerExpression | this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression | this_NotExpression_5= ruleNotExpression | this_NegativeExpression_6= ruleNegativeExpression | this_Function_7= ruleFunction | this_Parenthesis_8= ruleParenthesis | this_Literal_Impl_9= ruleLiteral_Impl | this_StringLiteral_10= ruleStringLiteral | this_BoolLiteral_11= ruleBoolLiteral | this_IntLiteral_12= ruleIntLiteral | this_DoubleLiteral_13= ruleDoubleLiteral | this_FormalParameter_14= ruleFormalParameter | this_ProbabilityMassFunction_15= ruleProbabilityMassFunction | this_BoxedPDF_16= ruleBoxedPDF | this_NormalDistribution_17= ruleNormalDistribution | this_ExponentialDistribution_18= ruleExponentialDistribution ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1083:1: (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_CompareExpression_2= ruleCompareExpression | this_PowerExpression_3= rulePowerExpression | this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression | this_NotExpression_5= ruleNotExpression | this_NegativeExpression_6= ruleNegativeExpression | this_Function_7= ruleFunction | this_Parenthesis_8= ruleParenthesis | this_Literal_Impl_9= ruleLiteral_Impl | this_StringLiteral_10= ruleStringLiteral | this_BoolLiteral_11= ruleBoolLiteral | this_IntLiteral_12= ruleIntLiteral | this_DoubleLiteral_13= ruleDoubleLiteral | this_FormalParameter_14= ruleFormalParameter | this_ProbabilityMassFunction_15= ruleProbabilityMassFunction | this_BoxedPDF_16= ruleBoxedPDF | this_NormalDistribution_17= ruleNormalDistribution | this_ExponentialDistribution_18= ruleExponentialDistribution )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1083:1: (this_TermExpression_0= ruleTermExpression | this_ProductExpression_1= ruleProductExpression | this_CompareExpression_2= ruleCompareExpression | this_PowerExpression_3= rulePowerExpression | this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression | this_NotExpression_5= ruleNotExpression | this_NegativeExpression_6= ruleNegativeExpression | this_Function_7= ruleFunction | this_Parenthesis_8= ruleParenthesis | this_Literal_Impl_9= ruleLiteral_Impl | this_StringLiteral_10= ruleStringLiteral | this_BoolLiteral_11= ruleBoolLiteral | this_IntLiteral_12= ruleIntLiteral | this_DoubleLiteral_13= ruleDoubleLiteral | this_FormalParameter_14= ruleFormalParameter | this_ProbabilityMassFunction_15= ruleProbabilityMassFunction | this_BoxedPDF_16= ruleBoxedPDF | this_NormalDistribution_17= ruleNormalDistribution | this_ExponentialDistribution_18= ruleExponentialDistribution )
-            int alt8=19;
-            switch ( input.LA(1) ) {
-            case 16:
-                {
-                alt8=1;
-                }
-                break;
-            case 17:
-                {
-                alt8=2;
-                }
-                break;
-            case 18:
-                {
-                alt8=3;
-                }
-                break;
-            case 22:
-                {
-                alt8=4;
-                }
-                break;
-            case 25:
-                {
-                alt8=5;
-                }
-                break;
-            case 26:
-                {
-                alt8=6;
-                }
-                break;
-            case 28:
-                {
-                alt8=7;
-                }
-                break;
-            case 33:
-                {
-                alt8=8;
-                }
-                break;
-            case 37:
-                {
-                alt8=9;
-                }
-                break;
-            case 39:
-                {
-                alt8=10;
-                }
-                break;
-            case 40:
-                {
-                alt8=11;
-                }
-                break;
-            case 41:
-                {
-                alt8=12;
-                }
-                break;
-            case 43:
-                {
-                alt8=13;
-                }
-                break;
-            case 44:
-                {
-                alt8=14;
-                }
-                break;
-            case 45:
-                {
-                alt8=15;
-                }
-                break;
-            case 46:
-                {
-                alt8=16;
-                }
-                break;
-            case 48:
-                {
-                alt8=17;
-                }
-                break;
-            case 49:
-                {
-                alt8=18;
-                }
-                break;
-            case 52:
-                {
-                alt8=19;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 8, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt8) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1084:5: this_TermExpression_0= ruleTermExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getTermExpressionParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleTermExpression_in_ruleBooleanExpression2859);
-                    this_TermExpression_0=ruleTermExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_TermExpression_0; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1094:5: this_ProductExpression_1= ruleProductExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getProductExpressionParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_ruleBooleanExpression2886);
-                    this_ProductExpression_1=ruleProductExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProductExpression_1; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1104:5: this_CompareExpression_2= ruleCompareExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getCompareExpressionParserRuleCall_2()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleCompareExpression_in_ruleBooleanExpression2913);
-                    this_CompareExpression_2=ruleCompareExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_CompareExpression_2; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1114:5: this_PowerExpression_3= rulePowerExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getPowerExpressionParserRuleCall_3()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_ruleBooleanExpression2940);
-                    this_PowerExpression_3=rulePowerExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_PowerExpression_3; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 5 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1124:5: this_BooleanOperatorExpression_4= ruleBooleanOperatorExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getBooleanOperatorExpressionParserRuleCall_4()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBooleanOperatorExpression_in_ruleBooleanExpression2967);
-                    this_BooleanOperatorExpression_4=ruleBooleanOperatorExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_BooleanOperatorExpression_4; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 6 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1134:5: this_NotExpression_5= ruleNotExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getNotExpressionParserRuleCall_5()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_ruleBooleanExpression2994);
-                    this_NotExpression_5=ruleNotExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NotExpression_5; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 7 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1144:5: this_NegativeExpression_6= ruleNegativeExpression
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getNegativeExpressionParserRuleCall_6()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_ruleBooleanExpression3021);
-                    this_NegativeExpression_6=ruleNegativeExpression();
-
-                    state._fsp--;
-
-                     
-                            current = this_NegativeExpression_6; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 8 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1154:5: this_Function_7= ruleFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getFunctionParserRuleCall_7()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFunction_in_ruleBooleanExpression3048);
-                    this_Function_7=ruleFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_Function_7; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 9 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1164:5: this_Parenthesis_8= ruleParenthesis
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getParenthesisParserRuleCall_8()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_ruleBooleanExpression3075);
-                    this_Parenthesis_8=ruleParenthesis();
-
-                    state._fsp--;
-
-                     
-                            current = this_Parenthesis_8; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 10 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1174:5: this_Literal_Impl_9= ruleLiteral_Impl
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getLiteral_ImplParserRuleCall_9()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_ruleBooleanExpression3102);
-                    this_Literal_Impl_9=ruleLiteral_Impl();
-
-                    state._fsp--;
-
-                     
-                            current = this_Literal_Impl_9; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 11 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1184:5: this_StringLiteral_10= ruleStringLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getStringLiteralParserRuleCall_10()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleBooleanExpression3129);
-                    this_StringLiteral_10=ruleStringLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_StringLiteral_10; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 12 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1194:5: this_BoolLiteral_11= ruleBoolLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getBoolLiteralParserRuleCall_11()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_ruleBooleanExpression3156);
-                    this_BoolLiteral_11=ruleBoolLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoolLiteral_11; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 13 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1204:5: this_IntLiteral_12= ruleIntLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getIntLiteralParserRuleCall_12()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_ruleBooleanExpression3183);
-                    this_IntLiteral_12=ruleIntLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_IntLiteral_12; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 14 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1214:5: this_DoubleLiteral_13= ruleDoubleLiteral
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getDoubleLiteralParserRuleCall_13()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_ruleBooleanExpression3210);
-                    this_DoubleLiteral_13=ruleDoubleLiteral();
-
-                    state._fsp--;
-
-                     
-                            current = this_DoubleLiteral_13; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 15 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1224:5: this_FormalParameter_14= ruleFormalParameter
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getFormalParameterParserRuleCall_14()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_ruleBooleanExpression3237);
-                    this_FormalParameter_14=ruleFormalParameter();
-
-                    state._fsp--;
-
-                     
-                            current = this_FormalParameter_14; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 16 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1234:5: this_ProbabilityMassFunction_15= ruleProbabilityMassFunction
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getProbabilityMassFunctionParserRuleCall_15()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_ruleBooleanExpression3264);
-                    this_ProbabilityMassFunction_15=ruleProbabilityMassFunction();
-
-                    state._fsp--;
-
-                     
-                            current = this_ProbabilityMassFunction_15; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 17 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1244:5: this_BoxedPDF_16= ruleBoxedPDF
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getBoxedPDFParserRuleCall_16()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_ruleBooleanExpression3291);
-                    this_BoxedPDF_16=ruleBoxedPDF();
-
-                    state._fsp--;
-
-                     
-                            current = this_BoxedPDF_16; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 18 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1254:5: this_NormalDistribution_17= ruleNormalDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getNormalDistributionParserRuleCall_17()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_ruleBooleanExpression3318);
-                    this_NormalDistribution_17=ruleNormalDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_NormalDistribution_17; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 19 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1264:5: this_ExponentialDistribution_18= ruleExponentialDistribution
-                    {
-                     
-                            newCompositeNode(grammarAccess.getBooleanExpressionAccess().getExponentialDistributionParserRuleCall_18()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_ruleBooleanExpression3345);
-                    this_ExponentialDistribution_18=ruleExponentialDistribution();
-
-                    state._fsp--;
-
-                     
-                            current = this_ExponentialDistribution_18; 
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBooleanExpression"
-
-
-    // $ANTLR start "entryRuleEString"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1280:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
-    public final String entryRuleEString() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEString = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1281:2: (iv_ruleEString= ruleEString EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1282:2: iv_ruleEString= ruleEString EOF
-            {
-             newCompositeNode(grammarAccess.getEStringRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString3381);
-            iv_ruleEString=ruleEString();
-
-            state._fsp--;
-
-             current =iv_ruleEString.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString3392); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEString"
-
-
-    // $ANTLR start "ruleEString"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1289:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ;
-    public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_STRING_0=null;
-        Token this_ID_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1292:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1293:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1293:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
-            int alt9=2;
-            int LA9_0 = input.LA(1);
-
-            if ( (LA9_0==RULE_STRING) ) {
-                alt9=1;
-            }
-            else if ( (LA9_0==RULE_ID) ) {
-                alt9=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 9, 0, input);
-
-                throw nvae;
-            }
-            switch (alt9) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1293:6: this_STRING_0= RULE_STRING
-                    {
-                    this_STRING_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleEString3432); 
-
-                    		current.merge(this_STRING_0);
-                        
-                     
-                        newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1301:10: this_ID_1= RULE_ID
-                    {
-                    this_ID_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleEString3458); 
-
-                    		current.merge(this_ID_1);
-                        
-                     
-                        newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEString"
-
-
-    // $ANTLR start "entryRuleTermExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1316:1: entryRuleTermExpression returns [EObject current=null] : iv_ruleTermExpression= ruleTermExpression EOF ;
-    public final EObject entryRuleTermExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleTermExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1317:2: (iv_ruleTermExpression= ruleTermExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1318:2: iv_ruleTermExpression= ruleTermExpression EOF
-            {
-             newCompositeNode(grammarAccess.getTermExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTermExpression_in_entryRuleTermExpression3503);
-            iv_ruleTermExpression=ruleTermExpression();
-
-            state._fsp--;
-
-             current =iv_ruleTermExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTermExpression3513); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleTermExpression"
-
-
-    // $ANTLR start "ruleTermExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1325:1: ruleTermExpression returns [EObject current=null] : (otherlv_0= 'TermExpression' otherlv_1= '{' this_TermExpression2_2= ruleTermExpression2 ( () ( (lv_operation_4_0= ruleTermOperations ) ) ( (lv_right_5_0= ruleProduct ) ) )* otherlv_6= '}' ) ;
-    public final EObject ruleTermExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_6=null;
-        EObject this_TermExpression2_2 = null;
-
-        AntlrDatatypeRuleToken lv_operation_4_0 = null;
-
-        EObject lv_right_5_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1328:28: ( (otherlv_0= 'TermExpression' otherlv_1= '{' this_TermExpression2_2= ruleTermExpression2 ( () ( (lv_operation_4_0= ruleTermOperations ) ) ( (lv_right_5_0= ruleProduct ) ) )* otherlv_6= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1329:1: (otherlv_0= 'TermExpression' otherlv_1= '{' this_TermExpression2_2= ruleTermExpression2 ( () ( (lv_operation_4_0= ruleTermOperations ) ) ( (lv_right_5_0= ruleProduct ) ) )* otherlv_6= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1329:1: (otherlv_0= 'TermExpression' otherlv_1= '{' this_TermExpression2_2= ruleTermExpression2 ( () ( (lv_operation_4_0= ruleTermOperations ) ) ( (lv_right_5_0= ruleProduct ) ) )* otherlv_6= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1329:3: otherlv_0= 'TermExpression' otherlv_1= '{' this_TermExpression2_2= ruleTermExpression2 ( () ( (lv_operation_4_0= ruleTermOperations ) ) ( (lv_right_5_0= ruleProduct ) ) )* otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleTermExpression3550); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getTermExpressionAccess().getTermExpressionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleTermExpression3562); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getTermExpressionAccess().getLeftCurlyBracketKeyword_1());
-                
-             
-                    newCompositeNode(grammarAccess.getTermExpressionAccess().getTermExpression2ParserRuleCall_2()); 
-                
-            pushFollow(FollowSets000.FOLLOW_ruleTermExpression2_in_ruleTermExpression3584);
-            this_TermExpression2_2=ruleTermExpression2();
-
-            state._fsp--;
-
-             
-                    current = this_TermExpression2_2; 
-                    afterParserOrEnumRuleCall();
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1346:1: ( () ( (lv_operation_4_0= ruleTermOperations ) ) ( (lv_right_5_0= ruleProduct ) ) )*
-            loop10:
-            do {
-                int alt10=2;
-                int LA10_0 = input.LA(1);
-
-                if ( (LA10_0==54) ) {
-                    alt10=1;
-                }
-
-
-                switch (alt10) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1346:2: () ( (lv_operation_4_0= ruleTermOperations ) ) ( (lv_right_5_0= ruleProduct ) )
-            	    {
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1346:2: ()
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1347:5: 
-            	    {
-
-            	            current = forceCreateModelElementAndSet(
-            	                grammarAccess.getTermExpressionAccess().getTermExpressionLeftAction_3_0(),
-            	                current);
-            	        
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1352:2: ( (lv_operation_4_0= ruleTermOperations ) )
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1353:1: (lv_operation_4_0= ruleTermOperations )
-            	    {
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1353:1: (lv_operation_4_0= ruleTermOperations )
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1354:3: lv_operation_4_0= ruleTermOperations
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getTermExpressionAccess().getOperationTermOperationsParserRuleCall_3_1_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleTermOperations_in_ruleTermExpression3614);
-            	    lv_operation_4_0=ruleTermOperations();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getTermExpressionRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"operation",
-            	            		lv_operation_4_0, 
-            	            		"TermOperations");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1370:2: ( (lv_right_5_0= ruleProduct ) )
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1371:1: (lv_right_5_0= ruleProduct )
-            	    {
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1371:1: (lv_right_5_0= ruleProduct )
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1372:3: lv_right_5_0= ruleProduct
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getTermExpressionAccess().getRightProductParserRuleCall_3_2_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleProduct_in_ruleTermExpression3635);
-            	    lv_right_5_0=ruleProduct();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getTermExpressionRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"right",
-            	            		lv_right_5_0, 
-            	            		"Product");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop10;
-                }
-            } while (true);
-
-            otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleTermExpression3649); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getTermExpressionAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleTermExpression"
-
-
-    // $ANTLR start "entryRuleTermExpression2"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1400:1: entryRuleTermExpression2 returns [EObject current=null] : iv_ruleTermExpression2= ruleTermExpression2 EOF ;
-    public final EObject entryRuleTermExpression2() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleTermExpression2 = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1401:2: (iv_ruleTermExpression2= ruleTermExpression2 EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1402:2: iv_ruleTermExpression2= ruleTermExpression2 EOF
-            {
-             newCompositeNode(grammarAccess.getTermExpression2Rule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTermExpression2_in_entryRuleTermExpression23685);
-            iv_ruleTermExpression2=ruleTermExpression2();
-
-            state._fsp--;
-
-             current =iv_ruleTermExpression2; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTermExpression23695); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleTermExpression2"
-
-
-    // $ANTLR start "ruleTermExpression2"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1409:1: ruleTermExpression2 returns [EObject current=null] : ( ( (lv_left_0_0= ruleTerm ) ) ( (lv_operation_1_0= ruleTermOperations ) ) ( (lv_right_2_0= ruleProduct ) ) ) ;
-    public final EObject ruleTermExpression2() throws RecognitionException {
-        EObject current = null;
-
-        EObject lv_left_0_0 = null;
-
-        AntlrDatatypeRuleToken lv_operation_1_0 = null;
-
-        EObject lv_right_2_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1412:28: ( ( ( (lv_left_0_0= ruleTerm ) ) ( (lv_operation_1_0= ruleTermOperations ) ) ( (lv_right_2_0= ruleProduct ) ) ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1413:1: ( ( (lv_left_0_0= ruleTerm ) ) ( (lv_operation_1_0= ruleTermOperations ) ) ( (lv_right_2_0= ruleProduct ) ) )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1413:1: ( ( (lv_left_0_0= ruleTerm ) ) ( (lv_operation_1_0= ruleTermOperations ) ) ( (lv_right_2_0= ruleProduct ) ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1413:2: ( (lv_left_0_0= ruleTerm ) ) ( (lv_operation_1_0= ruleTermOperations ) ) ( (lv_right_2_0= ruleProduct ) )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1413:2: ( (lv_left_0_0= ruleTerm ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1414:1: (lv_left_0_0= ruleTerm )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1414:1: (lv_left_0_0= ruleTerm )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1415:3: lv_left_0_0= ruleTerm
-            {
-             
-            	        newCompositeNode(grammarAccess.getTermExpression2Access().getLeftTermParserRuleCall_0_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_ruleTermExpression23741);
-            lv_left_0_0=ruleTerm();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getTermExpression2Rule());
-            	        }
-                   		set(
-                   			current, 
-                   			"left",
-                    		lv_left_0_0, 
-                    		"Term");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1431:2: ( (lv_operation_1_0= ruleTermOperations ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1432:1: (lv_operation_1_0= ruleTermOperations )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1432:1: (lv_operation_1_0= ruleTermOperations )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1433:3: lv_operation_1_0= ruleTermOperations
-            {
-             
-            	        newCompositeNode(grammarAccess.getTermExpression2Access().getOperationTermOperationsParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleTermOperations_in_ruleTermExpression23762);
-            lv_operation_1_0=ruleTermOperations();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getTermExpression2Rule());
-            	        }
-                   		set(
-                   			current, 
-                   			"operation",
-                    		lv_operation_1_0, 
-                    		"TermOperations");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1449:2: ( (lv_right_2_0= ruleProduct ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1450:1: (lv_right_2_0= ruleProduct )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1450:1: (lv_right_2_0= ruleProduct )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1451:3: lv_right_2_0= ruleProduct
-            {
-             
-            	        newCompositeNode(grammarAccess.getTermExpression2Access().getRightProductParserRuleCall_2_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleProduct_in_ruleTermExpression23783);
-            lv_right_2_0=ruleProduct();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getTermExpression2Rule());
-            	        }
-                   		set(
-                   			current, 
-                   			"right",
-                    		lv_right_2_0, 
-                    		"Product");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleTermExpression2"
-
-
-    // $ANTLR start "entryRuleProductExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1475:1: entryRuleProductExpression returns [EObject current=null] : iv_ruleProductExpression= ruleProductExpression EOF ;
-    public final EObject entryRuleProductExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProductExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1476:2: (iv_ruleProductExpression= ruleProductExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1477:2: iv_ruleProductExpression= ruleProductExpression EOF
-            {
-             newCompositeNode(grammarAccess.getProductExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProductExpression_in_entryRuleProductExpression3819);
-            iv_ruleProductExpression=ruleProductExpression();
-
-            state._fsp--;
-
-             current =iv_ruleProductExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProductExpression3829); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProductExpression"
-
-
-    // $ANTLR start "ruleProductExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1484:1: ruleProductExpression returns [EObject current=null] : (otherlv_0= 'ProductExpression' otherlv_1= '{' this_ProductExpression2_2= ruleProductExpression2 ( () ( (lv_operation_4_0= ruleProductOperations ) ) ( (lv_right_5_0= rulePower ) ) )* otherlv_6= '}' ) ;
-    public final EObject ruleProductExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_6=null;
-        EObject this_ProductExpression2_2 = null;
-
-        AntlrDatatypeRuleToken lv_operation_4_0 = null;
-
-        EObject lv_right_5_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1487:28: ( (otherlv_0= 'ProductExpression' otherlv_1= '{' this_ProductExpression2_2= ruleProductExpression2 ( () ( (lv_operation_4_0= ruleProductOperations ) ) ( (lv_right_5_0= rulePower ) ) )* otherlv_6= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1488:1: (otherlv_0= 'ProductExpression' otherlv_1= '{' this_ProductExpression2_2= ruleProductExpression2 ( () ( (lv_operation_4_0= ruleProductOperations ) ) ( (lv_right_5_0= rulePower ) ) )* otherlv_6= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1488:1: (otherlv_0= 'ProductExpression' otherlv_1= '{' this_ProductExpression2_2= ruleProductExpression2 ( () ( (lv_operation_4_0= ruleProductOperations ) ) ( (lv_right_5_0= rulePower ) ) )* otherlv_6= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1488:3: otherlv_0= 'ProductExpression' otherlv_1= '{' this_ProductExpression2_2= ruleProductExpression2 ( () ( (lv_operation_4_0= ruleProductOperations ) ) ( (lv_right_5_0= rulePower ) ) )* otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleProductExpression3866); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getProductExpressionAccess().getProductExpressionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProductExpression3878); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getProductExpressionAccess().getLeftCurlyBracketKeyword_1());
-                
-             
-                    newCompositeNode(grammarAccess.getProductExpressionAccess().getProductExpression2ParserRuleCall_2()); 
-                
-            pushFollow(FollowSets000.FOLLOW_ruleProductExpression2_in_ruleProductExpression3900);
-            this_ProductExpression2_2=ruleProductExpression2();
-
-            state._fsp--;
-
-             
-                    current = this_ProductExpression2_2; 
-                    afterParserOrEnumRuleCall();
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1505:1: ( () ( (lv_operation_4_0= ruleProductOperations ) ) ( (lv_right_5_0= rulePower ) ) )*
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( (LA11_0==55) ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1505:2: () ( (lv_operation_4_0= ruleProductOperations ) ) ( (lv_right_5_0= rulePower ) )
-            	    {
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1505:2: ()
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1506:5: 
-            	    {
-
-            	            current = forceCreateModelElementAndSet(
-            	                grammarAccess.getProductExpressionAccess().getProductExpressionLeftAction_3_0(),
-            	                current);
-            	        
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1511:2: ( (lv_operation_4_0= ruleProductOperations ) )
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1512:1: (lv_operation_4_0= ruleProductOperations )
-            	    {
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1512:1: (lv_operation_4_0= ruleProductOperations )
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1513:3: lv_operation_4_0= ruleProductOperations
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getProductExpressionAccess().getOperationProductOperationsParserRuleCall_3_1_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleProductOperations_in_ruleProductExpression3930);
-            	    lv_operation_4_0=ruleProductOperations();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getProductExpressionRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"operation",
-            	            		lv_operation_4_0, 
-            	            		"ProductOperations");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1529:2: ( (lv_right_5_0= rulePower ) )
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1530:1: (lv_right_5_0= rulePower )
-            	    {
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1530:1: (lv_right_5_0= rulePower )
-            	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1531:3: lv_right_5_0= rulePower
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getProductExpressionAccess().getRightPowerParserRuleCall_3_2_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_rulePower_in_ruleProductExpression3951);
-            	    lv_right_5_0=rulePower();
-
-            	    state._fsp--;
-
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getProductExpressionRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"right",
-            	            		lv_right_5_0, 
-            	            		"Power");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop11;
-                }
-            } while (true);
-
-            otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleProductExpression3965); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getProductExpressionAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProductExpression"
-
-
-    // $ANTLR start "entryRuleProductExpression2"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1559:1: entryRuleProductExpression2 returns [EObject current=null] : iv_ruleProductExpression2= ruleProductExpression2 EOF ;
-    public final EObject entryRuleProductExpression2() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProductExpression2 = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1560:2: (iv_ruleProductExpression2= ruleProductExpression2 EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1561:2: iv_ruleProductExpression2= ruleProductExpression2 EOF
-            {
-             newCompositeNode(grammarAccess.getProductExpression2Rule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProductExpression2_in_entryRuleProductExpression24001);
-            iv_ruleProductExpression2=ruleProductExpression2();
-
-            state._fsp--;
-
-             current =iv_ruleProductExpression2; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProductExpression24011); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProductExpression2"
-
-
-    // $ANTLR start "ruleProductExpression2"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1568:1: ruleProductExpression2 returns [EObject current=null] : ( ( (lv_left_0_0= ruleProduct ) ) ( (lv_operation_1_0= ruleProductOperations ) ) ( (lv_right_2_0= rulePower ) ) ) ;
-    public final EObject ruleProductExpression2() throws RecognitionException {
-        EObject current = null;
-
-        EObject lv_left_0_0 = null;
-
-        AntlrDatatypeRuleToken lv_operation_1_0 = null;
-
-        EObject lv_right_2_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1571:28: ( ( ( (lv_left_0_0= ruleProduct ) ) ( (lv_operation_1_0= ruleProductOperations ) ) ( (lv_right_2_0= rulePower ) ) ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1572:1: ( ( (lv_left_0_0= ruleProduct ) ) ( (lv_operation_1_0= ruleProductOperations ) ) ( (lv_right_2_0= rulePower ) ) )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1572:1: ( ( (lv_left_0_0= ruleProduct ) ) ( (lv_operation_1_0= ruleProductOperations ) ) ( (lv_right_2_0= rulePower ) ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1572:2: ( (lv_left_0_0= ruleProduct ) ) ( (lv_operation_1_0= ruleProductOperations ) ) ( (lv_right_2_0= rulePower ) )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1572:2: ( (lv_left_0_0= ruleProduct ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1573:1: (lv_left_0_0= ruleProduct )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1573:1: (lv_left_0_0= ruleProduct )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1574:3: lv_left_0_0= ruleProduct
-            {
-             
-            	        newCompositeNode(grammarAccess.getProductExpression2Access().getLeftProductParserRuleCall_0_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleProduct_in_ruleProductExpression24057);
-            lv_left_0_0=ruleProduct();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getProductExpression2Rule());
-            	        }
-                   		set(
-                   			current, 
-                   			"left",
-                    		lv_left_0_0, 
-                    		"Product");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1590:2: ( (lv_operation_1_0= ruleProductOperations ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1591:1: (lv_operation_1_0= ruleProductOperations )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1591:1: (lv_operation_1_0= ruleProductOperations )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1592:3: lv_operation_1_0= ruleProductOperations
-            {
-             
-            	        newCompositeNode(grammarAccess.getProductExpression2Access().getOperationProductOperationsParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleProductOperations_in_ruleProductExpression24078);
-            lv_operation_1_0=ruleProductOperations();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getProductExpression2Rule());
-            	        }
-                   		set(
-                   			current, 
-                   			"operation",
-                    		lv_operation_1_0, 
-                    		"ProductOperations");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1608:2: ( (lv_right_2_0= rulePower ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1609:1: (lv_right_2_0= rulePower )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1609:1: (lv_right_2_0= rulePower )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1610:3: lv_right_2_0= rulePower
-            {
-             
-            	        newCompositeNode(grammarAccess.getProductExpression2Access().getRightPowerParserRuleCall_2_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_rulePower_in_ruleProductExpression24099);
-            lv_right_2_0=rulePower();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getProductExpression2Rule());
-            	        }
-                   		set(
-                   			current, 
-                   			"right",
-                    		lv_right_2_0, 
-                    		"Power");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProductExpression2"
-
-
-    // $ANTLR start "entryRuleCompareExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1634:1: entryRuleCompareExpression returns [EObject current=null] : iv_ruleCompareExpression= ruleCompareExpression EOF ;
-    public final EObject entryRuleCompareExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleCompareExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1635:2: (iv_ruleCompareExpression= ruleCompareExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1636:2: iv_ruleCompareExpression= ruleCompareExpression EOF
-            {
-             newCompositeNode(grammarAccess.getCompareExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompareExpression_in_entryRuleCompareExpression4135);
-            iv_ruleCompareExpression=ruleCompareExpression();
-
-            state._fsp--;
-
-             current =iv_ruleCompareExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompareExpression4145); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleCompareExpression"
-
-
-    // $ANTLR start "ruleCompareExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1643:1: ruleCompareExpression returns [EObject current=null] : (otherlv_0= 'CompareExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleCompareOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleTerm ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleTerm ) ) otherlv_8= '}' ) ;
-    public final EObject ruleCompareExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        AntlrDatatypeRuleToken lv_operation_3_0 = null;
-
-        EObject lv_left_5_0 = null;
-
-        EObject lv_right_7_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1646:28: ( (otherlv_0= 'CompareExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleCompareOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleTerm ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleTerm ) ) otherlv_8= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1647:1: (otherlv_0= 'CompareExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleCompareOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleTerm ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleTerm ) ) otherlv_8= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1647:1: (otherlv_0= 'CompareExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleCompareOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleTerm ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleTerm ) ) otherlv_8= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1647:3: otherlv_0= 'CompareExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleCompareOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleTerm ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleTerm ) ) otherlv_8= '}'
-            {
-            otherlv_0=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleCompareExpression4182); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getCompareExpressionAccess().getCompareExpressionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompareExpression4194); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getCompareExpressionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleCompareExpression4206); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getCompareExpressionAccess().getOperationKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1659:1: ( (lv_operation_3_0= ruleCompareOperations ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1660:1: (lv_operation_3_0= ruleCompareOperations )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1660:1: (lv_operation_3_0= ruleCompareOperations )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1661:3: lv_operation_3_0= ruleCompareOperations
-            {
-             
-            	        newCompositeNode(grammarAccess.getCompareExpressionAccess().getOperationCompareOperationsParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleCompareOperations_in_ruleCompareExpression4227);
-            lv_operation_3_0=ruleCompareOperations();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCompareExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"operation",
-                    		lv_operation_3_0, 
-                    		"CompareOperations");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleCompareExpression4239); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getCompareExpressionAccess().getLeftKeyword_4());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1681:1: ( (lv_left_5_0= ruleTerm ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1682:1: (lv_left_5_0= ruleTerm )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1682:1: (lv_left_5_0= ruleTerm )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1683:3: lv_left_5_0= ruleTerm
-            {
-             
-            	        newCompositeNode(grammarAccess.getCompareExpressionAccess().getLeftTermParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_ruleCompareExpression4260);
-            lv_left_5_0=ruleTerm();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCompareExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"left",
-                    		lv_left_5_0, 
-                    		"Term");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleCompareExpression4272); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getCompareExpressionAccess().getRightKeyword_6());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1703:1: ( (lv_right_7_0= ruleTerm ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1704:1: (lv_right_7_0= ruleTerm )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1704:1: (lv_right_7_0= ruleTerm )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1705:3: lv_right_7_0= ruleTerm
-            {
-             
-            	        newCompositeNode(grammarAccess.getCompareExpressionAccess().getRightTermParserRuleCall_7_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleTerm_in_ruleCompareExpression4293);
-            lv_right_7_0=ruleTerm();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getCompareExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"right",
-                    		lv_right_7_0, 
-                    		"Term");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompareExpression4305); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getCompareExpressionAccess().getRightCurlyBracketKeyword_8());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCompareExpression"
-
-
-    // $ANTLR start "entryRulePowerExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1733:1: entryRulePowerExpression returns [EObject current=null] : iv_rulePowerExpression= rulePowerExpression EOF ;
-    public final EObject entryRulePowerExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_rulePowerExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1734:2: (iv_rulePowerExpression= rulePowerExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1735:2: iv_rulePowerExpression= rulePowerExpression EOF
-            {
-             newCompositeNode(grammarAccess.getPowerExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePowerExpression_in_entryRulePowerExpression4341);
-            iv_rulePowerExpression=rulePowerExpression();
-
-            state._fsp--;
-
-             current =iv_rulePowerExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePowerExpression4351); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRulePowerExpression"
-
-
-    // $ANTLR start "rulePowerExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1742:1: rulePowerExpression returns [EObject current=null] : (otherlv_0= 'PowerExpression' otherlv_1= '{' otherlv_2= 'base' ( (lv_base_3_0= rulePower ) ) otherlv_4= 'exponent' ( (lv_exponent_5_0= ruleUnary ) ) otherlv_6= '}' ) ;
-    public final EObject rulePowerExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        EObject lv_base_3_0 = null;
-
-        EObject lv_exponent_5_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1745:28: ( (otherlv_0= 'PowerExpression' otherlv_1= '{' otherlv_2= 'base' ( (lv_base_3_0= rulePower ) ) otherlv_4= 'exponent' ( (lv_exponent_5_0= ruleUnary ) ) otherlv_6= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1746:1: (otherlv_0= 'PowerExpression' otherlv_1= '{' otherlv_2= 'base' ( (lv_base_3_0= rulePower ) ) otherlv_4= 'exponent' ( (lv_exponent_5_0= ruleUnary ) ) otherlv_6= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1746:1: (otherlv_0= 'PowerExpression' otherlv_1= '{' otherlv_2= 'base' ( (lv_base_3_0= rulePower ) ) otherlv_4= 'exponent' ( (lv_exponent_5_0= ruleUnary ) ) otherlv_6= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1746:3: otherlv_0= 'PowerExpression' otherlv_1= '{' otherlv_2= 'base' ( (lv_base_3_0= rulePower ) ) otherlv_4= 'exponent' ( (lv_exponent_5_0= ruleUnary ) ) otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,22,FollowSets000.FOLLOW_22_in_rulePowerExpression4388); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getPowerExpressionAccess().getPowerExpressionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePowerExpression4400); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getPowerExpressionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,23,FollowSets000.FOLLOW_23_in_rulePowerExpression4412); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getPowerExpressionAccess().getBaseKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1758:1: ( (lv_base_3_0= rulePower ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1759:1: (lv_base_3_0= rulePower )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1759:1: (lv_base_3_0= rulePower )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1760:3: lv_base_3_0= rulePower
-            {
-             
-            	        newCompositeNode(grammarAccess.getPowerExpressionAccess().getBasePowerParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_rulePower_in_rulePowerExpression4433);
-            lv_base_3_0=rulePower();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPowerExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"base",
-                    		lv_base_3_0, 
-                    		"Power");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,24,FollowSets000.FOLLOW_24_in_rulePowerExpression4445); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getPowerExpressionAccess().getExponentKeyword_4());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1780:1: ( (lv_exponent_5_0= ruleUnary ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1781:1: (lv_exponent_5_0= ruleUnary )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1781:1: (lv_exponent_5_0= ruleUnary )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1782:3: lv_exponent_5_0= ruleUnary
-            {
-             
-            	        newCompositeNode(grammarAccess.getPowerExpressionAccess().getExponentUnaryParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleUnary_in_rulePowerExpression4466);
-            lv_exponent_5_0=ruleUnary();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPowerExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"exponent",
-                    		lv_exponent_5_0, 
-                    		"Unary");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_rulePowerExpression4478); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getPowerExpressionAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "rulePowerExpression"
-
-
-    // $ANTLR start "entryRuleBooleanOperatorExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1810:1: entryRuleBooleanOperatorExpression returns [EObject current=null] : iv_ruleBooleanOperatorExpression= ruleBooleanOperatorExpression EOF ;
-    public final EObject entryRuleBooleanOperatorExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBooleanOperatorExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1811:2: (iv_ruleBooleanOperatorExpression= ruleBooleanOperatorExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1812:2: iv_ruleBooleanOperatorExpression= ruleBooleanOperatorExpression EOF
-            {
-             newCompositeNode(grammarAccess.getBooleanOperatorExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanOperatorExpression_in_entryRuleBooleanOperatorExpression4514);
-            iv_ruleBooleanOperatorExpression=ruleBooleanOperatorExpression();
-
-            state._fsp--;
-
-             current =iv_ruleBooleanOperatorExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanOperatorExpression4524); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBooleanOperatorExpression"
-
-
-    // $ANTLR start "ruleBooleanOperatorExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1819:1: ruleBooleanOperatorExpression returns [EObject current=null] : (otherlv_0= 'BooleanOperatorExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleBooleanOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleBooleanExpression ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleBooleanExpression ) ) otherlv_8= '}' ) ;
-    public final EObject ruleBooleanOperatorExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        AntlrDatatypeRuleToken lv_operation_3_0 = null;
-
-        EObject lv_left_5_0 = null;
-
-        EObject lv_right_7_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1822:28: ( (otherlv_0= 'BooleanOperatorExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleBooleanOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleBooleanExpression ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleBooleanExpression ) ) otherlv_8= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1823:1: (otherlv_0= 'BooleanOperatorExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleBooleanOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleBooleanExpression ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleBooleanExpression ) ) otherlv_8= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1823:1: (otherlv_0= 'BooleanOperatorExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleBooleanOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleBooleanExpression ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleBooleanExpression ) ) otherlv_8= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1823:3: otherlv_0= 'BooleanOperatorExpression' otherlv_1= '{' otherlv_2= 'operation' ( (lv_operation_3_0= ruleBooleanOperations ) ) otherlv_4= 'left' ( (lv_left_5_0= ruleBooleanExpression ) ) otherlv_6= 'right' ( (lv_right_7_0= ruleBooleanExpression ) ) otherlv_8= '}'
-            {
-            otherlv_0=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleBooleanOperatorExpression4561); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getBooleanOperatorExpressionAccess().getBooleanOperatorExpressionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBooleanOperatorExpression4573); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getBooleanOperatorExpressionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleBooleanOperatorExpression4585); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getBooleanOperatorExpressionAccess().getOperationKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1835:1: ( (lv_operation_3_0= ruleBooleanOperations ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1836:1: (lv_operation_3_0= ruleBooleanOperations )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1836:1: (lv_operation_3_0= ruleBooleanOperations )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1837:3: lv_operation_3_0= ruleBooleanOperations
-            {
-             
-            	        newCompositeNode(grammarAccess.getBooleanOperatorExpressionAccess().getOperationBooleanOperationsParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanOperations_in_ruleBooleanOperatorExpression4606);
-            lv_operation_3_0=ruleBooleanOperations();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBooleanOperatorExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"operation",
-                    		lv_operation_3_0, 
-                    		"BooleanOperations");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleBooleanOperatorExpression4618); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getBooleanOperatorExpressionAccess().getLeftKeyword_4());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1857:1: ( (lv_left_5_0= ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1858:1: (lv_left_5_0= ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1858:1: (lv_left_5_0= ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1859:3: lv_left_5_0= ruleBooleanExpression
-            {
-             
-            	        newCompositeNode(grammarAccess.getBooleanOperatorExpressionAccess().getLeftBooleanExpressionParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_ruleBooleanOperatorExpression4639);
-            lv_left_5_0=ruleBooleanExpression();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBooleanOperatorExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"left",
-                    		lv_left_5_0, 
-                    		"BooleanExpression");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleBooleanOperatorExpression4651); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getBooleanOperatorExpressionAccess().getRightKeyword_6());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1879:1: ( (lv_right_7_0= ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1880:1: (lv_right_7_0= ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1880:1: (lv_right_7_0= ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1881:3: lv_right_7_0= ruleBooleanExpression
-            {
-             
-            	        newCompositeNode(grammarAccess.getBooleanOperatorExpressionAccess().getRightBooleanExpressionParserRuleCall_7_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_ruleBooleanOperatorExpression4672);
-            lv_right_7_0=ruleBooleanExpression();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getBooleanOperatorExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"right",
-                    		lv_right_7_0, 
-                    		"BooleanExpression");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBooleanOperatorExpression4684); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getBooleanOperatorExpressionAccess().getRightCurlyBracketKeyword_8());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBooleanOperatorExpression"
-
-
-    // $ANTLR start "entryRuleNotExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1909:1: entryRuleNotExpression returns [EObject current=null] : iv_ruleNotExpression= ruleNotExpression EOF ;
-    public final EObject entryRuleNotExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleNotExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1910:2: (iv_ruleNotExpression= ruleNotExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1911:2: iv_ruleNotExpression= ruleNotExpression EOF
-            {
-             newCompositeNode(grammarAccess.getNotExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleNotExpression_in_entryRuleNotExpression4720);
-            iv_ruleNotExpression=ruleNotExpression();
-
-            state._fsp--;
-
-             current =iv_ruleNotExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNotExpression4730); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleNotExpression"
-
-
-    // $ANTLR start "ruleNotExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1918:1: ruleNotExpression returns [EObject current=null] : (otherlv_0= 'NotExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}' ) ;
-    public final EObject ruleNotExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        EObject lv_inner_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1921:28: ( (otherlv_0= 'NotExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1922:1: (otherlv_0= 'NotExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1922:1: (otherlv_0= 'NotExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1922:3: otherlv_0= 'NotExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleNotExpression4767); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getNotExpressionAccess().getNotExpressionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleNotExpression4779); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getNotExpressionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleNotExpression4791); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getNotExpressionAccess().getInnerKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1934:1: ( (lv_inner_3_0= ruleUnary ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1935:1: (lv_inner_3_0= ruleUnary )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1935:1: (lv_inner_3_0= ruleUnary )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1936:3: lv_inner_3_0= ruleUnary
-            {
-             
-            	        newCompositeNode(grammarAccess.getNotExpressionAccess().getInnerUnaryParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleUnary_in_ruleNotExpression4812);
-            lv_inner_3_0=ruleUnary();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getNotExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"inner",
-                    		lv_inner_3_0, 
-                    		"Unary");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleNotExpression4824); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getNotExpressionAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleNotExpression"
-
-
-    // $ANTLR start "entryRuleNegativeExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1964:1: entryRuleNegativeExpression returns [EObject current=null] : iv_ruleNegativeExpression= ruleNegativeExpression EOF ;
-    public final EObject entryRuleNegativeExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleNegativeExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1965:2: (iv_ruleNegativeExpression= ruleNegativeExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1966:2: iv_ruleNegativeExpression= ruleNegativeExpression EOF
-            {
-             newCompositeNode(grammarAccess.getNegativeExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleNegativeExpression_in_entryRuleNegativeExpression4860);
-            iv_ruleNegativeExpression=ruleNegativeExpression();
-
-            state._fsp--;
-
-             current =iv_ruleNegativeExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNegativeExpression4870); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleNegativeExpression"
-
-
-    // $ANTLR start "ruleNegativeExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1973:1: ruleNegativeExpression returns [EObject current=null] : (otherlv_0= 'NegativeExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}' ) ;
-    public final EObject ruleNegativeExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        EObject lv_inner_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1976:28: ( (otherlv_0= 'NegativeExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1977:1: (otherlv_0= 'NegativeExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1977:1: (otherlv_0= 'NegativeExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1977:3: otherlv_0= 'NegativeExpression' otherlv_1= '{' otherlv_2= 'inner' ( (lv_inner_3_0= ruleUnary ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleNegativeExpression4907); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getNegativeExpressionAccess().getNegativeExpressionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleNegativeExpression4919); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getNegativeExpressionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleNegativeExpression4931); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getNegativeExpressionAccess().getInnerKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1989:1: ( (lv_inner_3_0= ruleUnary ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1990:1: (lv_inner_3_0= ruleUnary )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1990:1: (lv_inner_3_0= ruleUnary )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:1991:3: lv_inner_3_0= ruleUnary
-            {
-             
-            	        newCompositeNode(grammarAccess.getNegativeExpressionAccess().getInnerUnaryParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleUnary_in_ruleNegativeExpression4952);
-            lv_inner_3_0=ruleUnary();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getNegativeExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"inner",
-                    		lv_inner_3_0, 
-                    		"Unary");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleNegativeExpression4964); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getNegativeExpressionAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleNegativeExpression"
-
-
-    // $ANTLR start "entryRuleIfElseExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2019:1: entryRuleIfElseExpression returns [EObject current=null] : iv_ruleIfElseExpression= ruleIfElseExpression EOF ;
-    public final EObject entryRuleIfElseExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleIfElseExpression = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2020:2: (iv_ruleIfElseExpression= ruleIfElseExpression EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2021:2: iv_ruleIfElseExpression= ruleIfElseExpression EOF
-            {
-             newCompositeNode(grammarAccess.getIfElseExpressionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression5000);
-            iv_ruleIfElseExpression=ruleIfElseExpression();
-
-            state._fsp--;
-
-             current =iv_ruleIfElseExpression; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIfElseExpression5010); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleIfElseExpression"
-
-
-    // $ANTLR start "ruleIfElseExpression"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2028:1: ruleIfElseExpression returns [EObject current=null] : (otherlv_0= 'IfElseExpression' otherlv_1= '{' otherlv_2= 'ifExpression' ( (lv_ifExpression_3_0= ruleBooleanExpression ) ) otherlv_4= 'elseExpression' ( (lv_elseExpression_5_0= ruleBooleanExpression ) ) otherlv_6= 'conditionExpression' ( (lv_conditionExpression_7_0= ruleBooleanExpression ) ) otherlv_8= '}' ) ;
-    public final EObject ruleIfElseExpression() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        EObject lv_ifExpression_3_0 = null;
-
-        EObject lv_elseExpression_5_0 = null;
-
-        EObject lv_conditionExpression_7_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2031:28: ( (otherlv_0= 'IfElseExpression' otherlv_1= '{' otherlv_2= 'ifExpression' ( (lv_ifExpression_3_0= ruleBooleanExpression ) ) otherlv_4= 'elseExpression' ( (lv_elseExpression_5_0= ruleBooleanExpression ) ) otherlv_6= 'conditionExpression' ( (lv_conditionExpression_7_0= ruleBooleanExpression ) ) otherlv_8= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2032:1: (otherlv_0= 'IfElseExpression' otherlv_1= '{' otherlv_2= 'ifExpression' ( (lv_ifExpression_3_0= ruleBooleanExpression ) ) otherlv_4= 'elseExpression' ( (lv_elseExpression_5_0= ruleBooleanExpression ) ) otherlv_6= 'conditionExpression' ( (lv_conditionExpression_7_0= ruleBooleanExpression ) ) otherlv_8= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2032:1: (otherlv_0= 'IfElseExpression' otherlv_1= '{' otherlv_2= 'ifExpression' ( (lv_ifExpression_3_0= ruleBooleanExpression ) ) otherlv_4= 'elseExpression' ( (lv_elseExpression_5_0= ruleBooleanExpression ) ) otherlv_6= 'conditionExpression' ( (lv_conditionExpression_7_0= ruleBooleanExpression ) ) otherlv_8= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2032:3: otherlv_0= 'IfElseExpression' otherlv_1= '{' otherlv_2= 'ifExpression' ( (lv_ifExpression_3_0= ruleBooleanExpression ) ) otherlv_4= 'elseExpression' ( (lv_elseExpression_5_0= ruleBooleanExpression ) ) otherlv_6= 'conditionExpression' ( (lv_conditionExpression_7_0= ruleBooleanExpression ) ) otherlv_8= '}'
-            {
-            otherlv_0=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleIfElseExpression5047); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getIfElseExpressionAccess().getIfElseExpressionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleIfElseExpression5059); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getIfElseExpressionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleIfElseExpression5071); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getIfElseExpressionAccess().getIfExpressionKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2044:1: ( (lv_ifExpression_3_0= ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2045:1: (lv_ifExpression_3_0= ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2045:1: (lv_ifExpression_3_0= ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2046:3: lv_ifExpression_3_0= ruleBooleanExpression
-            {
-             
-            	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getIfExpressionBooleanExpressionParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_ruleIfElseExpression5092);
-            lv_ifExpression_3_0=ruleBooleanExpression();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"ifExpression",
-                    		lv_ifExpression_3_0, 
-                    		"BooleanExpression");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleIfElseExpression5104); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getIfElseExpressionAccess().getElseExpressionKeyword_4());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2066:1: ( (lv_elseExpression_5_0= ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2067:1: (lv_elseExpression_5_0= ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2067:1: (lv_elseExpression_5_0= ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2068:3: lv_elseExpression_5_0= ruleBooleanExpression
-            {
-             
-            	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getElseExpressionBooleanExpressionParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_ruleIfElseExpression5125);
-            lv_elseExpression_5_0=ruleBooleanExpression();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"elseExpression",
-                    		lv_elseExpression_5_0, 
-                    		"BooleanExpression");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleIfElseExpression5137); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getIfElseExpressionAccess().getConditionExpressionKeyword_6());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2088:1: ( (lv_conditionExpression_7_0= ruleBooleanExpression ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2089:1: (lv_conditionExpression_7_0= ruleBooleanExpression )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2089:1: (lv_conditionExpression_7_0= ruleBooleanExpression )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2090:3: lv_conditionExpression_7_0= ruleBooleanExpression
-            {
-             
-            	        newCompositeNode(grammarAccess.getIfElseExpressionAccess().getConditionExpressionBooleanExpressionParserRuleCall_7_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanExpression_in_ruleIfElseExpression5158);
-            lv_conditionExpression_7_0=ruleBooleanExpression();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getIfElseExpressionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"conditionExpression",
-                    		lv_conditionExpression_7_0, 
-                    		"BooleanExpression");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleIfElseExpression5170); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getIfElseExpressionAccess().getRightCurlyBracketKeyword_8());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleIfElseExpression"
-
-
-    // $ANTLR start "entryRuleFunction"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2118:1: entryRuleFunction returns [EObject current=null] : iv_ruleFunction= ruleFunction EOF ;
-    public final EObject entryRuleFunction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleFunction = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2119:2: (iv_ruleFunction= ruleFunction EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2120:2: iv_ruleFunction= ruleFunction EOF
-            {
-             newCompositeNode(grammarAccess.getFunctionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleFunction_in_entryRuleFunction5206);
-            iv_ruleFunction=ruleFunction();
-
-            state._fsp--;
-
-             current =iv_ruleFunction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFunction5216); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleFunction"
-
-
-    // $ANTLR start "ruleFunction"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2127:1: ruleFunction returns [EObject current=null] : (otherlv_0= 'Function' otherlv_1= '{' otherlv_2= 'id' ( (lv_id_3_0= ruleEString ) ) (otherlv_4= 'parameters' otherlv_5= '{' ( (lv_parameters_6_0= ruleExpression ) ) (otherlv_7= ',' ( (lv_parameters_8_0= ruleExpression ) ) )* otherlv_9= '}' )? otherlv_10= '}' ) ;
-    public final EObject ruleFunction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_10=null;
-        AntlrDatatypeRuleToken lv_id_3_0 = null;
-
-        EObject lv_parameters_6_0 = null;
-
-        EObject lv_parameters_8_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2130:28: ( (otherlv_0= 'Function' otherlv_1= '{' otherlv_2= 'id' ( (lv_id_3_0= ruleEString ) ) (otherlv_4= 'parameters' otherlv_5= '{' ( (lv_parameters_6_0= ruleExpression ) ) (otherlv_7= ',' ( (lv_parameters_8_0= ruleExpression ) ) )* otherlv_9= '}' )? otherlv_10= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2131:1: (otherlv_0= 'Function' otherlv_1= '{' otherlv_2= 'id' ( (lv_id_3_0= ruleEString ) ) (otherlv_4= 'parameters' otherlv_5= '{' ( (lv_parameters_6_0= ruleExpression ) ) (otherlv_7= ',' ( (lv_parameters_8_0= ruleExpression ) ) )* otherlv_9= '}' )? otherlv_10= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2131:1: (otherlv_0= 'Function' otherlv_1= '{' otherlv_2= 'id' ( (lv_id_3_0= ruleEString ) ) (otherlv_4= 'parameters' otherlv_5= '{' ( (lv_parameters_6_0= ruleExpression ) ) (otherlv_7= ',' ( (lv_parameters_8_0= ruleExpression ) ) )* otherlv_9= '}' )? otherlv_10= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2131:3: otherlv_0= 'Function' otherlv_1= '{' otherlv_2= 'id' ( (lv_id_3_0= ruleEString ) ) (otherlv_4= 'parameters' otherlv_5= '{' ( (lv_parameters_6_0= ruleExpression ) ) (otherlv_7= ',' ( (lv_parameters_8_0= ruleExpression ) ) )* otherlv_9= '}' )? otherlv_10= '}'
-            {
-            otherlv_0=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleFunction5253); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getFunctionAccess().getFunctionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleFunction5265); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleFunction5277); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getFunctionAccess().getIdKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2143:1: ( (lv_id_3_0= ruleEString ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2144:1: (lv_id_3_0= ruleEString )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2144:1: (lv_id_3_0= ruleEString )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2145:3: lv_id_3_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getFunctionAccess().getIdEStringParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleFunction5298);
-            lv_id_3_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getFunctionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_3_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2161:2: (otherlv_4= 'parameters' otherlv_5= '{' ( (lv_parameters_6_0= ruleExpression ) ) (otherlv_7= ',' ( (lv_parameters_8_0= ruleExpression ) ) )* otherlv_9= '}' )?
-            int alt13=2;
-            int LA13_0 = input.LA(1);
-
-            if ( (LA13_0==35) ) {
-                alt13=1;
-            }
-            switch (alt13) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2161:4: otherlv_4= 'parameters' otherlv_5= '{' ( (lv_parameters_6_0= ruleExpression ) ) (otherlv_7= ',' ( (lv_parameters_8_0= ruleExpression ) ) )* otherlv_9= '}'
-                    {
-                    otherlv_4=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleFunction5311); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getFunctionAccess().getParametersKeyword_4_0());
-                        
-                    otherlv_5=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleFunction5323); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_4_1());
-                        
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2169:1: ( (lv_parameters_6_0= ruleExpression ) )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2170:1: (lv_parameters_6_0= ruleExpression )
-                    {
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2170:1: (lv_parameters_6_0= ruleExpression )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2171:3: lv_parameters_6_0= ruleExpression
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleFunction5344);
-                    lv_parameters_6_0=ruleExpression();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getFunctionRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"parameters",
-                            		lv_parameters_6_0, 
-                            		"Expression");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2187:2: (otherlv_7= ',' ( (lv_parameters_8_0= ruleExpression ) ) )*
-                    loop12:
-                    do {
-                        int alt12=2;
-                        int LA12_0 = input.LA(1);
-
-                        if ( (LA12_0==36) ) {
-                            alt12=1;
-                        }
-
-
-                        switch (alt12) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2187:4: otherlv_7= ',' ( (lv_parameters_8_0= ruleExpression ) )
-                    	    {
-                    	    otherlv_7=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleFunction5357); 
-
-                    	        	newLeafNode(otherlv_7, grammarAccess.getFunctionAccess().getCommaKeyword_4_3_0());
-                    	        
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2191:1: ( (lv_parameters_8_0= ruleExpression ) )
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2192:1: (lv_parameters_8_0= ruleExpression )
-                    	    {
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2192:1: (lv_parameters_8_0= ruleExpression )
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2193:3: lv_parameters_8_0= ruleExpression
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getFunctionAccess().getParametersExpressionParserRuleCall_4_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleFunction5378);
-                    	    lv_parameters_8_0=ruleExpression();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getFunctionRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"parameters",
-                    	            		lv_parameters_8_0, 
-                    	            		"Expression");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop12;
-                        }
-                    } while (true);
-
-                    otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleFunction5392); 
-
-                        	newLeafNode(otherlv_9, grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_4_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleFunction5406); 
-
-                	newLeafNode(otherlv_10, grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_5());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleFunction"
-
-
-    // $ANTLR start "entryRuleParenthesis"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2225:1: entryRuleParenthesis returns [EObject current=null] : iv_ruleParenthesis= ruleParenthesis EOF ;
-    public final EObject entryRuleParenthesis() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleParenthesis = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2226:2: (iv_ruleParenthesis= ruleParenthesis EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2227:2: iv_ruleParenthesis= ruleParenthesis EOF
-            {
-             newCompositeNode(grammarAccess.getParenthesisRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleParenthesis_in_entryRuleParenthesis5442);
-            iv_ruleParenthesis=ruleParenthesis();
-
-            state._fsp--;
-
-             current =iv_ruleParenthesis; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParenthesis5452); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleParenthesis"
-
-
-    // $ANTLR start "ruleParenthesis"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2234:1: ruleParenthesis returns [EObject current=null] : (otherlv_0= 'Parenthesis' otherlv_1= '{' otherlv_2= 'innerExpression' ( (lv_innerExpression_3_0= ruleExpression ) ) otherlv_4= '}' ) ;
-    public final EObject ruleParenthesis() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        EObject lv_innerExpression_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2237:28: ( (otherlv_0= 'Parenthesis' otherlv_1= '{' otherlv_2= 'innerExpression' ( (lv_innerExpression_3_0= ruleExpression ) ) otherlv_4= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2238:1: (otherlv_0= 'Parenthesis' otherlv_1= '{' otherlv_2= 'innerExpression' ( (lv_innerExpression_3_0= ruleExpression ) ) otherlv_4= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2238:1: (otherlv_0= 'Parenthesis' otherlv_1= '{' otherlv_2= 'innerExpression' ( (lv_innerExpression_3_0= ruleExpression ) ) otherlv_4= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2238:3: otherlv_0= 'Parenthesis' otherlv_1= '{' otherlv_2= 'innerExpression' ( (lv_innerExpression_3_0= ruleExpression ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleParenthesis5489); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getParenthesisAccess().getParenthesisKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleParenthesis5501); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getParenthesisAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleParenthesis5513); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getParenthesisAccess().getInnerExpressionKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2250:1: ( (lv_innerExpression_3_0= ruleExpression ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2251:1: (lv_innerExpression_3_0= ruleExpression )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2251:1: (lv_innerExpression_3_0= ruleExpression )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2252:3: lv_innerExpression_3_0= ruleExpression
-            {
-             
-            	        newCompositeNode(grammarAccess.getParenthesisAccess().getInnerExpressionExpressionParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleParenthesis5534);
-            lv_innerExpression_3_0=ruleExpression();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getParenthesisRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"innerExpression",
-                    		lv_innerExpression_3_0, 
-                    		"Expression");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleParenthesis5546); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getParenthesisAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleParenthesis"
-
-
-    // $ANTLR start "entryRuleLiteral_Impl"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2280:1: entryRuleLiteral_Impl returns [EObject current=null] : iv_ruleLiteral_Impl= ruleLiteral_Impl EOF ;
-    public final EObject entryRuleLiteral_Impl() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleLiteral_Impl = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2281:2: (iv_ruleLiteral_Impl= ruleLiteral_Impl EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2282:2: iv_ruleLiteral_Impl= ruleLiteral_Impl EOF
-            {
-             newCompositeNode(grammarAccess.getLiteral_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleLiteral_Impl_in_entryRuleLiteral_Impl5582);
-            iv_ruleLiteral_Impl=ruleLiteral_Impl();
-
-            state._fsp--;
-
-             current =iv_ruleLiteral_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLiteral_Impl5592); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleLiteral_Impl"
-
-
-    // $ANTLR start "ruleLiteral_Impl"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2289:1: ruleLiteral_Impl returns [EObject current=null] : ( () otherlv_1= 'Literal' ) ;
-    public final EObject ruleLiteral_Impl() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2292:28: ( ( () otherlv_1= 'Literal' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2293:1: ( () otherlv_1= 'Literal' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2293:1: ( () otherlv_1= 'Literal' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2293:2: () otherlv_1= 'Literal'
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2293:2: ()
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2294:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getLiteral_ImplAccess().getLiteralAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleLiteral_Impl5638); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getLiteral_ImplAccess().getLiteralKeyword_1());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleLiteral_Impl"
-
-
-    // $ANTLR start "entryRuleStringLiteral"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2311:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
-    public final EObject entryRuleStringLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleStringLiteral = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2312:2: (iv_ruleStringLiteral= ruleStringLiteral EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2313:2: iv_ruleStringLiteral= ruleStringLiteral EOF
-            {
-             newCompositeNode(grammarAccess.getStringLiteralRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral5674);
-            iv_ruleStringLiteral=ruleStringLiteral();
-
-            state._fsp--;
-
-             current =iv_ruleStringLiteral; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteral5684); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleStringLiteral"
-
-
-    // $ANTLR start "ruleStringLiteral"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2320:1: ruleStringLiteral returns [EObject current=null] : (otherlv_0= 'StringLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEString ) ) otherlv_4= '}' ) ;
-    public final EObject ruleStringLiteral() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        AntlrDatatypeRuleToken lv_value_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2323:28: ( (otherlv_0= 'StringLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEString ) ) otherlv_4= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2324:1: (otherlv_0= 'StringLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEString ) ) otherlv_4= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2324:1: (otherlv_0= 'StringLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEString ) ) otherlv_4= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2324:3: otherlv_0= 'StringLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEString ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleStringLiteral5721); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getStringLiteralAccess().getStringLiteralKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStringLiteral5733); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getStringLiteralAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleStringLiteral5745); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getStringLiteralAccess().getValueKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2336:1: ( (lv_value_3_0= ruleEString ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2337:1: (lv_value_3_0= ruleEString )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2337:1: (lv_value_3_0= ruleEString )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2338:3: lv_value_3_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getStringLiteralAccess().getValueEStringParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStringLiteral5766);
-            lv_value_3_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getStringLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_3_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleStringLiteral5778); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getStringLiteralAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleStringLiteral"
-
-
-    // $ANTLR start "entryRuleBoolLiteral"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2366:1: entryRuleBoolLiteral returns [EObject current=null] : iv_ruleBoolLiteral= ruleBoolLiteral EOF ;
-    public final EObject entryRuleBoolLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBoolLiteral = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2367:2: (iv_ruleBoolLiteral= ruleBoolLiteral EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2368:2: iv_ruleBoolLiteral= ruleBoolLiteral EOF
-            {
-             newCompositeNode(grammarAccess.getBoolLiteralRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBoolLiteral_in_entryRuleBoolLiteral5814);
-            iv_ruleBoolLiteral=ruleBoolLiteral();
-
-            state._fsp--;
-
-             current =iv_ruleBoolLiteral; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBoolLiteral5824); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBoolLiteral"
-
-
-    // $ANTLR start "ruleBoolLiteral"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2375:1: ruleBoolLiteral returns [EObject current=null] : ( ( (lv_value_0_0= 'value' ) ) otherlv_1= 'BoolLiteral' ) ;
-    public final EObject ruleBoolLiteral() throws RecognitionException {
-        EObject current = null;
-
-        Token lv_value_0_0=null;
-        Token otherlv_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2378:28: ( ( ( (lv_value_0_0= 'value' ) ) otherlv_1= 'BoolLiteral' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2379:1: ( ( (lv_value_0_0= 'value' ) ) otherlv_1= 'BoolLiteral' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2379:1: ( ( (lv_value_0_0= 'value' ) ) otherlv_1= 'BoolLiteral' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2379:2: ( (lv_value_0_0= 'value' ) ) otherlv_1= 'BoolLiteral'
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2379:2: ( (lv_value_0_0= 'value' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2380:1: (lv_value_0_0= 'value' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2380:1: (lv_value_0_0= 'value' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2381:3: lv_value_0_0= 'value'
-            {
-            lv_value_0_0=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleBoolLiteral5867); 
-
-                    newLeafNode(lv_value_0_0, grammarAccess.getBoolLiteralAccess().getValueValueKeyword_0_0());
-                
-
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getBoolLiteralRule());
-            	        }
-                   		setWithLastConsumed(current, "value", true, "value");
-            	    
-
-            }
-
-
-            }
-
-            otherlv_1=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleBoolLiteral5892); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getBoolLiteralAccess().getBoolLiteralKeyword_1());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBoolLiteral"
-
-
-    // $ANTLR start "entryRuleIntLiteral"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2406:1: entryRuleIntLiteral returns [EObject current=null] : iv_ruleIntLiteral= ruleIntLiteral EOF ;
-    public final EObject entryRuleIntLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleIntLiteral = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2407:2: (iv_ruleIntLiteral= ruleIntLiteral EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2408:2: iv_ruleIntLiteral= ruleIntLiteral EOF
-            {
-             newCompositeNode(grammarAccess.getIntLiteralRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral5928);
-            iv_ruleIntLiteral=ruleIntLiteral();
-
-            state._fsp--;
-
-             current =iv_ruleIntLiteral; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIntLiteral5938); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleIntLiteral"
-
-
-    // $ANTLR start "ruleIntLiteral"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2415:1: ruleIntLiteral returns [EObject current=null] : (otherlv_0= 'IntLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigInteger ) ) otherlv_4= '}' ) ;
-    public final EObject ruleIntLiteral() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        AntlrDatatypeRuleToken lv_value_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2418:28: ( (otherlv_0= 'IntLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigInteger ) ) otherlv_4= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2419:1: (otherlv_0= 'IntLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigInteger ) ) otherlv_4= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2419:1: (otherlv_0= 'IntLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigInteger ) ) otherlv_4= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2419:3: otherlv_0= 'IntLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigInteger ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleIntLiteral5975); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getIntLiteralAccess().getIntLiteralKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleIntLiteral5987); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getIntLiteralAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleIntLiteral5999); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getIntLiteralAccess().getValueKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2431:1: ( (lv_value_3_0= ruleEBigInteger ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2432:1: (lv_value_3_0= ruleEBigInteger )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2432:1: (lv_value_3_0= ruleEBigInteger )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2433:3: lv_value_3_0= ruleEBigInteger
-            {
-             
-            	        newCompositeNode(grammarAccess.getIntLiteralAccess().getValueEBigIntegerParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigInteger_in_ruleIntLiteral6020);
-            lv_value_3_0=ruleEBigInteger();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getIntLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_3_0, 
-                    		"EBigInteger");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleIntLiteral6032); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getIntLiteralAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleIntLiteral"
-
-
-    // $ANTLR start "entryRuleDoubleLiteral"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2461:1: entryRuleDoubleLiteral returns [EObject current=null] : iv_ruleDoubleLiteral= ruleDoubleLiteral EOF ;
-    public final EObject entryRuleDoubleLiteral() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDoubleLiteral = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2462:2: (iv_ruleDoubleLiteral= ruleDoubleLiteral EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2463:2: iv_ruleDoubleLiteral= ruleDoubleLiteral EOF
-            {
-             newCompositeNode(grammarAccess.getDoubleLiteralRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral6068);
-            iv_ruleDoubleLiteral=ruleDoubleLiteral();
-
-            state._fsp--;
-
-             current =iv_ruleDoubleLiteral; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDoubleLiteral6078); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDoubleLiteral"
-
-
-    // $ANTLR start "ruleDoubleLiteral"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2470:1: ruleDoubleLiteral returns [EObject current=null] : (otherlv_0= 'DoubleLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) ;
-    public final EObject ruleDoubleLiteral() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        AntlrDatatypeRuleToken lv_value_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2473:28: ( (otherlv_0= 'DoubleLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2474:1: (otherlv_0= 'DoubleLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2474:1: (otherlv_0= 'DoubleLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2474:3: otherlv_0= 'DoubleLiteral' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleDoubleLiteral6115); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getDoubleLiteralAccess().getDoubleLiteralKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleDoubleLiteral6127); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getDoubleLiteralAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleDoubleLiteral6139); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getDoubleLiteralAccess().getValueKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2486:1: ( (lv_value_3_0= ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2487:1: (lv_value_3_0= ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2487:1: (lv_value_3_0= ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2488:3: lv_value_3_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getDoubleLiteralAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleDoubleLiteral6160);
-            lv_value_3_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getDoubleLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_3_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleDoubleLiteral6172); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getDoubleLiteralAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDoubleLiteral"
-
-
-    // $ANTLR start "entryRuleFormalParameter"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2516:1: entryRuleFormalParameter returns [EObject current=null] : iv_ruleFormalParameter= ruleFormalParameter EOF ;
-    public final EObject entryRuleFormalParameter() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleFormalParameter = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2517:2: (iv_ruleFormalParameter= ruleFormalParameter EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2518:2: iv_ruleFormalParameter= ruleFormalParameter EOF
-            {
-             newCompositeNode(grammarAccess.getFormalParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter6208);
-            iv_ruleFormalParameter=ruleFormalParameter();
-
-            state._fsp--;
-
-             current =iv_ruleFormalParameter; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFormalParameter6218); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleFormalParameter"
-
-
-    // $ANTLR start "ruleFormalParameter"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2525:1: ruleFormalParameter returns [EObject current=null] : ( () otherlv_1= 'FormalParameter' ( (lv_name_2_0= ruleEString ) ) ) ;
-    public final EObject ruleFormalParameter() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        AntlrDatatypeRuleToken lv_name_2_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2528:28: ( ( () otherlv_1= 'FormalParameter' ( (lv_name_2_0= ruleEString ) ) ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2529:1: ( () otherlv_1= 'FormalParameter' ( (lv_name_2_0= ruleEString ) ) )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2529:1: ( () otherlv_1= 'FormalParameter' ( (lv_name_2_0= ruleEString ) ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2529:2: () otherlv_1= 'FormalParameter' ( (lv_name_2_0= ruleEString ) )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2529:2: ()
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2530:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getFormalParameterAccess().getFormalParameterAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleFormalParameter6264); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getFormalParameterAccess().getFormalParameterKeyword_1());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2539:1: ( (lv_name_2_0= ruleEString ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2540:1: (lv_name_2_0= ruleEString )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2540:1: (lv_name_2_0= ruleEString )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2541:3: lv_name_2_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getFormalParameterAccess().getNameEStringParserRuleCall_2_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleFormalParameter6285);
-            lv_name_2_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getFormalParameterRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_2_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleFormalParameter"
-
-
-    // $ANTLR start "entryRuleProbabilityMassFunction"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2565:1: entryRuleProbabilityMassFunction returns [EObject current=null] : iv_ruleProbabilityMassFunction= ruleProbabilityMassFunction EOF ;
-    public final EObject entryRuleProbabilityMassFunction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleProbabilityMassFunction = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2566:2: (iv_ruleProbabilityMassFunction= ruleProbabilityMassFunction EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2567:2: iv_ruleProbabilityMassFunction= ruleProbabilityMassFunction EOF
-            {
-             newCompositeNode(grammarAccess.getProbabilityMassFunctionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_entryRuleProbabilityMassFunction6321);
-            iv_ruleProbabilityMassFunction=ruleProbabilityMassFunction();
-
-            state._fsp--;
-
-             current =iv_ruleProbabilityMassFunction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProbabilityMassFunction6331); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProbabilityMassFunction"
-
-
-    // $ANTLR start "ruleProbabilityMassFunction"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2574:1: ruleProbabilityMassFunction returns [EObject current=null] : ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ;
-    public final EObject ruleProbabilityMassFunction() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_9=null;
-        EObject lv_sample_5_0 = null;
-
-        EObject lv_sample_7_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2577:28: ( ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2578:1: ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2578:1: ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2578:2: () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}'
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2578:2: ()
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2579:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleProbabilityMassFunction6377); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProbabilityMassFunction6389); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2592:1: (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )?
-            int alt15=2;
-            int LA15_0 = input.LA(1);
-
-            if ( (LA15_0==47) ) {
-                alt15=1;
-            }
-            switch (alt15) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2592:3: otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}'
-                    {
-                    otherlv_3=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleProbabilityMassFunction6402); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0());
-                        
-                    otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProbabilityMassFunction6414); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1());
-                        
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2600:1: ( (lv_sample_5_0= ruleSample ) )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2601:1: (lv_sample_5_0= ruleSample )
-                    {
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2601:1: (lv_sample_5_0= ruleSample )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2602:3: lv_sample_5_0= ruleSample
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleSample_in_ruleProbabilityMassFunction6435);
-                    lv_sample_5_0=ruleSample();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"sample",
-                            		lv_sample_5_0, 
-                            		"Sample");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2618:2: (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )*
-                    loop14:
-                    do {
-                        int alt14=2;
-                        int LA14_0 = input.LA(1);
-
-                        if ( (LA14_0==36) ) {
-                            alt14=1;
-                        }
-
-
-                        switch (alt14) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2618:4: otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) )
-                    	    {
-                    	    otherlv_6=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleProbabilityMassFunction6448); 
-
-                    	        	newLeafNode(otherlv_6, grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0());
-                    	        
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2622:1: ( (lv_sample_7_0= ruleSample ) )
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2623:1: (lv_sample_7_0= ruleSample )
-                    	    {
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2623:1: (lv_sample_7_0= ruleSample )
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2624:3: lv_sample_7_0= ruleSample
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleSample_in_ruleProbabilityMassFunction6469);
-                    	    lv_sample_7_0=ruleSample();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"sample",
-                    	            		lv_sample_7_0, 
-                    	            		"Sample");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop14;
-                        }
-                    } while (true);
-
-                    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleProbabilityMassFunction6483); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleProbabilityMassFunction6497); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProbabilityMassFunction"
-
-
-    // $ANTLR start "entryRuleBoxedPDF"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2656:1: entryRuleBoxedPDF returns [EObject current=null] : iv_ruleBoxedPDF= ruleBoxedPDF EOF ;
-    public final EObject entryRuleBoxedPDF() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleBoxedPDF = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2657:2: (iv_ruleBoxedPDF= ruleBoxedPDF EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2658:2: iv_ruleBoxedPDF= ruleBoxedPDF EOF
-            {
-             newCompositeNode(grammarAccess.getBoxedPDFRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_entryRuleBoxedPDF6533);
-            iv_ruleBoxedPDF=ruleBoxedPDF();
-
-            state._fsp--;
-
-             current =iv_ruleBoxedPDF; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBoxedPDF6543); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBoxedPDF"
-
-
-    // $ANTLR start "ruleBoxedPDF"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2665:1: ruleBoxedPDF returns [EObject current=null] : ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ;
-    public final EObject ruleBoxedPDF() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_9=null;
-        EObject lv_sample_5_0 = null;
-
-        EObject lv_sample_7_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2668:28: ( ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2669:1: ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2669:1: ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2669:2: () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}'
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2669:2: ()
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2670:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleBoxedPDF6589); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1());
-                
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBoxedPDF6601); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2683:1: (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )?
-            int alt17=2;
-            int LA17_0 = input.LA(1);
-
-            if ( (LA17_0==47) ) {
-                alt17=1;
-            }
-            switch (alt17) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2683:3: otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}'
-                    {
-                    otherlv_3=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleBoxedPDF6614); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0());
-                        
-                    otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBoxedPDF6626); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1());
-                        
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2691:1: ( (lv_sample_5_0= ruleContinuousSample ) )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2692:1: (lv_sample_5_0= ruleContinuousSample )
-                    {
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2692:1: (lv_sample_5_0= ruleContinuousSample )
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2693:3: lv_sample_5_0= ruleContinuousSample
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_ruleBoxedPDF6647);
-                    lv_sample_5_0=ruleContinuousSample();
-
-                    state._fsp--;
-
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getBoxedPDFRule());
-                    	        }
-                           		add(
-                           			current, 
-                           			"sample",
-                            		lv_sample_5_0, 
-                            		"ContinuousSample");
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2709:2: (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )*
-                    loop16:
-                    do {
-                        int alt16=2;
-                        int LA16_0 = input.LA(1);
-
-                        if ( (LA16_0==36) ) {
-                            alt16=1;
-                        }
-
-
-                        switch (alt16) {
-                    	case 1 :
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2709:4: otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) )
-                    	    {
-                    	    otherlv_6=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleBoxedPDF6660); 
-
-                    	        	newLeafNode(otherlv_6, grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0());
-                    	        
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2713:1: ( (lv_sample_7_0= ruleContinuousSample ) )
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2714:1: (lv_sample_7_0= ruleContinuousSample )
-                    	    {
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2714:1: (lv_sample_7_0= ruleContinuousSample )
-                    	    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2715:3: lv_sample_7_0= ruleContinuousSample
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_ruleBoxedPDF6681);
-                    	    lv_sample_7_0=ruleContinuousSample();
-
-                    	    state._fsp--;
-
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getBoxedPDFRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"sample",
-                    	            		lv_sample_7_0, 
-                    	            		"ContinuousSample");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop16;
-                        }
-                    } while (true);
-
-                    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBoxedPDF6695); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBoxedPDF6709); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBoxedPDF"
-
-
-    // $ANTLR start "entryRuleNormalDistribution"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2747:1: entryRuleNormalDistribution returns [EObject current=null] : iv_ruleNormalDistribution= ruleNormalDistribution EOF ;
-    public final EObject entryRuleNormalDistribution() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleNormalDistribution = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2748:2: (iv_ruleNormalDistribution= ruleNormalDistribution EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2749:2: iv_ruleNormalDistribution= ruleNormalDistribution EOF
-            {
-             newCompositeNode(grammarAccess.getNormalDistributionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_entryRuleNormalDistribution6745);
-            iv_ruleNormalDistribution=ruleNormalDistribution();
-
-            state._fsp--;
-
-             current =iv_ruleNormalDistribution; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNormalDistribution6755); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleNormalDistribution"
-
-
-    // $ANTLR start "ruleNormalDistribution"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2756:1: ruleNormalDistribution returns [EObject current=null] : (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) ;
-    public final EObject ruleNormalDistribution() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        AntlrDatatypeRuleToken lv_mu_3_0 = null;
-
-        AntlrDatatypeRuleToken lv_sigma_5_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2759:28: ( (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2760:1: (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2760:1: (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2760:3: otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleNormalDistribution6792); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleNormalDistribution6804); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleNormalDistribution6816); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getNormalDistributionAccess().getMuKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2772:1: ( (lv_mu_3_0= ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2773:1: (lv_mu_3_0= ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2773:1: (lv_mu_3_0= ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2774:3: lv_mu_3_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution6837);
-            lv_mu_3_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getNormalDistributionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"mu",
-                    		lv_mu_3_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleNormalDistribution6849); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2794:1: ( (lv_sigma_5_0= ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2795:1: (lv_sigma_5_0= ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2795:1: (lv_sigma_5_0= ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2796:3: lv_sigma_5_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution6870);
-            lv_sigma_5_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getNormalDistributionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"sigma",
-                    		lv_sigma_5_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleNormalDistribution6882); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleNormalDistribution"
-
-
-    // $ANTLR start "entryRuleExponentialDistribution"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2824:1: entryRuleExponentialDistribution returns [EObject current=null] : iv_ruleExponentialDistribution= ruleExponentialDistribution EOF ;
-    public final EObject entryRuleExponentialDistribution() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleExponentialDistribution = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2825:2: (iv_ruleExponentialDistribution= ruleExponentialDistribution EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2826:2: iv_ruleExponentialDistribution= ruleExponentialDistribution EOF
-            {
-             newCompositeNode(grammarAccess.getExponentialDistributionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_entryRuleExponentialDistribution6918);
-            iv_ruleExponentialDistribution=ruleExponentialDistribution();
-
-            state._fsp--;
-
-             current =iv_ruleExponentialDistribution; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExponentialDistribution6928); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleExponentialDistribution"
-
-
-    // $ANTLR start "ruleExponentialDistribution"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2833:1: ruleExponentialDistribution returns [EObject current=null] : (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) ;
-    public final EObject ruleExponentialDistribution() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        AntlrDatatypeRuleToken lv_rate_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2836:28: ( (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2837:1: (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2837:1: (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2837:3: otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}'
-            {
-            otherlv_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleExponentialDistribution6965); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExponentialDistribution6977); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleExponentialDistribution6989); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getExponentialDistributionAccess().getRateKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2849:1: ( (lv_rate_3_0= ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2850:1: (lv_rate_3_0= ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2850:1: (lv_rate_3_0= ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2851:3: lv_rate_3_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleExponentialDistribution7010);
-            lv_rate_3_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getExponentialDistributionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"rate",
-                    		lv_rate_3_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleExponentialDistribution7022); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleExponentialDistribution"
-
-
-    // $ANTLR start "entryRuleTermOperations"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2879:1: entryRuleTermOperations returns [String current=null] : iv_ruleTermOperations= ruleTermOperations EOF ;
-    public final String entryRuleTermOperations() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleTermOperations = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2880:2: (iv_ruleTermOperations= ruleTermOperations EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2881:2: iv_ruleTermOperations= ruleTermOperations EOF
-            {
-             newCompositeNode(grammarAccess.getTermOperationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTermOperations_in_entryRuleTermOperations7059);
-            iv_ruleTermOperations=ruleTermOperations();
-
-            state._fsp--;
-
-             current =iv_ruleTermOperations.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTermOperations7070); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleTermOperations"
-
-
-    // $ANTLR start "ruleTermOperations"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2888:1: ruleTermOperations returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'TermOperations' ;
-    public final AntlrDatatypeRuleToken ruleTermOperations() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2891:28: (kw= 'TermOperations' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2893:2: kw= 'TermOperations'
-            {
-            kw=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleTermOperations7107); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getTermOperationsAccess().getTermOperationsKeyword()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleTermOperations"
-
-
-    // $ANTLR start "entryRuleProductOperations"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2906:1: entryRuleProductOperations returns [String current=null] : iv_ruleProductOperations= ruleProductOperations EOF ;
-    public final String entryRuleProductOperations() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleProductOperations = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2907:2: (iv_ruleProductOperations= ruleProductOperations EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2908:2: iv_ruleProductOperations= ruleProductOperations EOF
-            {
-             newCompositeNode(grammarAccess.getProductOperationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProductOperations_in_entryRuleProductOperations7147);
-            iv_ruleProductOperations=ruleProductOperations();
-
-            state._fsp--;
-
-             current =iv_ruleProductOperations.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProductOperations7158); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleProductOperations"
-
-
-    // $ANTLR start "ruleProductOperations"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2915:1: ruleProductOperations returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'ProductOperations' ;
-    public final AntlrDatatypeRuleToken ruleProductOperations() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2918:28: (kw= 'ProductOperations' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2920:2: kw= 'ProductOperations'
-            {
-            kw=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleProductOperations7195); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getProductOperationsAccess().getProductOperationsKeyword()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleProductOperations"
-
-
-    // $ANTLR start "entryRuleCompareOperations"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2933:1: entryRuleCompareOperations returns [String current=null] : iv_ruleCompareOperations= ruleCompareOperations EOF ;
-    public final String entryRuleCompareOperations() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleCompareOperations = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2934:2: (iv_ruleCompareOperations= ruleCompareOperations EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2935:2: iv_ruleCompareOperations= ruleCompareOperations EOF
-            {
-             newCompositeNode(grammarAccess.getCompareOperationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompareOperations_in_entryRuleCompareOperations7235);
-            iv_ruleCompareOperations=ruleCompareOperations();
-
-            state._fsp--;
-
-             current =iv_ruleCompareOperations.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompareOperations7246); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleCompareOperations"
-
-
-    // $ANTLR start "ruleCompareOperations"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2942:1: ruleCompareOperations returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'CompareOperations' ;
-    public final AntlrDatatypeRuleToken ruleCompareOperations() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2945:28: (kw= 'CompareOperations' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2947:2: kw= 'CompareOperations'
-            {
-            kw=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleCompareOperations7283); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getCompareOperationsAccess().getCompareOperationsKeyword()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleCompareOperations"
-
-
-    // $ANTLR start "entryRuleBooleanOperations"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2960:1: entryRuleBooleanOperations returns [String current=null] : iv_ruleBooleanOperations= ruleBooleanOperations EOF ;
-    public final String entryRuleBooleanOperations() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleBooleanOperations = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2961:2: (iv_ruleBooleanOperations= ruleBooleanOperations EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2962:2: iv_ruleBooleanOperations= ruleBooleanOperations EOF
-            {
-             newCompositeNode(grammarAccess.getBooleanOperationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanOperations_in_entryRuleBooleanOperations7323);
-            iv_ruleBooleanOperations=ruleBooleanOperations();
-
-            state._fsp--;
-
-             current =iv_ruleBooleanOperations.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanOperations7334); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleBooleanOperations"
-
-
-    // $ANTLR start "ruleBooleanOperations"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2969:1: ruleBooleanOperations returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'BooleanOperations' ;
-    public final AntlrDatatypeRuleToken ruleBooleanOperations() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2972:28: (kw= 'BooleanOperations' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2974:2: kw= 'BooleanOperations'
-            {
-            kw=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleBooleanOperations7371); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getBooleanOperationsAccess().getBooleanOperationsKeyword()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleBooleanOperations"
-
-
-    // $ANTLR start "entryRuleEBigInteger"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2989:1: entryRuleEBigInteger returns [String current=null] : iv_ruleEBigInteger= ruleEBigInteger EOF ;
-    public final String entryRuleEBigInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEBigInteger = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2990:2: (iv_ruleEBigInteger= ruleEBigInteger EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2991:2: iv_ruleEBigInteger= ruleEBigInteger EOF
-            {
-             newCompositeNode(grammarAccess.getEBigIntegerRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigInteger_in_entryRuleEBigInteger7413);
-            iv_ruleEBigInteger=ruleEBigInteger();
-
-            state._fsp--;
-
-             current =iv_ruleEBigInteger.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEBigInteger7424); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEBigInteger"
-
-
-    // $ANTLR start "ruleEBigInteger"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:2998:1: ruleEBigInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleEBigInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3001:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3002:1: ( (kw= '-' )? this_INT_1= RULE_INT )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3002:1: ( (kw= '-' )? this_INT_1= RULE_INT )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3002:2: (kw= '-' )? this_INT_1= RULE_INT
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3002:2: (kw= '-' )?
-            int alt18=2;
-            int LA18_0 = input.LA(1);
-
-            if ( (LA18_0==58) ) {
-                alt18=1;
-            }
-            switch (alt18) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3003:2: kw= '-'
-                    {
-                    kw=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleEBigInteger7463); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEBigInteger7480); 
-
-            		current.merge(this_INT_1);
-                
-             
-                newLeafNode(this_INT_1, grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEBigInteger"
-
-
-    // $ANTLR start "entryRuleEBigDecimal"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3023:1: entryRuleEBigDecimal returns [String current=null] : iv_ruleEBigDecimal= ruleEBigDecimal EOF ;
-    public final String entryRuleEBigDecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEBigDecimal = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3024:2: (iv_ruleEBigDecimal= ruleEBigDecimal EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3025:2: iv_ruleEBigDecimal= ruleEBigDecimal EOF
-            {
-             newCompositeNode(grammarAccess.getEBigDecimalRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_entryRuleEBigDecimal7526);
-            iv_ruleEBigDecimal=ruleEBigDecimal();
-
-            state._fsp--;
-
-             current =iv_ruleEBigDecimal.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEBigDecimal7537); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEBigDecimal"
-
-
-    // $ANTLR start "ruleEBigDecimal"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3032:1: ruleEBigDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleEBigDecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_INT_0=null;
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3035:28: ( ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3036:1: ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3036:1: ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3036:2: (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3036:2: (this_INT_0= RULE_INT )?
-            int alt19=2;
-            int LA19_0 = input.LA(1);
-
-            if ( (LA19_0==RULE_INT) ) {
-                alt19=1;
-            }
-            switch (alt19) {
-                case 1 :
-                    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3036:7: this_INT_0= RULE_INT
-                    {
-                    this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEBigDecimal7578); 
-
-                    		current.merge(this_INT_0);
-                        
-                     
-                        newLeafNode(this_INT_0, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleEBigDecimal7598); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); 
-                
-            this_INT_2=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEBigDecimal7613); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEBigDecimal"
-
-
-    // $ANTLR start "entryRuleSample"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3064:1: entryRuleSample returns [EObject current=null] : iv_ruleSample= ruleSample EOF ;
-    public final EObject entryRuleSample() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleSample = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3065:2: (iv_ruleSample= ruleSample EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3066:2: iv_ruleSample= ruleSample EOF
-            {
-             newCompositeNode(grammarAccess.getSampleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSample_in_entryRuleSample7658);
-            iv_ruleSample=ruleSample();
-
-            state._fsp--;
-
-             current =iv_ruleSample; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSample7668); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSample"
-
-
-    // $ANTLR start "ruleSample"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3073:1: ruleSample returns [EObject current=null] : (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' ) ;
-    public final EObject ruleSample() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        AntlrDatatypeRuleToken lv_probability_3_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3076:28: ( (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3077:1: (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3077:1: (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3077:3: otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleSample7705); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getSampleAccess().getSampleKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSample7717); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleSample7729); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getSampleAccess().getProbabilityKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3089:1: ( (lv_probability_3_0= ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3090:1: (lv_probability_3_0= ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3090:1: (lv_probability_3_0= ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3091:3: lv_probability_3_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleSample7750);
-            lv_probability_3_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getSampleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"probability",
-                    		lv_probability_3_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleSample7762); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getSampleAccess().getValueKeyword_4());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3111:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3112:1: ( ruleEString )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3112:1: ( ruleEString )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3113:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getSampleRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSample7785);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSample7797); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSample"
-
-
-    // $ANTLR start "entryRuleContinuousSample"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3140:1: entryRuleContinuousSample returns [EObject current=null] : iv_ruleContinuousSample= ruleContinuousSample EOF ;
-    public final EObject entryRuleContinuousSample() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleContinuousSample = null;
-
-
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3141:2: (iv_ruleContinuousSample= ruleContinuousSample EOF )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3142:2: iv_ruleContinuousSample= ruleContinuousSample EOF
-            {
-             newCompositeNode(grammarAccess.getContinuousSampleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_entryRuleContinuousSample7835);
-            iv_ruleContinuousSample=ruleContinuousSample();
-
-            state._fsp--;
-
-             current =iv_ruleContinuousSample; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleContinuousSample7845); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleContinuousSample"
-
-
-    // $ANTLR start "ruleContinuousSample"
-    // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3149:1: ruleContinuousSample returns [EObject current=null] : (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) ;
-    public final EObject ruleContinuousSample() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        AntlrDatatypeRuleToken lv_value_3_0 = null;
-
-        AntlrDatatypeRuleToken lv_probability_5_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3152:28: ( (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3153:1: (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3153:1: (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3153:3: otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}'
-            {
-            otherlv_0=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleContinuousSample7882); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleContinuousSample7894); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleContinuousSample7906); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getContinuousSampleAccess().getValueKeyword_2());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3165:1: ( (lv_value_3_0= ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3166:1: (lv_value_3_0= ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3166:1: (lv_value_3_0= ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3167:3: lv_value_3_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleContinuousSample7927);
-            lv_value_3_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getContinuousSampleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_3_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_4=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleContinuousSample7939); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4());
-                
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3187:1: ( (lv_probability_5_0= ruleEBigDecimal ) )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3188:1: (lv_probability_5_0= ruleEBigDecimal )
-            {
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3188:1: (lv_probability_5_0= ruleEBigDecimal )
-            // ../org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/parser/antlr/internal/InternalMyDsl1.g:3189:3: lv_probability_5_0= ruleEBigDecimal
-            {
-             
-            	        newCompositeNode(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleContinuousSample7960);
-            lv_probability_5_0=ruleEBigDecimal();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getContinuousSampleRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"probability",
-                    		lv_probability_5_0, 
-                    		"EBigDecimal");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleContinuousSample7972); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleContinuousSample"
-
-    // Delegated rules
-
-
- 
-
-    
-    private static class FollowSets000 {
-        public static final BitSet FOLLOW_ruleExplicitFunction_in_entryRuleExplicitFunction75 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExplicitFunction85 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_11_in_ruleExplicitFunction131 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExplicitFunction143 = new BitSet(new long[]{0x000000000000E000L});
-        public static final BitSet FOLLOW_13_in_ruleExplicitFunction156 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleExplicitFunction177 = new BitSet(new long[]{0x000000000000C000L});
-        public static final BitSet FOLLOW_14_in_ruleExplicitFunction192 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleExpression_in_ruleExplicitFunction213 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleExplicitFunction227 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression263 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExpression273 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression_in_ruleExpression320 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_ruleExpression347 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompareExpression_in_ruleExpression374 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_ruleExpression401 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanOperatorExpression_in_ruleExpression428 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_ruleExpression455 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_ruleExpression482 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleExpression509 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_ruleExpression536 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_ruleExpression563 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_ruleExpression590 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_ruleExpression617 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_ruleExpression644 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_ruleExpression671 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_ruleExpression698 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_ruleExpression725 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_ruleExpression752 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_ruleExpression779 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_ruleExpression806 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_ruleExpression833 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm868 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTerm878 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression_in_ruleTerm925 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_ruleTerm952 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_ruleTerm979 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_ruleTerm1006 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_ruleTerm1033 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_ruleTerm1060 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_ruleTerm1087 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_ruleTerm1114 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_ruleTerm1141 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_ruleTerm1168 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_ruleTerm1195 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_ruleTerm1222 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_ruleTerm1249 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_ruleTerm1276 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_ruleTerm1303 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_ruleTerm1330 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_ruleTerm1357 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProduct_in_entryRuleProduct1392 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProduct1402 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_ruleProduct1449 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_ruleProduct1476 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_ruleProduct1503 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_ruleProduct1530 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_ruleProduct1557 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_ruleProduct1584 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_ruleProduct1611 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_ruleProduct1638 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_ruleProduct1665 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_ruleProduct1692 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_ruleProduct1719 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_ruleProduct1746 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_ruleProduct1773 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_ruleProduct1800 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_ruleProduct1827 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_ruleProduct1854 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePower_in_entryRulePower1889 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePower1899 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_rulePower1946 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_rulePower1973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_rulePower2000 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_rulePower2027 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_rulePower2054 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_rulePower2081 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_rulePower2108 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_rulePower2135 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_rulePower2162 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_rulePower2189 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_rulePower2216 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_rulePower2243 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_rulePower2270 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_rulePower2297 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_rulePower2324 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnary_in_entryRuleUnary2359 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleUnary2369 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_ruleUnary2416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_ruleUnary2443 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_ruleUnary2470 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_ruleUnary2497 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_ruleUnary2524 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_ruleUnary2551 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_ruleUnary2578 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_ruleUnary2605 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_ruleUnary2632 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_ruleUnary2659 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_ruleUnary2686 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_ruleUnary2713 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_ruleUnary2740 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_ruleUnary2767 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_entryRuleBooleanExpression2802 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanExpression2812 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression_in_ruleBooleanExpression2859 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_ruleBooleanExpression2886 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompareExpression_in_ruleBooleanExpression2913 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_ruleBooleanExpression2940 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanOperatorExpression_in_ruleBooleanExpression2967 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_ruleBooleanExpression2994 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_ruleBooleanExpression3021 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_ruleBooleanExpression3048 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_ruleBooleanExpression3075 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_ruleBooleanExpression3102 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_ruleBooleanExpression3129 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_ruleBooleanExpression3156 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_ruleBooleanExpression3183 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_ruleBooleanExpression3210 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_ruleBooleanExpression3237 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_ruleBooleanExpression3264 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_ruleBooleanExpression3291 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_ruleBooleanExpression3318 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_ruleBooleanExpression3345 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString3381 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEString3392 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_STRING_in_ruleEString3432 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ID_in_ruleEString3458 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression_in_entryRuleTermExpression3503 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTermExpression3513 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_ruleTermExpression3550 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleTermExpression3562 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleTermExpression2_in_ruleTermExpression3584 = new BitSet(new long[]{0x0040000000008000L});
-        public static final BitSet FOLLOW_ruleTermOperations_in_ruleTermExpression3614 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleProduct_in_ruleTermExpression3635 = new BitSet(new long[]{0x0040000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleTermExpression3649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermExpression2_in_entryRuleTermExpression23685 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTermExpression23695 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTerm_in_ruleTermExpression23741 = new BitSet(new long[]{0x0040000000000000L});
-        public static final BitSet FOLLOW_ruleTermOperations_in_ruleTermExpression23762 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleProduct_in_ruleTermExpression23783 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression_in_entryRuleProductExpression3819 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProductExpression3829 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_ruleProductExpression3866 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleProductExpression3878 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleProductExpression2_in_ruleProductExpression3900 = new BitSet(new long[]{0x0080000000008000L});
-        public static final BitSet FOLLOW_ruleProductOperations_in_ruleProductExpression3930 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_rulePower_in_ruleProductExpression3951 = new BitSet(new long[]{0x0080000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleProductExpression3965 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductExpression2_in_entryRuleProductExpression24001 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProductExpression24011 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProduct_in_ruleProductExpression24057 = new BitSet(new long[]{0x0080000000000000L});
-        public static final BitSet FOLLOW_ruleProductOperations_in_ruleProductExpression24078 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_rulePower_in_ruleProductExpression24099 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompareExpression_in_entryRuleCompareExpression4135 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompareExpression4145 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_ruleCompareExpression4182 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompareExpression4194 = new BitSet(new long[]{0x0000000000080000L});
-        public static final BitSet FOLLOW_19_in_ruleCompareExpression4206 = new BitSet(new long[]{0x0100000000000000L});
-        public static final BitSet FOLLOW_ruleCompareOperations_in_ruleCompareExpression4227 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_20_in_ruleCompareExpression4239 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleTerm_in_ruleCompareExpression4260 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_21_in_ruleCompareExpression4272 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleTerm_in_ruleCompareExpression4293 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleCompareExpression4305 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePowerExpression_in_entryRulePowerExpression4341 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePowerExpression4351 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_22_in_rulePowerExpression4388 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_rulePowerExpression4400 = new BitSet(new long[]{0x0000000000800000L});
-        public static final BitSet FOLLOW_23_in_rulePowerExpression4412 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_rulePower_in_rulePowerExpression4433 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_24_in_rulePowerExpression4445 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleUnary_in_rulePowerExpression4466 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_rulePowerExpression4478 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanOperatorExpression_in_entryRuleBooleanOperatorExpression4514 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanOperatorExpression4524 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_ruleBooleanOperatorExpression4561 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBooleanOperatorExpression4573 = new BitSet(new long[]{0x0000000000080000L});
-        public static final BitSet FOLLOW_19_in_ruleBooleanOperatorExpression4585 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_ruleBooleanOperations_in_ruleBooleanOperatorExpression4606 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_20_in_ruleBooleanOperatorExpression4618 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_ruleBooleanOperatorExpression4639 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_21_in_ruleBooleanOperatorExpression4651 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_ruleBooleanOperatorExpression4672 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleBooleanOperatorExpression4684 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNotExpression_in_entryRuleNotExpression4720 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNotExpression4730 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_ruleNotExpression4767 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleNotExpression4779 = new BitSet(new long[]{0x0000000008000000L});
-        public static final BitSet FOLLOW_27_in_ruleNotExpression4791 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleUnary_in_ruleNotExpression4812 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleNotExpression4824 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNegativeExpression_in_entryRuleNegativeExpression4860 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNegativeExpression4870 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_28_in_ruleNegativeExpression4907 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleNegativeExpression4919 = new BitSet(new long[]{0x0000000008000000L});
-        public static final BitSet FOLLOW_27_in_ruleNegativeExpression4931 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleUnary_in_ruleNegativeExpression4952 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleNegativeExpression4964 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression5000 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleIfElseExpression5010 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_ruleIfElseExpression5047 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleIfElseExpression5059 = new BitSet(new long[]{0x0000000040000000L});
-        public static final BitSet FOLLOW_30_in_ruleIfElseExpression5071 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_ruleIfElseExpression5092 = new BitSet(new long[]{0x0000000080000000L});
-        public static final BitSet FOLLOW_31_in_ruleIfElseExpression5104 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_ruleIfElseExpression5125 = new BitSet(new long[]{0x0000000100000000L});
-        public static final BitSet FOLLOW_32_in_ruleIfElseExpression5137 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleBooleanExpression_in_ruleIfElseExpression5158 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleIfElseExpression5170 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction5206 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleFunction5216 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_33_in_ruleFunction5253 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleFunction5265 = new BitSet(new long[]{0x0000000400000000L});
-        public static final BitSet FOLLOW_34_in_ruleFunction5277 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleFunction5298 = new BitSet(new long[]{0x0000000800008000L});
-        public static final BitSet FOLLOW_35_in_ruleFunction5311 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleFunction5323 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleExpression_in_ruleFunction5344 = new BitSet(new long[]{0x0000001000008000L});
-        public static final BitSet FOLLOW_36_in_ruleFunction5357 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleExpression_in_ruleFunction5378 = new BitSet(new long[]{0x0000001000008000L});
-        public static final BitSet FOLLOW_15_in_ruleFunction5392 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleFunction5406 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParenthesis_in_entryRuleParenthesis5442 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleParenthesis5452 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_ruleParenthesis5489 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleParenthesis5501 = new BitSet(new long[]{0x0000004000000000L});
-        public static final BitSet FOLLOW_38_in_ruleParenthesis5513 = new BitSet(new long[]{0x00137BA236470000L});
-        public static final BitSet FOLLOW_ruleExpression_in_ruleParenthesis5534 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleParenthesis5546 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLiteral_Impl_in_entryRuleLiteral_Impl5582 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLiteral_Impl5592 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_39_in_ruleLiteral_Impl5638 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral5674 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral5684 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_40_in_ruleStringLiteral5721 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleStringLiteral5733 = new BitSet(new long[]{0x0000020000000000L});
-        public static final BitSet FOLLOW_41_in_ruleStringLiteral5745 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStringLiteral5766 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleStringLiteral5778 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoolLiteral_in_entryRuleBoolLiteral5814 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBoolLiteral5824 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_41_in_ruleBoolLiteral5867 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_42_in_ruleBoolLiteral5892 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral5928 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral5938 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_43_in_ruleIntLiteral5975 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleIntLiteral5987 = new BitSet(new long[]{0x0000020000000000L});
-        public static final BitSet FOLLOW_41_in_ruleIntLiteral5999 = new BitSet(new long[]{0x0400000000000040L});
-        public static final BitSet FOLLOW_ruleEBigInteger_in_ruleIntLiteral6020 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleIntLiteral6032 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral6068 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleDoubleLiteral6078 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_44_in_ruleDoubleLiteral6115 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleDoubleLiteral6127 = new BitSet(new long[]{0x0000020000000000L});
-        public static final BitSet FOLLOW_41_in_ruleDoubleLiteral6139 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleDoubleLiteral6160 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleDoubleLiteral6172 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter6208 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleFormalParameter6218 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_ruleFormalParameter6264 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleFormalParameter6285 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_entryRuleProbabilityMassFunction6321 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProbabilityMassFunction6331 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_ruleProbabilityMassFunction6377 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleProbabilityMassFunction6389 = new BitSet(new long[]{0x0000800000008000L});
-        public static final BitSet FOLLOW_47_in_ruleProbabilityMassFunction6402 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleProbabilityMassFunction6414 = new BitSet(new long[]{0x1000000000000000L});
-        public static final BitSet FOLLOW_ruleSample_in_ruleProbabilityMassFunction6435 = new BitSet(new long[]{0x0000001000008000L});
-        public static final BitSet FOLLOW_36_in_ruleProbabilityMassFunction6448 = new BitSet(new long[]{0x1000000000000000L});
-        public static final BitSet FOLLOW_ruleSample_in_ruleProbabilityMassFunction6469 = new BitSet(new long[]{0x0000001000008000L});
-        public static final BitSet FOLLOW_15_in_ruleProbabilityMassFunction6483 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleProbabilityMassFunction6497 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBoxedPDF_in_entryRuleBoxedPDF6533 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBoxedPDF6543 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_ruleBoxedPDF6589 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBoxedPDF6601 = new BitSet(new long[]{0x0000800000008000L});
-        public static final BitSet FOLLOW_47_in_ruleBoxedPDF6614 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBoxedPDF6626 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_ruleContinuousSample_in_ruleBoxedPDF6647 = new BitSet(new long[]{0x0000001000008000L});
-        public static final BitSet FOLLOW_36_in_ruleBoxedPDF6660 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_ruleContinuousSample_in_ruleBoxedPDF6681 = new BitSet(new long[]{0x0000001000008000L});
-        public static final BitSet FOLLOW_15_in_ruleBoxedPDF6695 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleBoxedPDF6709 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNormalDistribution_in_entryRuleNormalDistribution6745 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNormalDistribution6755 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_49_in_ruleNormalDistribution6792 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleNormalDistribution6804 = new BitSet(new long[]{0x0004000000000000L});
-        public static final BitSet FOLLOW_50_in_ruleNormalDistribution6816 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution6837 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_51_in_ruleNormalDistribution6849 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution6870 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleNormalDistribution6882 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExponentialDistribution_in_entryRuleExponentialDistribution6918 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExponentialDistribution6928 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_52_in_ruleExponentialDistribution6965 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleExponentialDistribution6977 = new BitSet(new long[]{0x0020000000000000L});
-        public static final BitSet FOLLOW_53_in_ruleExponentialDistribution6989 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleExponentialDistribution7010 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleExponentialDistribution7022 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTermOperations_in_entryRuleTermOperations7059 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTermOperations7070 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_54_in_ruleTermOperations7107 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProductOperations_in_entryRuleProductOperations7147 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProductOperations7158 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleProductOperations7195 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompareOperations_in_entryRuleCompareOperations7235 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompareOperations7246 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_56_in_ruleCompareOperations7283 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanOperations_in_entryRuleBooleanOperations7323 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanOperations7334 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_57_in_ruleBooleanOperations7371 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigInteger_in_entryRuleEBigInteger7413 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEBigInteger7424 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleEBigInteger7463 = new BitSet(new long[]{0x0000000000000040L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEBigInteger7480 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_entryRuleEBigDecimal7526 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEBigDecimal7537 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEBigDecimal7578 = new BitSet(new long[]{0x0800000000000000L});
-        public static final BitSet FOLLOW_59_in_ruleEBigDecimal7598 = new BitSet(new long[]{0x0000000000000040L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEBigDecimal7613 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSample_in_entryRuleSample7658 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSample7668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_ruleSample7705 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSample7717 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleSample7729 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleSample7750 = new BitSet(new long[]{0x0000020000000000L});
-        public static final BitSet FOLLOW_41_in_ruleSample7762 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSample7785 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleSample7797 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleContinuousSample_in_entryRuleContinuousSample7835 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleContinuousSample7845 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_62_in_ruleContinuousSample7882 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleContinuousSample7894 = new BitSet(new long[]{0x0000020000000000L});
-        public static final BitSet FOLLOW_41_in_ruleContinuousSample7906 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleContinuousSample7927 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleContinuousSample7939 = new BitSet(new long[]{0x0800000000000040L});
-        public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleContinuousSample7960 = new BitSet(new long[]{0x0000000000008000L});
-        public static final BitSet FOLLOW_15_in_ruleContinuousSample7972 = new BitSet(new long[]{0x0000000000000002L});
-    }
-
-
-}
\ No newline at end of file
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/services/MyDsl1GrammarAccess.java b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/services/MyDsl1GrammarAccess.java
deleted file mode 100644
index 012c1057f950ca496616fdd99beb418787b32642..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/services/MyDsl1GrammarAccess.java
+++ /dev/null
@@ -1,2508 +0,0 @@
-/*
-* generated by Xtext
-*/
-
-package org.xtext.example.mydsl1.services;
-
-import com.google.inject.Singleton;
-import com.google.inject.Inject;
-
-import java.util.List;
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.service.GrammarProvider;
-import org.eclipse.xtext.service.AbstractElementFinder.*;
-
-import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
-
-@Singleton
-public class MyDsl1GrammarAccess extends AbstractGrammarElementFinder {
-	
-	
-	public class ExplicitFunctionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExplicitFunction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cExplicitFunctionAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cExplicitFunctionKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSpecificationKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cSpecificationAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final RuleCall cSpecificationEStringParserRuleCall_3_1_0 = (RuleCall)cSpecificationAssignment_3_1.eContents().get(0);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cExpressionKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cExpressionAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final RuleCall cExpressionExpressionParserRuleCall_4_1_0 = (RuleCall)cExpressionAssignment_4_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//ExplicitFunction:
-		//
-		//	{ExplicitFunction} "ExplicitFunction" "{" ("specification" specification=EString)? ("expression"
-		//
-		//	expression=Expression)? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{ExplicitFunction} "ExplicitFunction" "{" ("specification" specification=EString)? ("expression" expression=Expression)?
-		//
-		//"}"
-		public Group getGroup() { return cGroup; }
-
-		//{ExplicitFunction}
-		public Action getExplicitFunctionAction_0() { return cExplicitFunctionAction_0; }
-
-		//"ExplicitFunction"
-		public Keyword getExplicitFunctionKeyword_1() { return cExplicitFunctionKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("specification" specification=EString)?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"specification"
-		public Keyword getSpecificationKeyword_3_0() { return cSpecificationKeyword_3_0; }
-
-		//specification=EString
-		public Assignment getSpecificationAssignment_3_1() { return cSpecificationAssignment_3_1; }
-
-		//EString
-		public RuleCall getSpecificationEStringParserRuleCall_3_1_0() { return cSpecificationEStringParserRuleCall_3_1_0; }
-
-		//("expression" expression=Expression)?
-		public Group getGroup_4() { return cGroup_4; }
-
-		//"expression"
-		public Keyword getExpressionKeyword_4_0() { return cExpressionKeyword_4_0; }
-
-		//expression=Expression
-		public Assignment getExpressionAssignment_4_1() { return cExpressionAssignment_4_1; }
-
-		//Expression
-		public RuleCall getExpressionExpressionParserRuleCall_4_1_0() { return cExpressionExpressionParserRuleCall_4_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
-	}
-
-	public class ExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cTermExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cProductExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cCompareExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cPowerExpressionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		private final RuleCall cBooleanOperatorExpressionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
-		private final RuleCall cNotExpressionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
-		private final RuleCall cNegativeExpressionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
-		private final RuleCall cIfElseExpressionParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
-		private final RuleCall cFunctionParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
-		private final RuleCall cParenthesisParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
-		private final RuleCall cLiteral_ImplParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
-		private final RuleCall cStringLiteralParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
-		private final RuleCall cBoolLiteralParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12);
-		private final RuleCall cIntLiteralParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13);
-		private final RuleCall cDoubleLiteralParserRuleCall_14 = (RuleCall)cAlternatives.eContents().get(14);
-		private final RuleCall cFormalParameterParserRuleCall_15 = (RuleCall)cAlternatives.eContents().get(15);
-		private final RuleCall cProbabilityMassFunctionParserRuleCall_16 = (RuleCall)cAlternatives.eContents().get(16);
-		private final RuleCall cBoxedPDFParserRuleCall_17 = (RuleCall)cAlternatives.eContents().get(17);
-		private final RuleCall cNormalDistributionParserRuleCall_18 = (RuleCall)cAlternatives.eContents().get(18);
-		private final RuleCall cExponentialDistributionParserRuleCall_19 = (RuleCall)cAlternatives.eContents().get(19);
-		
-		//Expression:
-		//
-		//	TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression
-		//
-		//	| NegativeExpression | IfElseExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral |
-		//
-		//	IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
-		//
-		//	ExponentialDistribution;
-		public ParserRule getRule() { return rule; }
-
-		//TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression |
-		//
-		//NegativeExpression | IfElseExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral |
-		//
-		//IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
-		//
-		//ExponentialDistribution
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//TermExpression
-		public RuleCall getTermExpressionParserRuleCall_0() { return cTermExpressionParserRuleCall_0; }
-
-		//ProductExpression
-		public RuleCall getProductExpressionParserRuleCall_1() { return cProductExpressionParserRuleCall_1; }
-
-		//CompareExpression
-		public RuleCall getCompareExpressionParserRuleCall_2() { return cCompareExpressionParserRuleCall_2; }
-
-		//PowerExpression
-		public RuleCall getPowerExpressionParserRuleCall_3() { return cPowerExpressionParserRuleCall_3; }
-
-		//BooleanOperatorExpression
-		public RuleCall getBooleanOperatorExpressionParserRuleCall_4() { return cBooleanOperatorExpressionParserRuleCall_4; }
-
-		//NotExpression
-		public RuleCall getNotExpressionParserRuleCall_5() { return cNotExpressionParserRuleCall_5; }
-
-		//NegativeExpression
-		public RuleCall getNegativeExpressionParserRuleCall_6() { return cNegativeExpressionParserRuleCall_6; }
-
-		//IfElseExpression
-		public RuleCall getIfElseExpressionParserRuleCall_7() { return cIfElseExpressionParserRuleCall_7; }
-
-		//Function
-		public RuleCall getFunctionParserRuleCall_8() { return cFunctionParserRuleCall_8; }
-
-		//Parenthesis
-		public RuleCall getParenthesisParserRuleCall_9() { return cParenthesisParserRuleCall_9; }
-
-		//Literal_Impl
-		public RuleCall getLiteral_ImplParserRuleCall_10() { return cLiteral_ImplParserRuleCall_10; }
-
-		//StringLiteral
-		public RuleCall getStringLiteralParserRuleCall_11() { return cStringLiteralParserRuleCall_11; }
-
-		//BoolLiteral
-		public RuleCall getBoolLiteralParserRuleCall_12() { return cBoolLiteralParserRuleCall_12; }
-
-		//IntLiteral
-		public RuleCall getIntLiteralParserRuleCall_13() { return cIntLiteralParserRuleCall_13; }
-
-		//DoubleLiteral
-		public RuleCall getDoubleLiteralParserRuleCall_14() { return cDoubleLiteralParserRuleCall_14; }
-
-		//FormalParameter
-		public RuleCall getFormalParameterParserRuleCall_15() { return cFormalParameterParserRuleCall_15; }
-
-		//ProbabilityMassFunction
-		public RuleCall getProbabilityMassFunctionParserRuleCall_16() { return cProbabilityMassFunctionParserRuleCall_16; }
-
-		//BoxedPDF
-		public RuleCall getBoxedPDFParserRuleCall_17() { return cBoxedPDFParserRuleCall_17; }
-
-		//NormalDistribution
-		public RuleCall getNormalDistributionParserRuleCall_18() { return cNormalDistributionParserRuleCall_18; }
-
-		//ExponentialDistribution
-		public RuleCall getExponentialDistributionParserRuleCall_19() { return cExponentialDistributionParserRuleCall_19; }
-	}
-
-	public class TermElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Term");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cTermExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cProductExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cPowerExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cNotExpressionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		private final RuleCall cNegativeExpressionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
-		private final RuleCall cFunctionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
-		private final RuleCall cParenthesisParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
-		private final RuleCall cLiteral_ImplParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
-		private final RuleCall cStringLiteralParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
-		private final RuleCall cBoolLiteralParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
-		private final RuleCall cIntLiteralParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
-		private final RuleCall cDoubleLiteralParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
-		private final RuleCall cFormalParameterParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12);
-		private final RuleCall cProbabilityMassFunctionParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13);
-		private final RuleCall cBoxedPDFParserRuleCall_14 = (RuleCall)cAlternatives.eContents().get(14);
-		private final RuleCall cNormalDistributionParserRuleCall_15 = (RuleCall)cAlternatives.eContents().get(15);
-		private final RuleCall cExponentialDistributionParserRuleCall_16 = (RuleCall)cAlternatives.eContents().get(16);
-		
-		//Term:
-		//
-		//	TermExpression | ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis |
-		//
-		//	Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction |
-		//
-		//	BoxedPDF | NormalDistribution | ExponentialDistribution;
-		public ParserRule getRule() { return rule; }
-
-		//TermExpression | ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis |
-		//
-		//Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction |
-		//
-		//BoxedPDF | NormalDistribution | ExponentialDistribution
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//TermExpression
-		public RuleCall getTermExpressionParserRuleCall_0() { return cTermExpressionParserRuleCall_0; }
-
-		//ProductExpression
-		public RuleCall getProductExpressionParserRuleCall_1() { return cProductExpressionParserRuleCall_1; }
-
-		//PowerExpression
-		public RuleCall getPowerExpressionParserRuleCall_2() { return cPowerExpressionParserRuleCall_2; }
-
-		//NotExpression
-		public RuleCall getNotExpressionParserRuleCall_3() { return cNotExpressionParserRuleCall_3; }
-
-		//NegativeExpression
-		public RuleCall getNegativeExpressionParserRuleCall_4() { return cNegativeExpressionParserRuleCall_4; }
-
-		//Function
-		public RuleCall getFunctionParserRuleCall_5() { return cFunctionParserRuleCall_5; }
-
-		//Parenthesis
-		public RuleCall getParenthesisParserRuleCall_6() { return cParenthesisParserRuleCall_6; }
-
-		//Literal_Impl
-		public RuleCall getLiteral_ImplParserRuleCall_7() { return cLiteral_ImplParserRuleCall_7; }
-
-		//StringLiteral
-		public RuleCall getStringLiteralParserRuleCall_8() { return cStringLiteralParserRuleCall_8; }
-
-		//BoolLiteral
-		public RuleCall getBoolLiteralParserRuleCall_9() { return cBoolLiteralParserRuleCall_9; }
-
-		//IntLiteral
-		public RuleCall getIntLiteralParserRuleCall_10() { return cIntLiteralParserRuleCall_10; }
-
-		//DoubleLiteral
-		public RuleCall getDoubleLiteralParserRuleCall_11() { return cDoubleLiteralParserRuleCall_11; }
-
-		//FormalParameter
-		public RuleCall getFormalParameterParserRuleCall_12() { return cFormalParameterParserRuleCall_12; }
-
-		//ProbabilityMassFunction
-		public RuleCall getProbabilityMassFunctionParserRuleCall_13() { return cProbabilityMassFunctionParserRuleCall_13; }
-
-		//BoxedPDF
-		public RuleCall getBoxedPDFParserRuleCall_14() { return cBoxedPDFParserRuleCall_14; }
-
-		//NormalDistribution
-		public RuleCall getNormalDistributionParserRuleCall_15() { return cNormalDistributionParserRuleCall_15; }
-
-		//ExponentialDistribution
-		public RuleCall getExponentialDistributionParserRuleCall_16() { return cExponentialDistributionParserRuleCall_16; }
-	}
-
-	public class ProductElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Product");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cProductExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cPowerExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cNotExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cNegativeExpressionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		private final RuleCall cFunctionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
-		private final RuleCall cParenthesisParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
-		private final RuleCall cLiteral_ImplParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
-		private final RuleCall cStringLiteralParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
-		private final RuleCall cBoolLiteralParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
-		private final RuleCall cIntLiteralParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
-		private final RuleCall cDoubleLiteralParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
-		private final RuleCall cFormalParameterParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
-		private final RuleCall cProbabilityMassFunctionParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12);
-		private final RuleCall cBoxedPDFParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13);
-		private final RuleCall cNormalDistributionParserRuleCall_14 = (RuleCall)cAlternatives.eContents().get(14);
-		private final RuleCall cExponentialDistributionParserRuleCall_15 = (RuleCall)cAlternatives.eContents().get(15);
-		
-		//Product:
-		//
-		//	ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl |
-		//
-		//	StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF |
-		//
-		//	NormalDistribution | ExponentialDistribution;
-		public ParserRule getRule() { return rule; }
-
-		//ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl |
-		//
-		//StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF |
-		//
-		//NormalDistribution | ExponentialDistribution
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//ProductExpression
-		public RuleCall getProductExpressionParserRuleCall_0() { return cProductExpressionParserRuleCall_0; }
-
-		//PowerExpression
-		public RuleCall getPowerExpressionParserRuleCall_1() { return cPowerExpressionParserRuleCall_1; }
-
-		//NotExpression
-		public RuleCall getNotExpressionParserRuleCall_2() { return cNotExpressionParserRuleCall_2; }
-
-		//NegativeExpression
-		public RuleCall getNegativeExpressionParserRuleCall_3() { return cNegativeExpressionParserRuleCall_3; }
-
-		//Function
-		public RuleCall getFunctionParserRuleCall_4() { return cFunctionParserRuleCall_4; }
-
-		//Parenthesis
-		public RuleCall getParenthesisParserRuleCall_5() { return cParenthesisParserRuleCall_5; }
-
-		//Literal_Impl
-		public RuleCall getLiteral_ImplParserRuleCall_6() { return cLiteral_ImplParserRuleCall_6; }
-
-		//StringLiteral
-		public RuleCall getStringLiteralParserRuleCall_7() { return cStringLiteralParserRuleCall_7; }
-
-		//BoolLiteral
-		public RuleCall getBoolLiteralParserRuleCall_8() { return cBoolLiteralParserRuleCall_8; }
-
-		//IntLiteral
-		public RuleCall getIntLiteralParserRuleCall_9() { return cIntLiteralParserRuleCall_9; }
-
-		//DoubleLiteral
-		public RuleCall getDoubleLiteralParserRuleCall_10() { return cDoubleLiteralParserRuleCall_10; }
-
-		//FormalParameter
-		public RuleCall getFormalParameterParserRuleCall_11() { return cFormalParameterParserRuleCall_11; }
-
-		//ProbabilityMassFunction
-		public RuleCall getProbabilityMassFunctionParserRuleCall_12() { return cProbabilityMassFunctionParserRuleCall_12; }
-
-		//BoxedPDF
-		public RuleCall getBoxedPDFParserRuleCall_13() { return cBoxedPDFParserRuleCall_13; }
-
-		//NormalDistribution
-		public RuleCall getNormalDistributionParserRuleCall_14() { return cNormalDistributionParserRuleCall_14; }
-
-		//ExponentialDistribution
-		public RuleCall getExponentialDistributionParserRuleCall_15() { return cExponentialDistributionParserRuleCall_15; }
-	}
-
-	public class PowerElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Power");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cPowerExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cNotExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cNegativeExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cFunctionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		private final RuleCall cParenthesisParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
-		private final RuleCall cLiteral_ImplParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
-		private final RuleCall cStringLiteralParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
-		private final RuleCall cBoolLiteralParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
-		private final RuleCall cIntLiteralParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
-		private final RuleCall cDoubleLiteralParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
-		private final RuleCall cFormalParameterParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
-		private final RuleCall cProbabilityMassFunctionParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
-		private final RuleCall cBoxedPDFParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12);
-		private final RuleCall cNormalDistributionParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13);
-		private final RuleCall cExponentialDistributionParserRuleCall_14 = (RuleCall)cAlternatives.eContents().get(14);
-		
-		//Power:
-		//
-		//	PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral |
-		//
-		//	BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution
-		//
-		//	| ExponentialDistribution;
-		public ParserRule getRule() { return rule; }
-
-		//PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral |
-		//
-		//BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
-		//
-		//ExponentialDistribution
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//PowerExpression
-		public RuleCall getPowerExpressionParserRuleCall_0() { return cPowerExpressionParserRuleCall_0; }
-
-		//NotExpression
-		public RuleCall getNotExpressionParserRuleCall_1() { return cNotExpressionParserRuleCall_1; }
-
-		//NegativeExpression
-		public RuleCall getNegativeExpressionParserRuleCall_2() { return cNegativeExpressionParserRuleCall_2; }
-
-		//Function
-		public RuleCall getFunctionParserRuleCall_3() { return cFunctionParserRuleCall_3; }
-
-		//Parenthesis
-		public RuleCall getParenthesisParserRuleCall_4() { return cParenthesisParserRuleCall_4; }
-
-		//Literal_Impl
-		public RuleCall getLiteral_ImplParserRuleCall_5() { return cLiteral_ImplParserRuleCall_5; }
-
-		//StringLiteral
-		public RuleCall getStringLiteralParserRuleCall_6() { return cStringLiteralParserRuleCall_6; }
-
-		//BoolLiteral
-		public RuleCall getBoolLiteralParserRuleCall_7() { return cBoolLiteralParserRuleCall_7; }
-
-		//IntLiteral
-		public RuleCall getIntLiteralParserRuleCall_8() { return cIntLiteralParserRuleCall_8; }
-
-		//DoubleLiteral
-		public RuleCall getDoubleLiteralParserRuleCall_9() { return cDoubleLiteralParserRuleCall_9; }
-
-		//FormalParameter
-		public RuleCall getFormalParameterParserRuleCall_10() { return cFormalParameterParserRuleCall_10; }
-
-		//ProbabilityMassFunction
-		public RuleCall getProbabilityMassFunctionParserRuleCall_11() { return cProbabilityMassFunctionParserRuleCall_11; }
-
-		//BoxedPDF
-		public RuleCall getBoxedPDFParserRuleCall_12() { return cBoxedPDFParserRuleCall_12; }
-
-		//NormalDistribution
-		public RuleCall getNormalDistributionParserRuleCall_13() { return cNormalDistributionParserRuleCall_13; }
-
-		//ExponentialDistribution
-		public RuleCall getExponentialDistributionParserRuleCall_14() { return cExponentialDistributionParserRuleCall_14; }
-	}
-
-	public class UnaryElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Unary");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cNotExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cNegativeExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cFunctionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cParenthesisParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		private final RuleCall cLiteral_ImplParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
-		private final RuleCall cStringLiteralParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
-		private final RuleCall cBoolLiteralParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
-		private final RuleCall cIntLiteralParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
-		private final RuleCall cDoubleLiteralParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
-		private final RuleCall cFormalParameterParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
-		private final RuleCall cProbabilityMassFunctionParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
-		private final RuleCall cBoxedPDFParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
-		private final RuleCall cNormalDistributionParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12);
-		private final RuleCall cExponentialDistributionParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13);
-		
-		//Unary:
-		//
-		//	NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral
-		//
-		//	| DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
-		//
-		//	ExponentialDistribution;
-		public ParserRule getRule() { return rule; }
-
-		//NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral |
-		//
-		//DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//NotExpression
-		public RuleCall getNotExpressionParserRuleCall_0() { return cNotExpressionParserRuleCall_0; }
-
-		//NegativeExpression
-		public RuleCall getNegativeExpressionParserRuleCall_1() { return cNegativeExpressionParserRuleCall_1; }
-
-		//Function
-		public RuleCall getFunctionParserRuleCall_2() { return cFunctionParserRuleCall_2; }
-
-		//Parenthesis
-		public RuleCall getParenthesisParserRuleCall_3() { return cParenthesisParserRuleCall_3; }
-
-		//Literal_Impl
-		public RuleCall getLiteral_ImplParserRuleCall_4() { return cLiteral_ImplParserRuleCall_4; }
-
-		//StringLiteral
-		public RuleCall getStringLiteralParserRuleCall_5() { return cStringLiteralParserRuleCall_5; }
-
-		//BoolLiteral
-		public RuleCall getBoolLiteralParserRuleCall_6() { return cBoolLiteralParserRuleCall_6; }
-
-		//IntLiteral
-		public RuleCall getIntLiteralParserRuleCall_7() { return cIntLiteralParserRuleCall_7; }
-
-		//DoubleLiteral
-		public RuleCall getDoubleLiteralParserRuleCall_8() { return cDoubleLiteralParserRuleCall_8; }
-
-		//FormalParameter
-		public RuleCall getFormalParameterParserRuleCall_9() { return cFormalParameterParserRuleCall_9; }
-
-		//ProbabilityMassFunction
-		public RuleCall getProbabilityMassFunctionParserRuleCall_10() { return cProbabilityMassFunctionParserRuleCall_10; }
-
-		//BoxedPDF
-		public RuleCall getBoxedPDFParserRuleCall_11() { return cBoxedPDFParserRuleCall_11; }
-
-		//NormalDistribution
-		public RuleCall getNormalDistributionParserRuleCall_12() { return cNormalDistributionParserRuleCall_12; }
-
-		//ExponentialDistribution
-		public RuleCall getExponentialDistributionParserRuleCall_13() { return cExponentialDistributionParserRuleCall_13; }
-	}
-
-	public class BooleanExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanExpression");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cTermExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cProductExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cCompareExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cPowerExpressionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
-		private final RuleCall cBooleanOperatorExpressionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
-		private final RuleCall cNotExpressionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
-		private final RuleCall cNegativeExpressionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
-		private final RuleCall cFunctionParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
-		private final RuleCall cParenthesisParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
-		private final RuleCall cLiteral_ImplParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
-		private final RuleCall cStringLiteralParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
-		private final RuleCall cBoolLiteralParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
-		private final RuleCall cIntLiteralParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12);
-		private final RuleCall cDoubleLiteralParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13);
-		private final RuleCall cFormalParameterParserRuleCall_14 = (RuleCall)cAlternatives.eContents().get(14);
-		private final RuleCall cProbabilityMassFunctionParserRuleCall_15 = (RuleCall)cAlternatives.eContents().get(15);
-		private final RuleCall cBoxedPDFParserRuleCall_16 = (RuleCall)cAlternatives.eContents().get(16);
-		private final RuleCall cNormalDistributionParserRuleCall_17 = (RuleCall)cAlternatives.eContents().get(17);
-		private final RuleCall cExponentialDistributionParserRuleCall_18 = (RuleCall)cAlternatives.eContents().get(18);
-		
-		//BooleanExpression:
-		//
-		//	TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression
-		//
-		//	| NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral |
-		//
-		//	DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution;
-		public ParserRule getRule() { return rule; }
-
-		//TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression |
-		//
-		//NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral
-		//
-		//| FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//TermExpression
-		public RuleCall getTermExpressionParserRuleCall_0() { return cTermExpressionParserRuleCall_0; }
-
-		//ProductExpression
-		public RuleCall getProductExpressionParserRuleCall_1() { return cProductExpressionParserRuleCall_1; }
-
-		//CompareExpression
-		public RuleCall getCompareExpressionParserRuleCall_2() { return cCompareExpressionParserRuleCall_2; }
-
-		//PowerExpression
-		public RuleCall getPowerExpressionParserRuleCall_3() { return cPowerExpressionParserRuleCall_3; }
-
-		//BooleanOperatorExpression
-		public RuleCall getBooleanOperatorExpressionParserRuleCall_4() { return cBooleanOperatorExpressionParserRuleCall_4; }
-
-		//NotExpression
-		public RuleCall getNotExpressionParserRuleCall_5() { return cNotExpressionParserRuleCall_5; }
-
-		//NegativeExpression
-		public RuleCall getNegativeExpressionParserRuleCall_6() { return cNegativeExpressionParserRuleCall_6; }
-
-		//Function
-		public RuleCall getFunctionParserRuleCall_7() { return cFunctionParserRuleCall_7; }
-
-		//Parenthesis
-		public RuleCall getParenthesisParserRuleCall_8() { return cParenthesisParserRuleCall_8; }
-
-		//Literal_Impl
-		public RuleCall getLiteral_ImplParserRuleCall_9() { return cLiteral_ImplParserRuleCall_9; }
-
-		//StringLiteral
-		public RuleCall getStringLiteralParserRuleCall_10() { return cStringLiteralParserRuleCall_10; }
-
-		//BoolLiteral
-		public RuleCall getBoolLiteralParserRuleCall_11() { return cBoolLiteralParserRuleCall_11; }
-
-		//IntLiteral
-		public RuleCall getIntLiteralParserRuleCall_12() { return cIntLiteralParserRuleCall_12; }
-
-		//DoubleLiteral
-		public RuleCall getDoubleLiteralParserRuleCall_13() { return cDoubleLiteralParserRuleCall_13; }
-
-		//FormalParameter
-		public RuleCall getFormalParameterParserRuleCall_14() { return cFormalParameterParserRuleCall_14; }
-
-		//ProbabilityMassFunction
-		public RuleCall getProbabilityMassFunctionParserRuleCall_15() { return cProbabilityMassFunctionParserRuleCall_15; }
-
-		//BoxedPDF
-		public RuleCall getBoxedPDFParserRuleCall_16() { return cBoxedPDFParserRuleCall_16; }
-
-		//NormalDistribution
-		public RuleCall getNormalDistributionParserRuleCall_17() { return cNormalDistributionParserRuleCall_17; }
-
-		//ExponentialDistribution
-		public RuleCall getExponentialDistributionParserRuleCall_18() { return cExponentialDistributionParserRuleCall_18; }
-	}
-
-	public class EStringElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EString");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//EString returns ecore::EString:
-		//
-		//	STRING | ID;
-		public ParserRule getRule() { return rule; }
-
-		//STRING | ID
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//STRING
-		public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; }
-
-		//ID
-		public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; }
-	}
-
-	public class TermExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TermExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cTermExpressionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final RuleCall cTermExpression2ParserRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Action cTermExpressionLeftAction_3_0 = (Action)cGroup_3.eContents().get(0);
-		private final Assignment cOperationAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final RuleCall cOperationTermOperationsParserRuleCall_3_1_0 = (RuleCall)cOperationAssignment_3_1.eContents().get(0);
-		private final Assignment cRightAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
-		private final RuleCall cRightProductParserRuleCall_3_2_0 = (RuleCall)cRightAssignment_3_2.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//TermExpression:
-		//
-		//	"TermExpression" "{" TermExpression2 ({TermExpression.left=current} operation=TermOperations right=Product)* "}";
-		public ParserRule getRule() { return rule; }
-
-		//"TermExpression" "{" TermExpression2 ({TermExpression.left=current} operation=TermOperations right=Product)* "}"
-		public Group getGroup() { return cGroup; }
-
-		//"TermExpression"
-		public Keyword getTermExpressionKeyword_0() { return cTermExpressionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//TermExpression2
-		public RuleCall getTermExpression2ParserRuleCall_2() { return cTermExpression2ParserRuleCall_2; }
-
-		//({TermExpression.left=current} operation=TermOperations right=Product)*
-		public Group getGroup_3() { return cGroup_3; }
-
-		//{TermExpression.left=current}
-		public Action getTermExpressionLeftAction_3_0() { return cTermExpressionLeftAction_3_0; }
-
-		//operation=TermOperations
-		public Assignment getOperationAssignment_3_1() { return cOperationAssignment_3_1; }
-
-		//TermOperations
-		public RuleCall getOperationTermOperationsParserRuleCall_3_1_0() { return cOperationTermOperationsParserRuleCall_3_1_0; }
-
-		//right=Product
-		public Assignment getRightAssignment_3_2() { return cRightAssignment_3_2; }
-
-		//Product
-		public RuleCall getRightProductParserRuleCall_3_2_0() { return cRightProductParserRuleCall_3_2_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class TermExpression2Elements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TermExpression2");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cLeftAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final RuleCall cLeftTermParserRuleCall_0_0 = (RuleCall)cLeftAssignment_0.eContents().get(0);
-		private final Assignment cOperationAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cOperationTermOperationsParserRuleCall_1_0 = (RuleCall)cOperationAssignment_1.eContents().get(0);
-		private final Assignment cRightAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRightProductParserRuleCall_2_0 = (RuleCall)cRightAssignment_2.eContents().get(0);
-		
-		//TermExpression2 returns TermExpression:
-		//
-		//	left=Term operation=TermOperations right=Product;
-		public ParserRule getRule() { return rule; }
-
-		//left=Term operation=TermOperations right=Product
-		public Group getGroup() { return cGroup; }
-
-		//left=Term
-		public Assignment getLeftAssignment_0() { return cLeftAssignment_0; }
-
-		//Term
-		public RuleCall getLeftTermParserRuleCall_0_0() { return cLeftTermParserRuleCall_0_0; }
-
-		//operation=TermOperations
-		public Assignment getOperationAssignment_1() { return cOperationAssignment_1; }
-
-		//TermOperations
-		public RuleCall getOperationTermOperationsParserRuleCall_1_0() { return cOperationTermOperationsParserRuleCall_1_0; }
-
-		//right=Product
-		public Assignment getRightAssignment_2() { return cRightAssignment_2; }
-
-		//Product
-		public RuleCall getRightProductParserRuleCall_2_0() { return cRightProductParserRuleCall_2_0; }
-	}
-
-	public class ProductExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProductExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cProductExpressionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final RuleCall cProductExpression2ParserRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Action cProductExpressionLeftAction_3_0 = (Action)cGroup_3.eContents().get(0);
-		private final Assignment cOperationAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final RuleCall cOperationProductOperationsParserRuleCall_3_1_0 = (RuleCall)cOperationAssignment_3_1.eContents().get(0);
-		private final Assignment cRightAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
-		private final RuleCall cRightPowerParserRuleCall_3_2_0 = (RuleCall)cRightAssignment_3_2.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//ProductExpression:
-		//
-		//	"ProductExpression" "{" ProductExpression2 ({ProductExpression.left=current} operation=ProductOperations
-		//
-		//	right=Power)* "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ProductExpression" "{" ProductExpression2 ({ProductExpression.left=current} operation=ProductOperations right=Power)*
-		//
-		//"}"
-		public Group getGroup() { return cGroup; }
-
-		//"ProductExpression"
-		public Keyword getProductExpressionKeyword_0() { return cProductExpressionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//ProductExpression2
-		public RuleCall getProductExpression2ParserRuleCall_2() { return cProductExpression2ParserRuleCall_2; }
-
-		//({ProductExpression.left=current} operation=ProductOperations right=Power)*
-		public Group getGroup_3() { return cGroup_3; }
-
-		//{ProductExpression.left=current}
-		public Action getProductExpressionLeftAction_3_0() { return cProductExpressionLeftAction_3_0; }
-
-		//operation=ProductOperations
-		public Assignment getOperationAssignment_3_1() { return cOperationAssignment_3_1; }
-
-		//ProductOperations
-		public RuleCall getOperationProductOperationsParserRuleCall_3_1_0() { return cOperationProductOperationsParserRuleCall_3_1_0; }
-
-		//right=Power
-		public Assignment getRightAssignment_3_2() { return cRightAssignment_3_2; }
-
-		//Power
-		public RuleCall getRightPowerParserRuleCall_3_2_0() { return cRightPowerParserRuleCall_3_2_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class ProductExpression2Elements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProductExpression2");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cLeftAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final RuleCall cLeftProductParserRuleCall_0_0 = (RuleCall)cLeftAssignment_0.eContents().get(0);
-		private final Assignment cOperationAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cOperationProductOperationsParserRuleCall_1_0 = (RuleCall)cOperationAssignment_1.eContents().get(0);
-		private final Assignment cRightAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRightPowerParserRuleCall_2_0 = (RuleCall)cRightAssignment_2.eContents().get(0);
-		
-		//ProductExpression2 returns ProductExpression:
-		//
-		//	left=Product operation=ProductOperations right=Power;
-		public ParserRule getRule() { return rule; }
-
-		//left=Product operation=ProductOperations right=Power
-		public Group getGroup() { return cGroup; }
-
-		//left=Product
-		public Assignment getLeftAssignment_0() { return cLeftAssignment_0; }
-
-		//Product
-		public RuleCall getLeftProductParserRuleCall_0_0() { return cLeftProductParserRuleCall_0_0; }
-
-		//operation=ProductOperations
-		public Assignment getOperationAssignment_1() { return cOperationAssignment_1; }
-
-		//ProductOperations
-		public RuleCall getOperationProductOperationsParserRuleCall_1_0() { return cOperationProductOperationsParserRuleCall_1_0; }
-
-		//right=Power
-		public Assignment getRightAssignment_2() { return cRightAssignment_2; }
-
-		//Power
-		public RuleCall getRightPowerParserRuleCall_2_0() { return cRightPowerParserRuleCall_2_0; }
-	}
-
-	public class CompareExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompareExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCompareExpressionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cOperationKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cOperationAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cOperationCompareOperationsParserRuleCall_3_0 = (RuleCall)cOperationAssignment_3.eContents().get(0);
-		private final Keyword cLeftKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cLeftAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cLeftTermParserRuleCall_5_0 = (RuleCall)cLeftAssignment_5.eContents().get(0);
-		private final Keyword cRightKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cRightAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cRightTermParserRuleCall_7_0 = (RuleCall)cRightAssignment_7.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//CompareExpression:
-		//
-		//	"CompareExpression" "{" "operation" operation=CompareOperations "left" left=Term "right" right=Term "}";
-		public ParserRule getRule() { return rule; }
-
-		//"CompareExpression" "{" "operation" operation=CompareOperations "left" left=Term "right" right=Term "}"
-		public Group getGroup() { return cGroup; }
-
-		//"CompareExpression"
-		public Keyword getCompareExpressionKeyword_0() { return cCompareExpressionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"operation"
-		public Keyword getOperationKeyword_2() { return cOperationKeyword_2; }
-
-		//operation=CompareOperations
-		public Assignment getOperationAssignment_3() { return cOperationAssignment_3; }
-
-		//CompareOperations
-		public RuleCall getOperationCompareOperationsParserRuleCall_3_0() { return cOperationCompareOperationsParserRuleCall_3_0; }
-
-		//"left"
-		public Keyword getLeftKeyword_4() { return cLeftKeyword_4; }
-
-		//left=Term
-		public Assignment getLeftAssignment_5() { return cLeftAssignment_5; }
-
-		//Term
-		public RuleCall getLeftTermParserRuleCall_5_0() { return cLeftTermParserRuleCall_5_0; }
-
-		//"right"
-		public Keyword getRightKeyword_6() { return cRightKeyword_6; }
-
-		//right=Term
-		public Assignment getRightAssignment_7() { return cRightAssignment_7; }
-
-		//Term
-		public RuleCall getRightTermParserRuleCall_7_0() { return cRightTermParserRuleCall_7_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
-	}
-
-	public class PowerExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PowerExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cPowerExpressionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cBaseKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cBaseAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cBasePowerParserRuleCall_3_0 = (RuleCall)cBaseAssignment_3.eContents().get(0);
-		private final Keyword cExponentKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cExponentAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cExponentUnaryParserRuleCall_5_0 = (RuleCall)cExponentAssignment_5.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//PowerExpression:
-		//
-		//	"PowerExpression" "{" "base" base=Power "exponent" exponent=Unary "}";
-		public ParserRule getRule() { return rule; }
-
-		//"PowerExpression" "{" "base" base=Power "exponent" exponent=Unary "}"
-		public Group getGroup() { return cGroup; }
-
-		//"PowerExpression"
-		public Keyword getPowerExpressionKeyword_0() { return cPowerExpressionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"base"
-		public Keyword getBaseKeyword_2() { return cBaseKeyword_2; }
-
-		//base=Power
-		public Assignment getBaseAssignment_3() { return cBaseAssignment_3; }
-
-		//Power
-		public RuleCall getBasePowerParserRuleCall_3_0() { return cBasePowerParserRuleCall_3_0; }
-
-		//"exponent"
-		public Keyword getExponentKeyword_4() { return cExponentKeyword_4; }
-
-		//exponent=Unary
-		public Assignment getExponentAssignment_5() { return cExponentAssignment_5; }
-
-		//Unary
-		public RuleCall getExponentUnaryParserRuleCall_5_0() { return cExponentUnaryParserRuleCall_5_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class BooleanOperatorExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanOperatorExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cBooleanOperatorExpressionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cOperationKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cOperationAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cOperationBooleanOperationsParserRuleCall_3_0 = (RuleCall)cOperationAssignment_3.eContents().get(0);
-		private final Keyword cLeftKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cLeftAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cLeftBooleanExpressionParserRuleCall_5_0 = (RuleCall)cLeftAssignment_5.eContents().get(0);
-		private final Keyword cRightKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cRightAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cRightBooleanExpressionParserRuleCall_7_0 = (RuleCall)cRightAssignment_7.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//BooleanOperatorExpression:
-		//
-		//	"BooleanOperatorExpression" "{" "operation" operation=BooleanOperations "left" left=BooleanExpression "right"
-		//
-		//	right=BooleanExpression "}";
-		public ParserRule getRule() { return rule; }
-
-		//"BooleanOperatorExpression" "{" "operation" operation=BooleanOperations "left" left=BooleanExpression "right"
-		//
-		//right=BooleanExpression "}"
-		public Group getGroup() { return cGroup; }
-
-		//"BooleanOperatorExpression"
-		public Keyword getBooleanOperatorExpressionKeyword_0() { return cBooleanOperatorExpressionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"operation"
-		public Keyword getOperationKeyword_2() { return cOperationKeyword_2; }
-
-		//operation=BooleanOperations
-		public Assignment getOperationAssignment_3() { return cOperationAssignment_3; }
-
-		//BooleanOperations
-		public RuleCall getOperationBooleanOperationsParserRuleCall_3_0() { return cOperationBooleanOperationsParserRuleCall_3_0; }
-
-		//"left"
-		public Keyword getLeftKeyword_4() { return cLeftKeyword_4; }
-
-		//left=BooleanExpression
-		public Assignment getLeftAssignment_5() { return cLeftAssignment_5; }
-
-		//BooleanExpression
-		public RuleCall getLeftBooleanExpressionParserRuleCall_5_0() { return cLeftBooleanExpressionParserRuleCall_5_0; }
-
-		//"right"
-		public Keyword getRightKeyword_6() { return cRightKeyword_6; }
-
-		//right=BooleanExpression
-		public Assignment getRightAssignment_7() { return cRightAssignment_7; }
-
-		//BooleanExpression
-		public RuleCall getRightBooleanExpressionParserRuleCall_7_0() { return cRightBooleanExpressionParserRuleCall_7_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
-	}
-
-	public class NotExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NotExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cNotExpressionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cInnerKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cInnerAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cInnerUnaryParserRuleCall_3_0 = (RuleCall)cInnerAssignment_3.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//NotExpression:
-		//
-		//	"NotExpression" "{" "inner" inner=Unary "}";
-		public ParserRule getRule() { return rule; }
-
-		//"NotExpression" "{" "inner" inner=Unary "}"
-		public Group getGroup() { return cGroup; }
-
-		//"NotExpression"
-		public Keyword getNotExpressionKeyword_0() { return cNotExpressionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"inner"
-		public Keyword getInnerKeyword_2() { return cInnerKeyword_2; }
-
-		//inner=Unary
-		public Assignment getInnerAssignment_3() { return cInnerAssignment_3; }
-
-		//Unary
-		public RuleCall getInnerUnaryParserRuleCall_3_0() { return cInnerUnaryParserRuleCall_3_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class NegativeExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NegativeExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cNegativeExpressionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cInnerKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cInnerAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cInnerUnaryParserRuleCall_3_0 = (RuleCall)cInnerAssignment_3.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//NegativeExpression:
-		//
-		//	"NegativeExpression" "{" "inner" inner=Unary "}";
-		public ParserRule getRule() { return rule; }
-
-		//"NegativeExpression" "{" "inner" inner=Unary "}"
-		public Group getGroup() { return cGroup; }
-
-		//"NegativeExpression"
-		public Keyword getNegativeExpressionKeyword_0() { return cNegativeExpressionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"inner"
-		public Keyword getInnerKeyword_2() { return cInnerKeyword_2; }
-
-		//inner=Unary
-		public Assignment getInnerAssignment_3() { return cInnerAssignment_3; }
-
-		//Unary
-		public RuleCall getInnerUnaryParserRuleCall_3_0() { return cInnerUnaryParserRuleCall_3_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class IfElseExpressionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IfElseExpression");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cIfElseExpressionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cIfExpressionKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cIfExpressionAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cIfExpressionBooleanExpressionParserRuleCall_3_0 = (RuleCall)cIfExpressionAssignment_3.eContents().get(0);
-		private final Keyword cElseExpressionKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cElseExpressionAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cElseExpressionBooleanExpressionParserRuleCall_5_0 = (RuleCall)cElseExpressionAssignment_5.eContents().get(0);
-		private final Keyword cConditionExpressionKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cConditionExpressionAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cConditionExpressionBooleanExpressionParserRuleCall_7_0 = (RuleCall)cConditionExpressionAssignment_7.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//IfElseExpression:
-		//
-		//	"IfElseExpression" "{" "ifExpression" ifExpression=BooleanExpression "elseExpression"
-		//
-		//	elseExpression=BooleanExpression "conditionExpression" conditionExpression=BooleanExpression "}";
-		public ParserRule getRule() { return rule; }
-
-		//"IfElseExpression" "{" "ifExpression" ifExpression=BooleanExpression "elseExpression" elseExpression=BooleanExpression
-		//
-		//"conditionExpression" conditionExpression=BooleanExpression "}"
-		public Group getGroup() { return cGroup; }
-
-		//"IfElseExpression"
-		public Keyword getIfElseExpressionKeyword_0() { return cIfElseExpressionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"ifExpression"
-		public Keyword getIfExpressionKeyword_2() { return cIfExpressionKeyword_2; }
-
-		//ifExpression=BooleanExpression
-		public Assignment getIfExpressionAssignment_3() { return cIfExpressionAssignment_3; }
-
-		//BooleanExpression
-		public RuleCall getIfExpressionBooleanExpressionParserRuleCall_3_0() { return cIfExpressionBooleanExpressionParserRuleCall_3_0; }
-
-		//"elseExpression"
-		public Keyword getElseExpressionKeyword_4() { return cElseExpressionKeyword_4; }
-
-		//elseExpression=BooleanExpression
-		public Assignment getElseExpressionAssignment_5() { return cElseExpressionAssignment_5; }
-
-		//BooleanExpression
-		public RuleCall getElseExpressionBooleanExpressionParserRuleCall_5_0() { return cElseExpressionBooleanExpressionParserRuleCall_5_0; }
-
-		//"conditionExpression"
-		public Keyword getConditionExpressionKeyword_6() { return cConditionExpressionKeyword_6; }
-
-		//conditionExpression=BooleanExpression
-		public Assignment getConditionExpressionAssignment_7() { return cConditionExpressionAssignment_7; }
-
-		//BooleanExpression
-		public RuleCall getConditionExpressionBooleanExpressionParserRuleCall_7_0() { return cConditionExpressionBooleanExpressionParserRuleCall_7_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
-	}
-
-	public class FunctionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Function");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cFunctionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cIdKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cIdAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cIdEStringParserRuleCall_3_0 = (RuleCall)cIdAssignment_3.eContents().get(0);
-		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cParametersKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
-		private final Assignment cParametersAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2);
-		private final RuleCall cParametersExpressionParserRuleCall_4_2_0 = (RuleCall)cParametersAssignment_4_2.eContents().get(0);
-		private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3);
-		private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0);
-		private final Assignment cParametersAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1);
-		private final RuleCall cParametersExpressionParserRuleCall_4_3_1_0 = (RuleCall)cParametersAssignment_4_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//Function:
-		//
-		//	"Function" "{" "id" id=EString ("parameters" "{" parameters+=Expression ("," parameters+=Expression)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//"Function" "{" "id" id=EString ("parameters" "{" parameters+=Expression ("," parameters+=Expression)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//"Function"
-		public Keyword getFunctionKeyword_0() { return cFunctionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"id"
-		public Keyword getIdKeyword_2() { return cIdKeyword_2; }
-
-		//id=EString
-		public Assignment getIdAssignment_3() { return cIdAssignment_3; }
-
-		//EString
-		public RuleCall getIdEStringParserRuleCall_3_0() { return cIdEStringParserRuleCall_3_0; }
-
-		//("parameters" "{" parameters+=Expression ("," parameters+=Expression)* "}")?
-		public Group getGroup_4() { return cGroup_4; }
-
-		//"parameters"
-		public Keyword getParametersKeyword_4_0() { return cParametersKeyword_4_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_4_1() { return cLeftCurlyBracketKeyword_4_1; }
-
-		//parameters+=Expression
-		public Assignment getParametersAssignment_4_2() { return cParametersAssignment_4_2; }
-
-		//Expression
-		public RuleCall getParametersExpressionParserRuleCall_4_2_0() { return cParametersExpressionParserRuleCall_4_2_0; }
-
-		//("," parameters+=Expression)*
-		public Group getGroup_4_3() { return cGroup_4_3; }
-
-		//","
-		public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; }
-
-		//parameters+=Expression
-		public Assignment getParametersAssignment_4_3_1() { return cParametersAssignment_4_3_1; }
-
-		//Expression
-		public RuleCall getParametersExpressionParserRuleCall_4_3_1_0() { return cParametersExpressionParserRuleCall_4_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4_4() { return cRightCurlyBracketKeyword_4_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
-	}
-
-	public class ParenthesisElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Parenthesis");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cParenthesisKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cInnerExpressionKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cInnerExpressionAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cInnerExpressionExpressionParserRuleCall_3_0 = (RuleCall)cInnerExpressionAssignment_3.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//Parenthesis:
-		//
-		//	"Parenthesis" "{" "innerExpression" innerExpression=Expression "}";
-		public ParserRule getRule() { return rule; }
-
-		//"Parenthesis" "{" "innerExpression" innerExpression=Expression "}"
-		public Group getGroup() { return cGroup; }
-
-		//"Parenthesis"
-		public Keyword getParenthesisKeyword_0() { return cParenthesisKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"innerExpression"
-		public Keyword getInnerExpressionKeyword_2() { return cInnerExpressionKeyword_2; }
-
-		//innerExpression=Expression
-		public Assignment getInnerExpressionAssignment_3() { return cInnerExpressionAssignment_3; }
-
-		//Expression
-		public RuleCall getInnerExpressionExpressionParserRuleCall_3_0() { return cInnerExpressionExpressionParserRuleCall_3_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class Literal_ImplElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Literal_Impl");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cLiteralAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cLiteralKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		
-		//Literal_Impl returns Literal:
-		//
-		//	{Literal} "Literal";
-		public ParserRule getRule() { return rule; }
-
-		//{Literal} "Literal"
-		public Group getGroup() { return cGroup; }
-
-		//{Literal}
-		public Action getLiteralAction_0() { return cLiteralAction_0; }
-
-		//"Literal"
-		public Keyword getLiteralKeyword_1() { return cLiteralKeyword_1; }
-	}
-
-	public class StringLiteralElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StringLiteral");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cStringLiteralKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cValueKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cValueEStringParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//StringLiteral:
-		//
-		//	"StringLiteral" "{" "value" value=EString "}";
-		public ParserRule getRule() { return rule; }
-
-		//"StringLiteral" "{" "value" value=EString "}"
-		public Group getGroup() { return cGroup; }
-
-		//"StringLiteral"
-		public Keyword getStringLiteralKeyword_0() { return cStringLiteralKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"value"
-		public Keyword getValueKeyword_2() { return cValueKeyword_2; }
-
-		//value=EString
-		public Assignment getValueAssignment_3() { return cValueAssignment_3; }
-
-		//EString
-		public RuleCall getValueEStringParserRuleCall_3_0() { return cValueEStringParserRuleCall_3_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class BoolLiteralElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BoolLiteral");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cValueAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final Keyword cValueValueKeyword_0_0 = (Keyword)cValueAssignment_0.eContents().get(0);
-		private final Keyword cBoolLiteralKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		
-		//BoolLiteral:
-		//
-		//	value?="value" "BoolLiteral";
-		public ParserRule getRule() { return rule; }
-
-		//value?="value" "BoolLiteral"
-		public Group getGroup() { return cGroup; }
-
-		//value?="value"
-		public Assignment getValueAssignment_0() { return cValueAssignment_0; }
-
-		//"value"
-		public Keyword getValueValueKeyword_0_0() { return cValueValueKeyword_0_0; }
-
-		//"BoolLiteral"
-		public Keyword getBoolLiteralKeyword_1() { return cBoolLiteralKeyword_1; }
-	}
-
-	public class IntLiteralElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IntLiteral");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cIntLiteralKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cValueKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cValueEBigIntegerParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//IntLiteral:
-		//
-		//	"IntLiteral" "{" "value" value=EBigInteger "}";
-		public ParserRule getRule() { return rule; }
-
-		//"IntLiteral" "{" "value" value=EBigInteger "}"
-		public Group getGroup() { return cGroup; }
-
-		//"IntLiteral"
-		public Keyword getIntLiteralKeyword_0() { return cIntLiteralKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"value"
-		public Keyword getValueKeyword_2() { return cValueKeyword_2; }
-
-		//value=EBigInteger
-		public Assignment getValueAssignment_3() { return cValueAssignment_3; }
-
-		//EBigInteger
-		public RuleCall getValueEBigIntegerParserRuleCall_3_0() { return cValueEBigIntegerParserRuleCall_3_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class DoubleLiteralElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DoubleLiteral");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cDoubleLiteralKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cValueKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cValueEBigDecimalParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//DoubleLiteral:
-		//
-		//	"DoubleLiteral" "{" "value" value=EBigDecimal "}";
-		public ParserRule getRule() { return rule; }
-
-		//"DoubleLiteral" "{" "value" value=EBigDecimal "}"
-		public Group getGroup() { return cGroup; }
-
-		//"DoubleLiteral"
-		public Keyword getDoubleLiteralKeyword_0() { return cDoubleLiteralKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"value"
-		public Keyword getValueKeyword_2() { return cValueKeyword_2; }
-
-		//value=EBigDecimal
-		public Assignment getValueAssignment_3() { return cValueAssignment_3; }
-
-		//EBigDecimal
-		public RuleCall getValueEBigDecimalParserRuleCall_3_0() { return cValueEBigDecimalParserRuleCall_3_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class FormalParameterElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FormalParameter");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cFormalParameterAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cFormalParameterKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
-		
-		//FormalParameter:
-		//
-		//	{FormalParameter} "FormalParameter" name=EString;
-		public ParserRule getRule() { return rule; }
-
-		//{FormalParameter} "FormalParameter" name=EString
-		public Group getGroup() { return cGroup; }
-
-		//{FormalParameter}
-		public Action getFormalParameterAction_0() { return cFormalParameterAction_0; }
-
-		//"FormalParameter"
-		public Keyword getFormalParameterKeyword_1() { return cFormalParameterKeyword_1; }
-
-		//name=EString
-		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
-
-		//EString
-		public RuleCall getNameEStringParserRuleCall_2_0() { return cNameEStringParserRuleCall_2_0; }
-	}
-
-	public class ProbabilityMassFunctionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProbabilityMassFunction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cProbabilityMassFunctionAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cProbabilityMassFunctionKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSampleKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
-		private final Assignment cSampleAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
-		private final RuleCall cSampleSampleParserRuleCall_3_2_0 = (RuleCall)cSampleAssignment_3_2.eContents().get(0);
-		private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3);
-		private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
-		private final Assignment cSampleAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1);
-		private final RuleCall cSampleSampleParserRuleCall_3_3_1_0 = (RuleCall)cSampleAssignment_3_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//ProbabilityMassFunction:
-		//
-		//	{ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{ProbabilityMassFunction}
-		public Action getProbabilityMassFunctionAction_0() { return cProbabilityMassFunctionAction_0; }
-
-		//"ProbabilityMassFunction"
-		public Keyword getProbabilityMassFunctionKeyword_1() { return cProbabilityMassFunctionKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("sample" "{" sample+=Sample ("," sample+=Sample)* "}")?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"sample"
-		public Keyword getSampleKeyword_3_0() { return cSampleKeyword_3_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_3_1() { return cLeftCurlyBracketKeyword_3_1; }
-
-		//sample+=Sample
-		public Assignment getSampleAssignment_3_2() { return cSampleAssignment_3_2; }
-
-		//Sample
-		public RuleCall getSampleSampleParserRuleCall_3_2_0() { return cSampleSampleParserRuleCall_3_2_0; }
-
-		//("," sample+=Sample)*
-		public Group getGroup_3_3() { return cGroup_3_3; }
-
-		//","
-		public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; }
-
-		//sample+=Sample
-		public Assignment getSampleAssignment_3_3_1() { return cSampleAssignment_3_3_1; }
-
-		//Sample
-		public RuleCall getSampleSampleParserRuleCall_3_3_1_0() { return cSampleSampleParserRuleCall_3_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class BoxedPDFElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BoxedPDF");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cBoxedPDFAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cBoxedPDFKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cSampleKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
-		private final Assignment cSampleAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
-		private final RuleCall cSampleContinuousSampleParserRuleCall_3_2_0 = (RuleCall)cSampleAssignment_3_2.eContents().get(0);
-		private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3);
-		private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
-		private final Assignment cSampleAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1);
-		private final RuleCall cSampleContinuousSampleParserRuleCall_3_3_1_0 = (RuleCall)cSampleAssignment_3_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//BoxedPDF:
-		//
-		//	{BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}";
-		public ParserRule getRule() { return rule; }
-
-		//{BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}"
-		public Group getGroup() { return cGroup; }
-
-		//{BoxedPDF}
-		public Action getBoxedPDFAction_0() { return cBoxedPDFAction_0; }
-
-		//"BoxedPDF"
-		public Keyword getBoxedPDFKeyword_1() { return cBoxedPDFKeyword_1; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
-
-		//("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")?
-		public Group getGroup_3() { return cGroup_3; }
-
-		//"sample"
-		public Keyword getSampleKeyword_3_0() { return cSampleKeyword_3_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_3_1() { return cLeftCurlyBracketKeyword_3_1; }
-
-		//sample+=ContinuousSample
-		public Assignment getSampleAssignment_3_2() { return cSampleAssignment_3_2; }
-
-		//ContinuousSample
-		public RuleCall getSampleContinuousSampleParserRuleCall_3_2_0() { return cSampleContinuousSampleParserRuleCall_3_2_0; }
-
-		//("," sample+=ContinuousSample)*
-		public Group getGroup_3_3() { return cGroup_3_3; }
-
-		//","
-		public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; }
-
-		//sample+=ContinuousSample
-		public Assignment getSampleAssignment_3_3_1() { return cSampleAssignment_3_3_1; }
-
-		//ContinuousSample
-		public RuleCall getSampleContinuousSampleParserRuleCall_3_3_1_0() { return cSampleContinuousSampleParserRuleCall_3_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class NormalDistributionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NormalDistribution");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cNormalDistributionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cMuKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cMuAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cMuEBigDecimalParserRuleCall_3_0 = (RuleCall)cMuAssignment_3.eContents().get(0);
-		private final Keyword cSigmaKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cSigmaAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cSigmaEBigDecimalParserRuleCall_5_0 = (RuleCall)cSigmaAssignment_5.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//NormalDistribution:
-		//
-		//	"NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}";
-		public ParserRule getRule() { return rule; }
-
-		//"NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}"
-		public Group getGroup() { return cGroup; }
-
-		//"NormalDistribution"
-		public Keyword getNormalDistributionKeyword_0() { return cNormalDistributionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"mu"
-		public Keyword getMuKeyword_2() { return cMuKeyword_2; }
-
-		//mu=EBigDecimal
-		public Assignment getMuAssignment_3() { return cMuAssignment_3; }
-
-		//EBigDecimal
-		public RuleCall getMuEBigDecimalParserRuleCall_3_0() { return cMuEBigDecimalParserRuleCall_3_0; }
-
-		//"sigma"
-		public Keyword getSigmaKeyword_4() { return cSigmaKeyword_4; }
-
-		//sigma=EBigDecimal
-		public Assignment getSigmaAssignment_5() { return cSigmaAssignment_5; }
-
-		//EBigDecimal
-		public RuleCall getSigmaEBigDecimalParserRuleCall_5_0() { return cSigmaEBigDecimalParserRuleCall_5_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class ExponentialDistributionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExponentialDistribution");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cExponentialDistributionKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cRateKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cRateAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cRateEBigDecimalParserRuleCall_3_0 = (RuleCall)cRateAssignment_3.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//ExponentialDistribution:
-		//
-		//	"ExponentialDistribution" "{" "rate" rate=EBigDecimal "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ExponentialDistribution" "{" "rate" rate=EBigDecimal "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ExponentialDistribution"
-		public Keyword getExponentialDistributionKeyword_0() { return cExponentialDistributionKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"rate"
-		public Keyword getRateKeyword_2() { return cRateKeyword_2; }
-
-		//rate=EBigDecimal
-		public Assignment getRateAssignment_3() { return cRateAssignment_3; }
-
-		//EBigDecimal
-		public RuleCall getRateEBigDecimalParserRuleCall_3_0() { return cRateEBigDecimalParserRuleCall_3_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
-	}
-
-	public class TermOperationsElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TermOperations");
-		private final Keyword cTermOperationsKeyword = (Keyword)rule.eContents().get(1);
-		
-		/// * TODO: implement this rule and an appropriate IValueConverter * / TermOperations:
-		//
-		//	"TermOperations";
-		public ParserRule getRule() { return rule; }
-
-		//"TermOperations"
-		public Keyword getTermOperationsKeyword() { return cTermOperationsKeyword; }
-	}
-
-	public class ProductOperationsElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProductOperations");
-		private final Keyword cProductOperationsKeyword = (Keyword)rule.eContents().get(1);
-		
-		/// * TODO: implement this rule and an appropriate IValueConverter * / ProductOperations:
-		//
-		//	"ProductOperations";
-		public ParserRule getRule() { return rule; }
-
-		//"ProductOperations"
-		public Keyword getProductOperationsKeyword() { return cProductOperationsKeyword; }
-	}
-
-	public class CompareOperationsElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompareOperations");
-		private final Keyword cCompareOperationsKeyword = (Keyword)rule.eContents().get(1);
-		
-		/// * TODO: implement this rule and an appropriate IValueConverter * / CompareOperations:
-		//
-		//	"CompareOperations";
-		public ParserRule getRule() { return rule; }
-
-		//"CompareOperations"
-		public Keyword getCompareOperationsKeyword() { return cCompareOperationsKeyword; }
-	}
-
-	public class BooleanOperationsElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanOperations");
-		private final Keyword cBooleanOperationsKeyword = (Keyword)rule.eContents().get(1);
-		
-		/// * TODO: implement this rule and an appropriate IValueConverter * / BooleanOperations:
-		//
-		//	"BooleanOperations";
-		public ParserRule getRule() { return rule; }
-
-		//"BooleanOperations"
-		public Keyword getBooleanOperationsKeyword() { return cBooleanOperationsKeyword; }
-	}
-
-	public class EBooleanElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBoolean");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Keyword cTrueKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
-		private final Keyword cFalseKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
-		
-		//EBoolean returns ecore::EBoolean:
-		//
-		//	"true" | "false";
-		public ParserRule getRule() { return rule; }
-
-		//"true" | "false"
-		public Alternatives getAlternatives() { return cAlternatives; }
-
-		//"true"
-		public Keyword getTrueKeyword_0() { return cTrueKeyword_0; }
-
-		//"false"
-		public Keyword getFalseKeyword_1() { return cFalseKeyword_1; }
-	}
-
-	public class EBigIntegerElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBigInteger");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
-		
-		//EBigInteger returns ecore::EBigInteger:
-		//
-		//	"-"? INT;
-		public ParserRule getRule() { return rule; }
-
-		//"-"? INT
-		public Group getGroup() { return cGroup; }
-
-		//"-"?
-		public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
-	}
-
-	public class EBigDecimalElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBigDecimal");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
-		
-		//EBigDecimal returns ecore::EBigDecimal:
-		//
-		//	INT? "." INT;
-		public ParserRule getRule() { return rule; }
-
-		//INT? "." INT
-		public Group getGroup() { return cGroup; }
-
-		//INT?
-		public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
-
-		//"."
-		public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_2() { return cINTTerminalRuleCall_2; }
-	}
-
-	public class SampleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Sample");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cSampleKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cProbabilityKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cProbabilityAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cProbabilityEBigDecimalParserRuleCall_3_0 = (RuleCall)cProbabilityAssignment_3.eContents().get(0);
-		private final Keyword cValueKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cValueAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final CrossReference cValueEObjectCrossReference_5_0 = (CrossReference)cValueAssignment_5.eContents().get(0);
-		private final RuleCall cValueEObjectEStringParserRuleCall_5_0_1 = (RuleCall)cValueEObjectCrossReference_5_0.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//Sample:
-		//
-		//	"Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}";
-		public ParserRule getRule() { return rule; }
-
-		//"Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}"
-		public Group getGroup() { return cGroup; }
-
-		//"Sample"
-		public Keyword getSampleKeyword_0() { return cSampleKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"probability"
-		public Keyword getProbabilityKeyword_2() { return cProbabilityKeyword_2; }
-
-		//probability=EBigDecimal
-		public Assignment getProbabilityAssignment_3() { return cProbabilityAssignment_3; }
-
-		//EBigDecimal
-		public RuleCall getProbabilityEBigDecimalParserRuleCall_3_0() { return cProbabilityEBigDecimalParserRuleCall_3_0; }
-
-		//"value"
-		public Keyword getValueKeyword_4() { return cValueKeyword_4; }
-
-		//value=[ecore::EObject|EString]
-		public Assignment getValueAssignment_5() { return cValueAssignment_5; }
-
-		//[ecore::EObject|EString]
-		public CrossReference getValueEObjectCrossReference_5_0() { return cValueEObjectCrossReference_5_0; }
-
-		//EString
-		public RuleCall getValueEObjectEStringParserRuleCall_5_0_1() { return cValueEObjectEStringParserRuleCall_5_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-
-	public class EObjectElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EObject");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cEObjectAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cEObjectKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		
-		//EObject returns ecore::EObject:
-		//
-		//	{ecore::EObject} "EObject";
-		public ParserRule getRule() { return rule; }
-
-		//{ecore::EObject} "EObject"
-		public Group getGroup() { return cGroup; }
-
-		//{ecore::EObject}
-		public Action getEObjectAction_0() { return cEObjectAction_0; }
-
-		//"EObject"
-		public Keyword getEObjectKeyword_1() { return cEObjectKeyword_1; }
-	}
-
-	public class ContinuousSampleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ContinuousSample");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cContinuousSampleKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cValueKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cValueEBigDecimalParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
-		private final Keyword cProbabilityKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cProbabilityAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cProbabilityEBigDecimalParserRuleCall_5_0 = (RuleCall)cProbabilityAssignment_5.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//ContinuousSample:
-		//
-		//	"ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}";
-		public ParserRule getRule() { return rule; }
-
-		//"ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}"
-		public Group getGroup() { return cGroup; }
-
-		//"ContinuousSample"
-		public Keyword getContinuousSampleKeyword_0() { return cContinuousSampleKeyword_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
-
-		//"value"
-		public Keyword getValueKeyword_2() { return cValueKeyword_2; }
-
-		//value=EBigDecimal
-		public Assignment getValueAssignment_3() { return cValueAssignment_3; }
-
-		//EBigDecimal
-		public RuleCall getValueEBigDecimalParserRuleCall_3_0() { return cValueEBigDecimalParserRuleCall_3_0; }
-
-		//"probability"
-		public Keyword getProbabilityKeyword_4() { return cProbabilityKeyword_4; }
-
-		//probability=EBigDecimal
-		public Assignment getProbabilityAssignment_5() { return cProbabilityAssignment_5; }
-
-		//EBigDecimal
-		public RuleCall getProbabilityEBigDecimalParserRuleCall_5_0() { return cProbabilityEBigDecimalParserRuleCall_5_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
-	}
-	
-	
-	private ExplicitFunctionElements pExplicitFunction;
-	private ExpressionElements pExpression;
-	private TermElements pTerm;
-	private ProductElements pProduct;
-	private PowerElements pPower;
-	private UnaryElements pUnary;
-	private BooleanExpressionElements pBooleanExpression;
-	private EStringElements pEString;
-	private TermExpressionElements pTermExpression;
-	private TermExpression2Elements pTermExpression2;
-	private ProductExpressionElements pProductExpression;
-	private ProductExpression2Elements pProductExpression2;
-	private CompareExpressionElements pCompareExpression;
-	private PowerExpressionElements pPowerExpression;
-	private BooleanOperatorExpressionElements pBooleanOperatorExpression;
-	private NotExpressionElements pNotExpression;
-	private NegativeExpressionElements pNegativeExpression;
-	private IfElseExpressionElements pIfElseExpression;
-	private FunctionElements pFunction;
-	private ParenthesisElements pParenthesis;
-	private Literal_ImplElements pLiteral_Impl;
-	private StringLiteralElements pStringLiteral;
-	private BoolLiteralElements pBoolLiteral;
-	private IntLiteralElements pIntLiteral;
-	private DoubleLiteralElements pDoubleLiteral;
-	private FormalParameterElements pFormalParameter;
-	private ProbabilityMassFunctionElements pProbabilityMassFunction;
-	private BoxedPDFElements pBoxedPDF;
-	private NormalDistributionElements pNormalDistribution;
-	private ExponentialDistributionElements pExponentialDistribution;
-	private TermOperationsElements pTermOperations;
-	private ProductOperationsElements pProductOperations;
-	private CompareOperationsElements pCompareOperations;
-	private BooleanOperationsElements pBooleanOperations;
-	private EBooleanElements pEBoolean;
-	private EBigIntegerElements pEBigInteger;
-	private EBigDecimalElements pEBigDecimal;
-	private SampleElements pSample;
-	private EObjectElements pEObject;
-	private ContinuousSampleElements pContinuousSample;
-	
-	private final Grammar grammar;
-
-	private TerminalsGrammarAccess gaTerminals;
-
-	@Inject
-	public MyDsl1GrammarAccess(GrammarProvider grammarProvider,
-		TerminalsGrammarAccess gaTerminals) {
-		this.grammar = internalFindGrammar(grammarProvider);
-		this.gaTerminals = gaTerminals;
-	}
-	
-	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
-		Grammar grammar = grammarProvider.getGrammar(this);
-		while (grammar != null) {
-			if ("org.xtext.example.mydsl1.MyDsl1".equals(grammar.getName())) {
-				return grammar;
-			}
-			List<Grammar> grammars = grammar.getUsedGrammars();
-			if (!grammars.isEmpty()) {
-				grammar = grammars.iterator().next();
-			} else {
-				return null;
-			}
-		}
-		return grammar;
-	}
-	
-	
-	public Grammar getGrammar() {
-		return grammar;
-	}
-	
-
-	public TerminalsGrammarAccess getTerminalsGrammarAccess() {
-		return gaTerminals;
-	}
-
-	
-	//ExplicitFunction:
-	//
-	//	{ExplicitFunction} "ExplicitFunction" "{" ("specification" specification=EString)? ("expression"
-	//
-	//	expression=Expression)? "}";
-	public ExplicitFunctionElements getExplicitFunctionAccess() {
-		return (pExplicitFunction != null) ? pExplicitFunction : (pExplicitFunction = new ExplicitFunctionElements());
-	}
-	
-	public ParserRule getExplicitFunctionRule() {
-		return getExplicitFunctionAccess().getRule();
-	}
-
-	//Expression:
-	//
-	//	TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression
-	//
-	//	| NegativeExpression | IfElseExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral |
-	//
-	//	IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
-	//
-	//	ExponentialDistribution;
-	public ExpressionElements getExpressionAccess() {
-		return (pExpression != null) ? pExpression : (pExpression = new ExpressionElements());
-	}
-	
-	public ParserRule getExpressionRule() {
-		return getExpressionAccess().getRule();
-	}
-
-	//Term:
-	//
-	//	TermExpression | ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis |
-	//
-	//	Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction |
-	//
-	//	BoxedPDF | NormalDistribution | ExponentialDistribution;
-	public TermElements getTermAccess() {
-		return (pTerm != null) ? pTerm : (pTerm = new TermElements());
-	}
-	
-	public ParserRule getTermRule() {
-		return getTermAccess().getRule();
-	}
-
-	//Product:
-	//
-	//	ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl |
-	//
-	//	StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF |
-	//
-	//	NormalDistribution | ExponentialDistribution;
-	public ProductElements getProductAccess() {
-		return (pProduct != null) ? pProduct : (pProduct = new ProductElements());
-	}
-	
-	public ParserRule getProductRule() {
-		return getProductAccess().getRule();
-	}
-
-	//Power:
-	//
-	//	PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral |
-	//
-	//	BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution
-	//
-	//	| ExponentialDistribution;
-	public PowerElements getPowerAccess() {
-		return (pPower != null) ? pPower : (pPower = new PowerElements());
-	}
-	
-	public ParserRule getPowerRule() {
-		return getPowerAccess().getRule();
-	}
-
-	//Unary:
-	//
-	//	NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral
-	//
-	//	| DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution |
-	//
-	//	ExponentialDistribution;
-	public UnaryElements getUnaryAccess() {
-		return (pUnary != null) ? pUnary : (pUnary = new UnaryElements());
-	}
-	
-	public ParserRule getUnaryRule() {
-		return getUnaryAccess().getRule();
-	}
-
-	//BooleanExpression:
-	//
-	//	TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression
-	//
-	//	| NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral |
-	//
-	//	DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution;
-	public BooleanExpressionElements getBooleanExpressionAccess() {
-		return (pBooleanExpression != null) ? pBooleanExpression : (pBooleanExpression = new BooleanExpressionElements());
-	}
-	
-	public ParserRule getBooleanExpressionRule() {
-		return getBooleanExpressionAccess().getRule();
-	}
-
-	//EString returns ecore::EString:
-	//
-	//	STRING | ID;
-	public EStringElements getEStringAccess() {
-		return (pEString != null) ? pEString : (pEString = new EStringElements());
-	}
-	
-	public ParserRule getEStringRule() {
-		return getEStringAccess().getRule();
-	}
-
-	//TermExpression:
-	//
-	//	"TermExpression" "{" TermExpression2 ({TermExpression.left=current} operation=TermOperations right=Product)* "}";
-	public TermExpressionElements getTermExpressionAccess() {
-		return (pTermExpression != null) ? pTermExpression : (pTermExpression = new TermExpressionElements());
-	}
-	
-	public ParserRule getTermExpressionRule() {
-		return getTermExpressionAccess().getRule();
-	}
-
-	//TermExpression2 returns TermExpression:
-	//
-	//	left=Term operation=TermOperations right=Product;
-	public TermExpression2Elements getTermExpression2Access() {
-		return (pTermExpression2 != null) ? pTermExpression2 : (pTermExpression2 = new TermExpression2Elements());
-	}
-	
-	public ParserRule getTermExpression2Rule() {
-		return getTermExpression2Access().getRule();
-	}
-
-	//ProductExpression:
-	//
-	//	"ProductExpression" "{" ProductExpression2 ({ProductExpression.left=current} operation=ProductOperations
-	//
-	//	right=Power)* "}";
-	public ProductExpressionElements getProductExpressionAccess() {
-		return (pProductExpression != null) ? pProductExpression : (pProductExpression = new ProductExpressionElements());
-	}
-	
-	public ParserRule getProductExpressionRule() {
-		return getProductExpressionAccess().getRule();
-	}
-
-	//ProductExpression2 returns ProductExpression:
-	//
-	//	left=Product operation=ProductOperations right=Power;
-	public ProductExpression2Elements getProductExpression2Access() {
-		return (pProductExpression2 != null) ? pProductExpression2 : (pProductExpression2 = new ProductExpression2Elements());
-	}
-	
-	public ParserRule getProductExpression2Rule() {
-		return getProductExpression2Access().getRule();
-	}
-
-	//CompareExpression:
-	//
-	//	"CompareExpression" "{" "operation" operation=CompareOperations "left" left=Term "right" right=Term "}";
-	public CompareExpressionElements getCompareExpressionAccess() {
-		return (pCompareExpression != null) ? pCompareExpression : (pCompareExpression = new CompareExpressionElements());
-	}
-	
-	public ParserRule getCompareExpressionRule() {
-		return getCompareExpressionAccess().getRule();
-	}
-
-	//PowerExpression:
-	//
-	//	"PowerExpression" "{" "base" base=Power "exponent" exponent=Unary "}";
-	public PowerExpressionElements getPowerExpressionAccess() {
-		return (pPowerExpression != null) ? pPowerExpression : (pPowerExpression = new PowerExpressionElements());
-	}
-	
-	public ParserRule getPowerExpressionRule() {
-		return getPowerExpressionAccess().getRule();
-	}
-
-	//BooleanOperatorExpression:
-	//
-	//	"BooleanOperatorExpression" "{" "operation" operation=BooleanOperations "left" left=BooleanExpression "right"
-	//
-	//	right=BooleanExpression "}";
-	public BooleanOperatorExpressionElements getBooleanOperatorExpressionAccess() {
-		return (pBooleanOperatorExpression != null) ? pBooleanOperatorExpression : (pBooleanOperatorExpression = new BooleanOperatorExpressionElements());
-	}
-	
-	public ParserRule getBooleanOperatorExpressionRule() {
-		return getBooleanOperatorExpressionAccess().getRule();
-	}
-
-	//NotExpression:
-	//
-	//	"NotExpression" "{" "inner" inner=Unary "}";
-	public NotExpressionElements getNotExpressionAccess() {
-		return (pNotExpression != null) ? pNotExpression : (pNotExpression = new NotExpressionElements());
-	}
-	
-	public ParserRule getNotExpressionRule() {
-		return getNotExpressionAccess().getRule();
-	}
-
-	//NegativeExpression:
-	//
-	//	"NegativeExpression" "{" "inner" inner=Unary "}";
-	public NegativeExpressionElements getNegativeExpressionAccess() {
-		return (pNegativeExpression != null) ? pNegativeExpression : (pNegativeExpression = new NegativeExpressionElements());
-	}
-	
-	public ParserRule getNegativeExpressionRule() {
-		return getNegativeExpressionAccess().getRule();
-	}
-
-	//IfElseExpression:
-	//
-	//	"IfElseExpression" "{" "ifExpression" ifExpression=BooleanExpression "elseExpression"
-	//
-	//	elseExpression=BooleanExpression "conditionExpression" conditionExpression=BooleanExpression "}";
-	public IfElseExpressionElements getIfElseExpressionAccess() {
-		return (pIfElseExpression != null) ? pIfElseExpression : (pIfElseExpression = new IfElseExpressionElements());
-	}
-	
-	public ParserRule getIfElseExpressionRule() {
-		return getIfElseExpressionAccess().getRule();
-	}
-
-	//Function:
-	//
-	//	"Function" "{" "id" id=EString ("parameters" "{" parameters+=Expression ("," parameters+=Expression)* "}")? "}";
-	public FunctionElements getFunctionAccess() {
-		return (pFunction != null) ? pFunction : (pFunction = new FunctionElements());
-	}
-	
-	public ParserRule getFunctionRule() {
-		return getFunctionAccess().getRule();
-	}
-
-	//Parenthesis:
-	//
-	//	"Parenthesis" "{" "innerExpression" innerExpression=Expression "}";
-	public ParenthesisElements getParenthesisAccess() {
-		return (pParenthesis != null) ? pParenthesis : (pParenthesis = new ParenthesisElements());
-	}
-	
-	public ParserRule getParenthesisRule() {
-		return getParenthesisAccess().getRule();
-	}
-
-	//Literal_Impl returns Literal:
-	//
-	//	{Literal} "Literal";
-	public Literal_ImplElements getLiteral_ImplAccess() {
-		return (pLiteral_Impl != null) ? pLiteral_Impl : (pLiteral_Impl = new Literal_ImplElements());
-	}
-	
-	public ParserRule getLiteral_ImplRule() {
-		return getLiteral_ImplAccess().getRule();
-	}
-
-	//StringLiteral:
-	//
-	//	"StringLiteral" "{" "value" value=EString "}";
-	public StringLiteralElements getStringLiteralAccess() {
-		return (pStringLiteral != null) ? pStringLiteral : (pStringLiteral = new StringLiteralElements());
-	}
-	
-	public ParserRule getStringLiteralRule() {
-		return getStringLiteralAccess().getRule();
-	}
-
-	//BoolLiteral:
-	//
-	//	value?="value" "BoolLiteral";
-	public BoolLiteralElements getBoolLiteralAccess() {
-		return (pBoolLiteral != null) ? pBoolLiteral : (pBoolLiteral = new BoolLiteralElements());
-	}
-	
-	public ParserRule getBoolLiteralRule() {
-		return getBoolLiteralAccess().getRule();
-	}
-
-	//IntLiteral:
-	//
-	//	"IntLiteral" "{" "value" value=EBigInteger "}";
-	public IntLiteralElements getIntLiteralAccess() {
-		return (pIntLiteral != null) ? pIntLiteral : (pIntLiteral = new IntLiteralElements());
-	}
-	
-	public ParserRule getIntLiteralRule() {
-		return getIntLiteralAccess().getRule();
-	}
-
-	//DoubleLiteral:
-	//
-	//	"DoubleLiteral" "{" "value" value=EBigDecimal "}";
-	public DoubleLiteralElements getDoubleLiteralAccess() {
-		return (pDoubleLiteral != null) ? pDoubleLiteral : (pDoubleLiteral = new DoubleLiteralElements());
-	}
-	
-	public ParserRule getDoubleLiteralRule() {
-		return getDoubleLiteralAccess().getRule();
-	}
-
-	//FormalParameter:
-	//
-	//	{FormalParameter} "FormalParameter" name=EString;
-	public FormalParameterElements getFormalParameterAccess() {
-		return (pFormalParameter != null) ? pFormalParameter : (pFormalParameter = new FormalParameterElements());
-	}
-	
-	public ParserRule getFormalParameterRule() {
-		return getFormalParameterAccess().getRule();
-	}
-
-	//ProbabilityMassFunction:
-	//
-	//	{ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* "}")? "}";
-	public ProbabilityMassFunctionElements getProbabilityMassFunctionAccess() {
-		return (pProbabilityMassFunction != null) ? pProbabilityMassFunction : (pProbabilityMassFunction = new ProbabilityMassFunctionElements());
-	}
-	
-	public ParserRule getProbabilityMassFunctionRule() {
-		return getProbabilityMassFunctionAccess().getRule();
-	}
-
-	//BoxedPDF:
-	//
-	//	{BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}";
-	public BoxedPDFElements getBoxedPDFAccess() {
-		return (pBoxedPDF != null) ? pBoxedPDF : (pBoxedPDF = new BoxedPDFElements());
-	}
-	
-	public ParserRule getBoxedPDFRule() {
-		return getBoxedPDFAccess().getRule();
-	}
-
-	//NormalDistribution:
-	//
-	//	"NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}";
-	public NormalDistributionElements getNormalDistributionAccess() {
-		return (pNormalDistribution != null) ? pNormalDistribution : (pNormalDistribution = new NormalDistributionElements());
-	}
-	
-	public ParserRule getNormalDistributionRule() {
-		return getNormalDistributionAccess().getRule();
-	}
-
-	//ExponentialDistribution:
-	//
-	//	"ExponentialDistribution" "{" "rate" rate=EBigDecimal "}";
-	public ExponentialDistributionElements getExponentialDistributionAccess() {
-		return (pExponentialDistribution != null) ? pExponentialDistribution : (pExponentialDistribution = new ExponentialDistributionElements());
-	}
-	
-	public ParserRule getExponentialDistributionRule() {
-		return getExponentialDistributionAccess().getRule();
-	}
-
-	/// * TODO: implement this rule and an appropriate IValueConverter * / TermOperations:
-	//
-	//	"TermOperations";
-	public TermOperationsElements getTermOperationsAccess() {
-		return (pTermOperations != null) ? pTermOperations : (pTermOperations = new TermOperationsElements());
-	}
-	
-	public ParserRule getTermOperationsRule() {
-		return getTermOperationsAccess().getRule();
-	}
-
-	/// * TODO: implement this rule and an appropriate IValueConverter * / ProductOperations:
-	//
-	//	"ProductOperations";
-	public ProductOperationsElements getProductOperationsAccess() {
-		return (pProductOperations != null) ? pProductOperations : (pProductOperations = new ProductOperationsElements());
-	}
-	
-	public ParserRule getProductOperationsRule() {
-		return getProductOperationsAccess().getRule();
-	}
-
-	/// * TODO: implement this rule and an appropriate IValueConverter * / CompareOperations:
-	//
-	//	"CompareOperations";
-	public CompareOperationsElements getCompareOperationsAccess() {
-		return (pCompareOperations != null) ? pCompareOperations : (pCompareOperations = new CompareOperationsElements());
-	}
-	
-	public ParserRule getCompareOperationsRule() {
-		return getCompareOperationsAccess().getRule();
-	}
-
-	/// * TODO: implement this rule and an appropriate IValueConverter * / BooleanOperations:
-	//
-	//	"BooleanOperations";
-	public BooleanOperationsElements getBooleanOperationsAccess() {
-		return (pBooleanOperations != null) ? pBooleanOperations : (pBooleanOperations = new BooleanOperationsElements());
-	}
-	
-	public ParserRule getBooleanOperationsRule() {
-		return getBooleanOperationsAccess().getRule();
-	}
-
-	//EBoolean returns ecore::EBoolean:
-	//
-	//	"true" | "false";
-	public EBooleanElements getEBooleanAccess() {
-		return (pEBoolean != null) ? pEBoolean : (pEBoolean = new EBooleanElements());
-	}
-	
-	public ParserRule getEBooleanRule() {
-		return getEBooleanAccess().getRule();
-	}
-
-	//EBigInteger returns ecore::EBigInteger:
-	//
-	//	"-"? INT;
-	public EBigIntegerElements getEBigIntegerAccess() {
-		return (pEBigInteger != null) ? pEBigInteger : (pEBigInteger = new EBigIntegerElements());
-	}
-	
-	public ParserRule getEBigIntegerRule() {
-		return getEBigIntegerAccess().getRule();
-	}
-
-	//EBigDecimal returns ecore::EBigDecimal:
-	//
-	//	INT? "." INT;
-	public EBigDecimalElements getEBigDecimalAccess() {
-		return (pEBigDecimal != null) ? pEBigDecimal : (pEBigDecimal = new EBigDecimalElements());
-	}
-	
-	public ParserRule getEBigDecimalRule() {
-		return getEBigDecimalAccess().getRule();
-	}
-
-	//Sample:
-	//
-	//	"Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}";
-	public SampleElements getSampleAccess() {
-		return (pSample != null) ? pSample : (pSample = new SampleElements());
-	}
-	
-	public ParserRule getSampleRule() {
-		return getSampleAccess().getRule();
-	}
-
-	//EObject returns ecore::EObject:
-	//
-	//	{ecore::EObject} "EObject";
-	public EObjectElements getEObjectAccess() {
-		return (pEObject != null) ? pEObject : (pEObject = new EObjectElements());
-	}
-	
-	public ParserRule getEObjectRule() {
-		return getEObjectAccess().getRule();
-	}
-
-	//ContinuousSample:
-	//
-	//	"ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}";
-	public ContinuousSampleElements getContinuousSampleAccess() {
-		return (pContinuousSample != null) ? pContinuousSample : (pContinuousSample = new ContinuousSampleElements());
-	}
-	
-	public ParserRule getContinuousSampleRule() {
-		return getContinuousSampleAccess().getRule();
-	}
-
-	//terminal ID:
-	//
-	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
-	public TerminalRule getIDRule() {
-		return gaTerminals.getIDRule();
-	} 
-
-	//terminal INT returns ecore::EInt:
-	//
-	//	"0".."9"+;
-	public TerminalRule getINTRule() {
-		return gaTerminals.getINTRule();
-	} 
-
-	//terminal STRING:
-	//
-	//	"\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
-	//
-	//	"n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
-	public TerminalRule getSTRINGRule() {
-		return gaTerminals.getSTRINGRule();
-	} 
-
-	//terminal ML_COMMENT:
-	//
-	//	"/ *"->"* /";
-	public TerminalRule getML_COMMENTRule() {
-		return gaTerminals.getML_COMMENTRule();
-	} 
-
-	//terminal SL_COMMENT:
-	//
-	//	"//" !("\n" | "\r")* ("\r"? "\n")?;
-	public TerminalRule getSL_COMMENTRule() {
-		return gaTerminals.getSL_COMMENTRule();
-	} 
-
-	//terminal WS:
-	//
-	//	(" " | "\t" | "\r" | "\n")+;
-	public TerminalRule getWSRule() {
-		return gaTerminals.getWSRule();
-	} 
-
-	//terminal ANY_OTHER:
-	//
-	//	.;
-	public TerminalRule getANY_OTHERRule() {
-		return gaTerminals.getANY_OTHERRule();
-	} 
-}
diff --git a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/validation/AbstractMyDsl1JavaValidator.java b/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/validation/AbstractMyDsl1JavaValidator.java
deleted file mode 100644
index 2d248620b757e342bf3ab4d4db79cf5360828d96..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src-gen/org/xtext/example/mydsl1/validation/AbstractMyDsl1JavaValidator.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.xtext.example.mydsl1.validation;
- 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
-
-public class AbstractMyDsl1JavaValidator extends AbstractDeclarativeValidator {
-
-	@Override
-	protected List<EPackage> getEPackages() {
-	    List<EPackage> result = new ArrayList<EPackage>();
-	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/functions/0.1"));
-	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/emf/2002/Ecore"));
-		return result;
-	}
-
-}
diff --git a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/GenerateMyDsl1.mwe2 b/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/GenerateMyDsl1.mwe2
deleted file mode 100644
index 2d7cf2f907135c0078a05491161802df6a41601d..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/GenerateMyDsl1.mwe2
+++ /dev/null
@@ -1,121 +0,0 @@
-module org.xtext.example.mydsl1.MyDsl1
-
-import org.eclipse.emf.mwe.utils.*
-import org.eclipse.xtext.generator.*
-import org.eclipse.xtext.ui.generator.*
-
-var grammarURI = "classpath:/org/xtext/example/mydsl1/MyDsl1.xtext"
-var file.extensions = "mydsl1"
-var projectName = "org.xtext.example.mydsl1"
-var runtimeProject = "../${projectName}"
-
-Workflow {
-	bean = StandaloneSetup {
-		scanClassPath  = true
-		platformUri = "${runtimeProject}/.."
-	registerGeneratedEPackage = "functions.FunctionsPackage"
-	registerGeneratedEPackage = "identifier.IdentifierPackage"
-	registerGeneratedEPackage = "core.CorePackage"
-	registerGeneratedEPackage = "servicebehavior.ServicebehaviorPackage"
-	registerGeneratedEPackage = "repository.RepositoryPackage"
-	registerGeneratedEPackage = "parameterdependencies.ParameterdependenciesPackage"
-	// registerGenModelFile = "platform:/resource/edu.kit.ipd.descartes.mm.applicationlevel/model/functions.genmodel"
-	
-	}
-
-	component = DirectoryCleaner {
-		directory = "${runtimeProject}/src-gen"
-	}
-
-	component = DirectoryCleaner {
-		directory = "${runtimeProject}.ui/src-gen"
-	}
-
-	component = Generator {
-		pathRtProject = runtimeProject
-		pathUiProject = "${runtimeProject}.ui"
-		projectNameRt = projectName
-		projectNameUi = "${projectName}.ui"
-		language = {
-			uri = grammarURI
-			fileExtensions = file.extensions
-
-			// Java API to access grammar elements (required by several other fragments)
-			fragment = grammarAccess.GrammarAccessFragment {}
-
-			// generates Java API for the generated EPackages
-			// fragment = ecore.EcoreGeneratorFragment {}
-
-			// the serialization component
-			fragment = parseTreeConstructor.ParseTreeConstructorFragment {}
-
-			// a custom ResourceFactory for use with EMF 
-			fragment = resourceFactory.ResourceFactoryFragment {
-				fileExtensions = file.extensions
-			}
-
-			// the Antlr parser
-			fragment = parser.antlr.XtextAntlrGeneratorFragment {
-				options = {
-					classSplitting = true
-				}
-			}
-
-			// the Ecore2Xtext specific terminal converter
-			fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment {}
-
-			// java-based API for validation 
-			fragment = validation.JavaValidatorFragment {
-			// composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-			// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
-			}
-
-			// scoping and exporting API
-			fragment = scoping.ImportURIScopingFragment {}
-			fragment = exporting.SimpleNamesFragment {}
-
-			// scoping and exporting API 
-
-			// fragment = scoping.ImportNamespacesScopingFragment {}
-			// fragment = exporting.QualifiedNamesFragment {}
-
-
-			// formatter API 
-			fragment = ecore2xtext.FormatterFragment {}
-
-			// labeling API 
-			fragment = labeling.LabelProviderFragment {}
-
-			// outline API 
-            fragment = outline.OutlineTreeProviderFragment {}
-            fragment = outline.QuickOutlineFragment {}
-
-			// java-based API for content assistance 
-			fragment = contentAssist.JavaBasedContentAssistFragment {}
-
-			// antlr parser generator tailored for content assist 
-			fragment = parser.antlr.XtextAntlrUiGeneratorFragment {
-				options = {
-					classSplitting = true
-				}
-			}
-
-			// provides a compare view
-            fragment = compare.CompareFragment {
-                fileExtensions = file.extensions
-            }
-
-			fragment = builder.BuilderIntegrationFragment {}
-
-			// project wizard (optional) 
-
-			// fragment = projectWizard.SimpleProjectWizardFragment {
-			//		generatorProjectName = "${projectName}.generator" 
-			//		modelFileExtension = file.extensions
-			// }
-
-			// quickfix API 
-			fragment = quickfix.QuickfixProviderFragment {}
-		}
-	}
-}
diff --git a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/MyDsl1.xtext b/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/MyDsl1.xtext
deleted file mode 100644
index ada83ed1c45a47d6ed920808b4a96252b1086005..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/MyDsl1.xtext
+++ /dev/null
@@ -1,224 +0,0 @@
-// automatically generated by Xtext
-grammar org.xtext.example.mydsl1.MyDsl1 with org.eclipse.xtext.common.Terminals
-
-import "http://www.descartes-research.net/metamodel/functions/0.1" 
-import "http://www.eclipse.org/emf/2002/Ecore" as ecore
-import "http://www.descartes-research.net/identifier/0.1" as identifier
-import "http://www.descartes-research.net/metamodel/core/0.1" as core
-import "http://www.descartes-research.net/metamodel/servicebehavior/0.1" as servicebehavior
-import "http://www.descartes-research.net/metamodel/repository/0.1" as repository
-import "http://www.descartes-research.net/metamodel/parameterdependencies/0.1" as parameterdependencies
-
-ExplicitFunction returns ExplicitFunction:
-	{ExplicitFunction}
-	'ExplicitFunction'
-	'{'
-		('specification' specification=EString)?
-		('expression' expression=Expression)?
-	'}';
-
-Expression returns Expression:
-	TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression | NegativeExpression | IfElseExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution;
-
-Term returns Term:
-	TermExpression | ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution;
-
-Product returns Product:
-	ProductExpression | PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution;
-
-Power returns Power:
-	PowerExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution;
-
-Unary returns Unary:
-	NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution;
-
-BooleanExpression returns BooleanExpression:
-	TermExpression | ProductExpression | CompareExpression | PowerExpression | BooleanOperatorExpression | NotExpression | NegativeExpression | Function | Parenthesis | Literal_Impl | StringLiteral | BoolLiteral | IntLiteral | DoubleLiteral | FormalParameter | ProbabilityMassFunction | BoxedPDF | NormalDistribution | ExponentialDistribution;
-
-
-
-
-EString returns ecore::EString:
-	STRING | ID;
-
-TermExpression returns TermExpression:
-	'TermExpression' '{'
-		TermExpression2 ({TermExpression.left=current} 
-	operation=TermOperations
- 	right=Product)*
-		'}'; 		
-		
-TermExpression2 returns TermExpression:
-		left=Term 
-		operation=TermOperations
-		right=Product;
-		
-ProductExpression returns ProductExpression:
-	'ProductExpression'
-	'{'
-	ProductExpression2 ({ProductExpression.left=current} 
-	operation=ProductOperations
- 	right=Power)*
-	'}';
-
-ProductExpression2 returns ProductExpression:
-	left=Product
-	operation=ProductOperations
-	right=Power;
-
-
-CompareExpression returns CompareExpression:
-	'CompareExpression'
-	'{'
-		'operation' operation=CompareOperations
-		'left' left=Term
-		'right' right=Term
-	'}';
-
-PowerExpression returns PowerExpression:
-	'PowerExpression'
-	'{'
-		'base' base=Power
-		'exponent' exponent=Unary
-	'}';
-
-BooleanOperatorExpression returns BooleanOperatorExpression:
-	'BooleanOperatorExpression'
-	'{'
-		'operation' operation=BooleanOperations
-		'left' left=BooleanExpression
-		'right' right=BooleanExpression
-	'}';
-
-NotExpression returns NotExpression:
-	'NotExpression'
-	'{'
-		'inner' inner=Unary
-	'}';
-
-NegativeExpression returns NegativeExpression:
-	'NegativeExpression'
-	'{'
-		'inner' inner=Unary
-	'}';
-
-IfElseExpression returns IfElseExpression:
-	'IfElseExpression'
-	'{'
-		'ifExpression' ifExpression=BooleanExpression
-		'elseExpression' elseExpression=BooleanExpression
-		'conditionExpression' conditionExpression=BooleanExpression
-	'}';
-
-Function returns Function:
-	'Function'
-	'{'
-		'id' id=EString
-		('parameters' '{' parameters+=Expression ( "," parameters+=Expression)* '}' )?
-	'}';
-
-Parenthesis returns Parenthesis:
-	'Parenthesis'
-	'{'
-		'innerExpression' innerExpression=Expression
-	'}';
-
-Literal_Impl returns Literal:
-	{Literal}
-	'Literal'
-	;
-
-StringLiteral returns StringLiteral:
-	'StringLiteral'
-	'{'
-		'value' value=EString
-	'}';
-
-BoolLiteral returns BoolLiteral:
-	value?='value'
-	'BoolLiteral'
-	;
-
-IntLiteral returns IntLiteral:
-	'IntLiteral'
-	'{'
-		'value' value=EBigInteger
-	'}';
-
-DoubleLiteral returns DoubleLiteral:
-	'DoubleLiteral'
-	'{'
-		'value' value=EBigDecimal
-	'}';
-
-FormalParameter returns FormalParameter:
-	{FormalParameter}
-	'FormalParameter'
-	name=EString;
-
-ProbabilityMassFunction returns ProbabilityMassFunction:
-	{ProbabilityMassFunction}
-	'ProbabilityMassFunction'
-	'{'
-		('sample' '{' sample+=Sample ( "," sample+=Sample)* '}' )?
-	'}';
-
-BoxedPDF returns BoxedPDF:
-	{BoxedPDF}
-	'BoxedPDF'
-	'{'
-		('sample' '{' sample+=ContinuousSample ( "," sample+=ContinuousSample)* '}' )?
-	'}';
-
-NormalDistribution returns NormalDistribution:
-	'NormalDistribution'
-	'{'
-		'mu' mu=EBigDecimal
-		'sigma' sigma=EBigDecimal
-	'}';
-
-ExponentialDistribution returns ExponentialDistribution:
-	'ExponentialDistribution'
-	'{'
-		'rate' rate=EBigDecimal
-	'}';
-
-TermOperations returns TermOperations:
-	'TermOperations' /* TODO: implement this rule and an appropriate IValueConverter */;
-
-ProductOperations returns ProductOperations:
-	'ProductOperations' /* TODO: implement this rule and an appropriate IValueConverter */;
-
-CompareOperations returns CompareOperations:
-	'CompareOperations' /* TODO: implement this rule and an appropriate IValueConverter */;
-
-BooleanOperations returns BooleanOperations:
-	'BooleanOperations' /* TODO: implement this rule and an appropriate IValueConverter */;
-
-EBoolean returns ecore::EBoolean:
-	'true' | 'false';
-
-EBigInteger returns ecore::EBigInteger:
-	'-'? INT;
-
-EBigDecimal returns ecore::EBigDecimal:
-	INT? '.' INT;
-
-Sample returns Sample:
-	'Sample'
-	'{'
-		'probability' probability=EBigDecimal
-		'value' value=[ecore::EObject|EString]
-	'}';
-
-EObject returns ecore::EObject:
-	{ecore::EObject}
-	'EObject'
-	;
-
-ContinuousSample returns ContinuousSample:
-	'ContinuousSample'
-	'{'
-		'value' value=EBigDecimal
-		'probability' probability=EBigDecimal
-	'}';
diff --git a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/MyDsl1RuntimeModule.java b/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/MyDsl1RuntimeModule.java
deleted file mode 100644
index 0a96d932a465973a3fcd9aef669e2bec99b7c345..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/MyDsl1RuntimeModule.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl1;
-
-/**
- * Use this class to register components to be used at runtime / without the Equinox extension registry.
- */
-public class MyDsl1RuntimeModule extends org.xtext.example.mydsl1.AbstractMyDsl1RuntimeModule {
-
-}
diff --git a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/MyDsl1StandaloneSetup.java b/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/MyDsl1StandaloneSetup.java
deleted file mode 100644
index e83a07d05cc52a9abc9a75df893dac7a71cfa703..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/MyDsl1StandaloneSetup.java
+++ /dev/null
@@ -1,14 +0,0 @@
-
-package org.xtext.example.mydsl1;
-
-/**
- * Initialization support for running Xtext languages 
- * without equinox extension registry
- */
-public class MyDsl1StandaloneSetup extends MyDsl1StandaloneSetupGenerated{
-
-	public static void doSetup() {
-		new MyDsl1StandaloneSetup().createInjectorAndDoEMFRegistration();
-	}
-}
-
diff --git a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/formatting/MyDsl1Formatter.java b/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/formatting/MyDsl1Formatter.java
deleted file mode 100644
index d4b360a39707a5e44c61b6f0d9d8fb62a57647bd..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/formatting/MyDsl1Formatter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl1.formatting;
-
-import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter;
-import org.eclipse.xtext.formatting.impl.FormattingConfig;
-import org.eclipse.xtext.Keyword;
-import org.eclipse.xtext.util.Pair;
-
-/**
- * This class contains custom formatting description.
- * 
- * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#formatting
- * on how and when to use it 
- * 
- * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
- */
-public class MyDsl1Formatter extends AbstractDeclarativeFormatter {
-	
-	@Override
-	protected void configureFormatting(FormattingConfig c) {
-		org.xtext.example.mydsl1.services.MyDsl1GrammarAccess f = (org.xtext.example.mydsl1.services.MyDsl1GrammarAccess) getGrammarAccess();
-		for(Pair<Keyword, Keyword> pair: f.findKeywordPairs("{", "}")) {
-			c.setIndentation(pair.getFirst(), pair.getSecond());
-			c.setLinewrap(1).after(pair.getFirst());
-			c.setLinewrap(1).before(pair.getSecond());
-			c.setLinewrap(1).after(pair.getSecond());
-		}
-		for(Keyword comma: f.findKeywords(",")) {
-			c.setNoLinewrap().before(comma);
-			c.setNoSpace().before(comma);
-			c.setLinewrap().after(comma);
-		}
-		c.setLinewrap(0, 1, 2).before(f.getSL_COMMENTRule());
-		c.setLinewrap(0, 1, 2).before(f.getML_COMMENTRule());
-		c.setLinewrap(0, 1, 1).after(f.getML_COMMENTRule());
-	}
-}
diff --git a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/scoping/MyDsl1ScopeProvider.java b/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/scoping/MyDsl1ScopeProvider.java
deleted file mode 100644
index 8e4af41df8db8cc035a7b469f88aef4f3aeee29a..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/scoping/MyDsl1ScopeProvider.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * generated by Xtext
- */
-package org.xtext.example.mydsl1.scoping;
-
-import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
-
-/**
- * This class contains custom scoping description.
- * 
- * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#scoping
- * on how and when to use it 
- *
- */
-public class MyDsl1ScopeProvider extends AbstractDeclarativeScopeProvider {
-
-}
diff --git a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/validation/MyDsl1JavaValidator.java b/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/validation/MyDsl1JavaValidator.java
deleted file mode 100644
index 0b3db559097a296ac3536b89f1b1f6038459639f..0000000000000000000000000000000000000000
--- a/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/validation/MyDsl1JavaValidator.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.xtext.example.mydsl1.validation;
- 
-
-public class MyDsl1JavaValidator extends AbstractMyDsl1JavaValidator {
-
-//	@Check
-//	public void checkGreetingStartsWithCapital(Greeting greeting) {
-//		if (!Character.isUpperCase(greeting.getName().charAt(0))) {
-//			warning("Name should start with a capital", MyDslPackage.Literals.GREETING__NAME);
-//		}
-//	}
-
-}